diff options
| author | android-build-team Robot <android-build-team-robot@google.com> | 2020-06-17 01:05:00 +0000 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-06-17 01:05:00 +0000 |
| commit | f1ec922bba802b748cc6f750f080a55727277cfc (patch) | |
| tree | cd7349c75b671e0c438b0d1df8a42955f5a57e4a | |
| parent | 1c10922ce2ada2b77e839d91de7d5c50365df7b6 (diff) | |
| parent | 3c5e96a779f7d381e7bf553731b19c63831c9cf1 (diff) | |
| download | platform_packages_apps_Car_Radio-android11-tests-release.tar.gz platform_packages_apps_Car_Radio-android11-tests-release.tar.bz2 platform_packages_apps_Car_Radio-android11-tests-release.zip | |
Snap for 6596975 from 3c5e96a779f7d381e7bf553731b19c63831c9cf1 to rvc-releaseandroid-vts-11.0_r1android-cts-11.0_r1android-11.0.0_r3android-11.0.0_r2android-11.0.0_r17android-11.0.0_r1android11-tests-releaseandroid11-release
Change-Id: Ifbd68dccb0c872dcb6be515c6e5b5f706918c734
| -rw-r--r-- | res/layout/radio_activity.xml | 13 | ||||
| -rw-r--r-- | res/values/themes.xml | 2 | ||||
| -rw-r--r-- | src/com/android/car/radio/BrowseFragment.java | 24 | ||||
| -rw-r--r-- | src/com/android/car/radio/FavoritesFragment.java | 24 | ||||
| -rw-r--r-- | src/com/android/car/radio/ManualTunerFragment.java | 21 | ||||
| -rw-r--r-- | src/com/android/car/radio/RadioActivity.java | 23 |
6 files changed, 88 insertions, 19 deletions
diff --git a/res/layout/radio_activity.xml b/res/layout/radio_activity.xml index f54c6ac..bd92a9a 100644 --- a/res/layout/radio_activity.xml +++ b/res/layout/radio_activity.xml @@ -26,15 +26,6 @@ limitations under the License. android:orientation="horizontal" app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_first_row_height" /> - <com.android.car.ui.toolbar.Toolbar - android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="wrap_content" - app:title="@string/app_name" - app:layout_constraintTop_toTopOf="parent" - app:logo="@drawable/logo_fm_radio" - app:car_ui_state="home"/> - <androidx.viewpager.widget.ViewPager android:id="@+id/viewpager" android:layout_width="@dimen/radio_activity_pager_size" @@ -43,14 +34,14 @@ limitations under the License. android:layout_weight="@integer/radio_activity_view_weight" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@+id/toolbar" + app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/main_radio_display" /> <TextView android:id="@+id/status_message" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@+id/toolbar" + app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/main_radio_display" android:visibility="gone" style="@style/RadioStatusMessage" /> diff --git a/res/values/themes.xml b/res/values/themes.xml index 1c88003..90fdf5d 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -15,7 +15,7 @@ limitations under the License. --> <resources> <!--Theme for the app. --> - <style name="Theme.Radio" parent="android:Theme.DeviceDefault.NoActionBar"> + <style name="Theme.Radio" parent="Theme.CarUi.WithToolbar"> <item name="textAppearanceGridItem">@android:style/TextAppearance.DeviceDefault.Medium</item> <item name="textAppearanceGridItemSecondary">@android:style/TextAppearance.DeviceDefault.Small</item> </style> diff --git a/src/com/android/car/radio/BrowseFragment.java b/src/com/android/car/radio/BrowseFragment.java index 4661df3..f81fc1d 100644 --- a/src/com/android/car/radio/BrowseFragment.java +++ b/src/com/android/car/radio/BrowseFragment.java @@ -16,6 +16,8 @@ package com.android.car.radio; +import static com.android.car.ui.core.CarUi.requireInsets; + import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; @@ -28,11 +30,13 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.car.broadcastradio.support.Program; import com.android.car.radio.storage.RadioStorage; +import com.android.car.ui.baselayout.Insets; +import com.android.car.ui.baselayout.InsetsChangedListener; /** * Fragment that shows all browseable radio stations from background scan */ -public class BrowseFragment extends Fragment { +public class BrowseFragment extends Fragment implements InsetsChangedListener { private RadioController mRadioController; private BrowseAdapter mBrowseAdapter; @@ -76,6 +80,24 @@ public class BrowseFragment extends Fragment { } } + @Override + public void onCarUiInsetsChanged(Insets insets) { + View view = requireView(); + View recyclerView = view.findViewById(R.id.browse_list); + recyclerView.setPadding(insets.getLeft(), + insets.getTop(), + insets.getRight(), + insets.getBottom()); + } + + @Override + public void onStart() { + super.onStart(); + + // This is needed to apply the inset changes that happened before this fragment was visible + onCarUiInsetsChanged(requireInsets(getActivity())); + } + private void handlePresetItemFavoriteChanged(Program program, boolean saveAsFavorite) { if (saveAsFavorite) { mRadioStorage.addFavorite(program); diff --git a/src/com/android/car/radio/FavoritesFragment.java b/src/com/android/car/radio/FavoritesFragment.java index 3154dba..218a318 100644 --- a/src/com/android/car/radio/FavoritesFragment.java +++ b/src/com/android/car/radio/FavoritesFragment.java @@ -16,6 +16,8 @@ package com.android.car.radio; +import static com.android.car.ui.core.CarUi.requireInsets; + import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; @@ -28,11 +30,13 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.car.broadcastradio.support.Program; import com.android.car.radio.storage.RadioStorage; +import com.android.car.ui.baselayout.Insets; +import com.android.car.ui.baselayout.InsetsChangedListener; /** * Fragment that shows a list of all the current favorite radio stations */ -public class FavoritesFragment extends Fragment { +public class FavoritesFragment extends Fragment implements InsetsChangedListener { private RadioController mRadioController; private BrowseAdapter mBrowseAdapter; @@ -76,6 +80,24 @@ public class FavoritesFragment extends Fragment { } } + @Override + public void onCarUiInsetsChanged(Insets insets) { + View view = requireView(); + View recyclerView = view.findViewById(R.id.browse_list); + recyclerView.setPadding(insets.getLeft(), + insets.getTop(), + insets.getRight(), + insets.getBottom()); + } + + @Override + public void onStart() { + super.onStart(); + + // This is needed to apply the inset changes that happened before this fragment was visible + onCarUiInsetsChanged(requireInsets(getActivity())); + } + private void handlePresetItemFavoriteChanged(Program program, boolean saveAsFavorite) { if (saveAsFavorite) { mRadioStorage.addFavorite(program); diff --git a/src/com/android/car/radio/ManualTunerFragment.java b/src/com/android/car/radio/ManualTunerFragment.java index 737edb9..9fe6bcc 100644 --- a/src/com/android/car/radio/ManualTunerFragment.java +++ b/src/com/android/car/radio/ManualTunerFragment.java @@ -16,6 +16,8 @@ package com.android.car.radio; +import static com.android.car.ui.core.CarUi.requireInsets; + import android.hardware.radio.RadioManager.ProgramInfo; import android.os.Bundle; import android.view.LayoutInflater; @@ -25,11 +27,13 @@ import android.view.ViewGroup; import androidx.fragment.app.Fragment; import com.android.car.radio.bands.ProgramType; +import com.android.car.ui.baselayout.Insets; +import com.android.car.ui.baselayout.InsetsChangedListener; /** * Fragment that allows tuning to a specific frequency using a keypad */ -public class ManualTunerFragment extends Fragment { +public class ManualTunerFragment extends Fragment implements InsetsChangedListener { private ManualTunerController mController; private RadioController mRadioController; @@ -57,6 +61,21 @@ public class ManualTunerFragment extends Fragment { } } + @Override + public void onCarUiInsetsChanged(Insets insets) { + View view = requireView(); + view.setPadding(insets.getLeft(), insets.getTop(), + insets.getRight(), insets.getBottom()); + } + + @Override + public void onStart() { + super.onStart(); + + // This is needed to apply the inset changes that happened before this fragment was visible + onCarUiInsetsChanged(requireInsets(getActivity())); + } + static ManualTunerFragment newInstance(RadioController radioController) { ManualTunerFragment fragment = new ManualTunerFragment(); fragment.mRadioController = radioController; diff --git a/src/com/android/car/radio/RadioActivity.java b/src/com/android/car/radio/RadioActivity.java index 434afc1..73582b5 100644 --- a/src/com/android/car/radio/RadioActivity.java +++ b/src/com/android/car/radio/RadioActivity.java @@ -18,6 +18,9 @@ package com.android.car.radio; import static android.car.media.CarMediaManager.MEDIA_SOURCE_MODE_BROWSE; +import static com.android.car.ui.core.CarUi.requireToolbar; +import static com.android.car.ui.toolbar.Toolbar.State.HOME; + import android.car.Car; import android.content.Intent; import android.graphics.drawable.Drawable; @@ -32,9 +35,11 @@ import com.android.car.media.common.source.MediaSource; import com.android.car.media.common.source.MediaSourceViewModel; import com.android.car.radio.bands.ProgramType; import com.android.car.radio.util.Log; +import com.android.car.ui.baselayout.Insets; +import com.android.car.ui.baselayout.InsetsChangedListener; import com.android.car.ui.toolbar.MenuItem; import com.android.car.ui.toolbar.TabLayout; -import com.android.car.ui.toolbar.Toolbar; +import com.android.car.ui.toolbar.ToolbarController; import java.util.Arrays; import java.util.List; @@ -42,7 +47,7 @@ import java.util.List; /** * The main activity for the radio app. */ -public class RadioActivity extends FragmentActivity { +public class RadioActivity extends FragmentActivity implements InsetsChangedListener { private static final String TAG = "BcRadioApp.activity"; /** @@ -59,10 +64,17 @@ public class RadioActivity extends FragmentActivity { private RadioController mRadioController; private BandController mBandController = new BandController(); - private Toolbar mToolbar; + private ToolbarController mToolbar; private RadioPagerAdapter mRadioPagerAdapter; @Override + public void onCarUiInsetsChanged(Insets insets) { + // This InsetsChangedListener is just a marker that we will later handle + // insets in fragments, since the fragments aren't added immediately. + // Otherwise CarUi will apply the insets to the content view incorrectly. + } + + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -84,7 +96,10 @@ public class RadioActivity extends FragmentActivity { ViewPager viewPager = findViewById(R.id.viewpager); viewPager.setAdapter(mRadioPagerAdapter); - mToolbar = requireViewById(R.id.toolbar); + mToolbar = requireToolbar(this); + mToolbar.setState(HOME); + mToolbar.setTitle(R.string.app_name); + mToolbar.setLogo(R.drawable.logo_fm_radio); mToolbar.registerOnTabSelectedListener(t -> viewPager.setCurrentItem(mToolbar.getTabLayout().getTabPosition(t))); |
