From 0734043a331b68729a4d828bbf4f49faf3c62415 Mon Sep 17 00:00:00 2001 From: Robert Snoeberger Date: Fri, 19 Jun 2020 17:33:48 -0400 Subject: [PATCH] Reduce device fallback to just icon Fixes: 159231146 Test: manual - Cast YouTube and look at output switcher chip in player. Verify that there is only a Cast icon. Change-Id: I9dcd5f642e3f7400a9442c05b5de0566704af38a --- .../res/drawable/ic_hardware_speaker.xml | 24 --------------- packages/SystemUI/res/layout/media_view.xml | 17 +++++++++++ packages/SystemUI/res/values/dimens.xml | 3 ++ packages/SystemUI/res/xml/media_collapsed.xml | 14 ++++++++- packages/SystemUI/res/xml/media_expanded.xml | 14 ++++++++- .../systemui/media/MediaControlPanel.java | 29 +++++++++---------- .../systemui/media/PlayerViewHolder.kt | 1 + .../systemui/media/MediaControlPanelTest.kt | 19 ++++++++---- 8 files changed, 75 insertions(+), 46 deletions(-) delete mode 100644 packages/SystemUI/res/drawable/ic_hardware_speaker.xml diff --git a/packages/SystemUI/res/drawable/ic_hardware_speaker.xml b/packages/SystemUI/res/drawable/ic_hardware_speaker.xml deleted file mode 100644 index 0081e56a45f21..0000000000000 --- a/packages/SystemUI/res/drawable/ic_hardware_speaker.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - diff --git a/packages/SystemUI/res/layout/media_view.xml b/packages/SystemUI/res/layout/media_view.xml index d0f9332f2ccf7..c17b0c8580ca0 100644 --- a/packages/SystemUI/res/layout/media_view.xml +++ b/packages/SystemUI/res/layout/media_view.xml @@ -122,6 +122,23 @@ android:textSize="14sp" /> + + + + 16dp 52dp 20dp + 20dp + 18dp + 16dp 16dp 22dp diff --git a/packages/SystemUI/res/xml/media_collapsed.xml b/packages/SystemUI/res/xml/media_collapsed.xml index 57e6f36357857..0e886d6fa0b80 100644 --- a/packages/SystemUI/res/xml/media_collapsed.xml +++ b/packages/SystemUI/res/xml/media_collapsed.xml @@ -36,7 +36,7 @@ android:layout_marginTop="20dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@id/icon" - app:layout_constraintEnd_toStartOf="@id/media_seamless" + app:layout_constraintEnd_toStartOf="@id/media_seamless_barrier" app:layout_constraintHorizontal_bias="0" /> @@ -51,6 +51,18 @@ android:layout_marginEnd="@dimen/qs_media_panel_outer_padding" /> + + @@ -51,6 +51,18 @@ android:layout_marginEnd="@dimen/qs_media_panel_outer_padding" /> + + (R.id.media_seamless) val seamlessIcon = itemView.requireViewById(R.id.media_seamless_image) val seamlessText = itemView.requireViewById(R.id.media_seamless_text) + val seamlessFallback = itemView.requireViewById(R.id.media_seamless_fallback) // Seek bar val seekBar = itemView.requireViewById(R.id.media_progress_bar) diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt index e6a41fbac3b55..a297f32b9c342 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt @@ -25,6 +25,7 @@ import android.media.session.MediaSession import android.media.session.PlaybackState import android.testing.AndroidTestingRunner import android.testing.TestableLooper +import android.view.View import android.view.ViewGroup import android.widget.FrameLayout import android.widget.ImageButton @@ -79,6 +80,8 @@ public class MediaControlPanelTest : SysuiTestCase() { @Mock private lateinit var seekBarViewModel: SeekBarViewModel @Mock private lateinit var seekBarData: LiveData @Mock private lateinit var mediaViewController: MediaViewController + @Mock private lateinit var expandedSet: ConstraintSet + @Mock private lateinit var collapsedSet: ConstraintSet private lateinit var appIcon: ImageView private lateinit var appName: TextView private lateinit var albumView: ImageView @@ -87,6 +90,7 @@ public class MediaControlPanelTest : SysuiTestCase() { private lateinit var seamless: ViewGroup private lateinit var seamlessIcon: ImageView private lateinit var seamlessText: TextView + private lateinit var seamlessFallback: ImageView private lateinit var seekBar: SeekBar private lateinit var elapsedTimeView: TextView private lateinit var totalTimeView: TextView @@ -105,8 +109,8 @@ public class MediaControlPanelTest : SysuiTestCase() { @Before fun setUp() { bgExecutor = FakeExecutor(FakeSystemClock()) - whenever(mediaViewController.expandedLayout).thenReturn(mock(ConstraintSet::class.java)) - whenever(mediaViewController.collapsedLayout).thenReturn(mock(ConstraintSet::class.java)) + whenever(mediaViewController.expandedLayout).thenReturn(expandedSet) + whenever(mediaViewController.collapsedLayout).thenReturn(collapsedSet) player = MediaControlPanel(context, bgExecutor, activityStarter, mediaViewController, seekBarViewModel) @@ -133,6 +137,8 @@ public class MediaControlPanelTest : SysuiTestCase() { whenever(holder.seamlessIcon).thenReturn(seamlessIcon) seamlessText = TextView(context) whenever(holder.seamlessText).thenReturn(seamlessText) + seamlessFallback = ImageView(context) + whenever(holder.seamlessFallback).thenReturn(seamlessFallback) seekBar = SeekBar(context) whenever(holder.seekBar).thenReturn(seekBar) elapsedTimeView = TextView(context) @@ -214,13 +220,16 @@ public class MediaControlPanelTest : SysuiTestCase() { @Test fun bindDisabledDevice() { + seamless.id = 1 + seamlessFallback.id = 2 player.attach(holder) val state = MediaData(true, BG_COLOR, APP, null, ARTIST, TITLE, null, emptyList(), emptyList(), PACKAGE, session.getSessionToken(), null, disabledDevice, true, null) player.bind(state) - assertThat(seamless.isEnabled()).isFalse() - assertThat(seamlessText.getText()).isEqualTo(context.getResources().getString( - R.string.media_seamless_remote_device)) + verify(expandedSet).setVisibility(seamless.id, View.GONE) + verify(expandedSet).setVisibility(seamlessFallback.id, View.VISIBLE) + verify(collapsedSet).setVisibility(seamless.id, View.GONE) + verify(collapsedSet).setVisibility(seamlessFallback.id, View.VISIBLE) } @Test