From e1103a98cafbda0a5651c37a8d9b102682235750 Mon Sep 17 00:00:00 2001 From: Beth Thibodeau Date: Mon, 30 Aug 2021 11:50:17 -0400 Subject: [PATCH] Use label instead of cast icon in output switcher When the device is null or not enabled, disable the output switcher chip and display "Other device" as a fallback value, instead of a cast icon Fixes: 159231146 Test: atest MediaControlPanelTest Change-Id: I29ece6d32ca327d18c1e92e14f93876959c00ff3 --- .../res/drawable/ic_media_home_devices.xml | 16 ++++++++++ packages/SystemUI/res/layout/media_view.xml | 12 -------- packages/SystemUI/res/values/dimens.xml | 2 -- packages/SystemUI/res/values/strings.xml | 2 +- packages/SystemUI/res/xml/media_collapsed.xml | 17 ----------- packages/SystemUI/res/xml/media_expanded.xml | 16 ---------- .../systemui/media/MediaControlPanel.java | 30 ++++++------------- .../systemui/media/PlayerViewHolder.kt | 2 -- .../systemui/media/MediaControlPanelTest.kt | 16 ++++------ 9 files changed, 32 insertions(+), 81 deletions(-) create mode 100644 packages/SystemUI/res/drawable/ic_media_home_devices.xml diff --git a/packages/SystemUI/res/drawable/ic_media_home_devices.xml b/packages/SystemUI/res/drawable/ic_media_home_devices.xml new file mode 100644 index 0000000000000..886c64d9bf02e --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_media_home_devices.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/packages/SystemUI/res/layout/media_view.xml b/packages/SystemUI/res/layout/media_view.xml index 075473aef9aca..566cd25e86a5a 100644 --- a/packages/SystemUI/res/layout/media_view.xml +++ b/packages/SystemUI/res/layout/media_view.xml @@ -163,18 +163,6 @@ - - 12dp 24dp 12dp - @dimen/qs_seamless_icon_size - 20dp 22dp 1dp 2dp diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index e38e069392c4f..ebf6e4888de49 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1008,7 +1008,7 @@ This unblocks access for all apps and services allowed to use your camera or microphone. - Device + Other device Toggle Overview diff --git a/packages/SystemUI/res/xml/media_collapsed.xml b/packages/SystemUI/res/xml/media_collapsed.xml index d6c6a60d56b81..c3510b61e68a2 100644 --- a/packages/SystemUI/res/xml/media_collapsed.xml +++ b/packages/SystemUI/res/xml/media_collapsed.xml @@ -43,23 +43,6 @@ android:layout_marginStart="@dimen/qs_center_guideline_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) @@ -124,7 +123,6 @@ class PlayerViewHolder private constructor(itemView: View) { R.id.header_title, R.id.header_artist, R.id.media_seamless, - R.id.media_seamless_fallback, R.id.notification_media_progress_time, R.id.media_progress_bar, R.id.action0, 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 b129fdd0d8441..42629f545559a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt @@ -37,6 +37,7 @@ import android.widget.TextView import androidx.constraintlayout.widget.ConstraintSet import androidx.lifecycle.LiveData import androidx.test.filters.SmallTest +import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.media.dialog.MediaOutputDialogFactory import com.android.systemui.plugins.ActivityStarter @@ -101,7 +102,6 @@ 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 @@ -154,8 +154,6 @@ 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) @@ -239,21 +237,19 @@ public class MediaControlPanelTest : SysuiTestCase() { @Test fun bindDisabledDevice() { seamless.id = 1 - seamlessFallback.id = 2 + val fallbackString = context.getString(R.string.media_seamless_other_device) player.attachPlayer(holder) val state = MediaData(USER_ID, true, BG_COLOR, APP, null, ARTIST, TITLE, null, emptyList(), emptyList(), PACKAGE, session.getSessionToken(), null, disabledDevice, true, null) player.bindPlayer(state, PACKAGE) - 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) + assertThat(seamless.isEnabled()).isFalse() + assertThat(seamlessText.getText()).isEqualTo(fallbackString) + assertThat(seamless.contentDescription).isEqualTo(fallbackString) } @Test fun bindNullDevice() { - val fallbackString = context.getResources().getString( - com.android.internal.R.string.ext_media_seamless_action) + val fallbackString = context.getResources().getString(R.string.media_seamless_other_device) player.attachPlayer(holder) val state = MediaData(USER_ID, true, BG_COLOR, APP, null, ARTIST, TITLE, null, emptyList(), emptyList(), PACKAGE, session.getSessionToken(), null, null, true, null)