diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java | 14 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt | 7 |
2 files changed, 14 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java index 19a67e95a496..a3d7a811cab1 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java @@ -347,10 +347,11 @@ public class MediaControlPanel { artistText.setText(data.getArtist()); // Transfer chip - mPlayerViewHolder.getSeamless().setVisibility(View.VISIBLE); + ViewGroup seamlessView = mPlayerViewHolder.getSeamless(); + seamlessView.setVisibility(View.VISIBLE); setVisibleAndAlpha(collapsedSet, R.id.media_seamless, true /*visible */); setVisibleAndAlpha(expandedSet, R.id.media_seamless, true /*visible */); - mPlayerViewHolder.getSeamless().setOnClickListener(v -> { + seamlessView.setOnClickListener(v -> { mMediaOutputDialogFactory.create(data.getPackageName(), true); }); @@ -374,9 +375,9 @@ public class MediaControlPanel { collapsedSet.setAlpha(seamlessId, seamlessAlpha); // Disable clicking on output switcher for resumption controls. mPlayerViewHolder.getSeamless().setEnabled(!data.getResumption()); + String deviceString = null; if (showFallback) { iconView.setImageDrawable(null); - deviceName.setText(null); } else if (device != null) { Drawable icon = device.getIcon(); iconView.setVisibility(View.VISIBLE); @@ -387,13 +388,16 @@ public class MediaControlPanel { } else { iconView.setImageDrawable(icon); } - deviceName.setText(device.getName()); + deviceString = device.getName(); } else { // Reset to default Log.w(TAG, "device is null. Not binding output chip."); iconView.setVisibility(View.GONE); - deviceName.setText(com.android.internal.R.string.ext_media_seamless_action); + deviceString = mContext.getString( + com.android.internal.R.string.ext_media_seamless_action); } + deviceName.setText(deviceString); + seamlessView.setContentDescription(deviceString); List<Integer> actionsWhenCollapsed = data.getActionsToShowInCompact(); // Media controls 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 2d19f7dd4706..c9d41900b996 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt @@ -232,6 +232,7 @@ public class MediaControlPanelTest : SysuiTestCase() { emptyList(), PACKAGE, session.getSessionToken(), null, device, true, null) player.bindPlayer(state, PACKAGE) assertThat(seamlessText.getText()).isEqualTo(DEVICE_NAME) + assertThat(seamless.contentDescription).isEqualTo(DEVICE_NAME) assertThat(seamless.isEnabled()).isTrue() } @@ -251,13 +252,15 @@ public class MediaControlPanelTest : SysuiTestCase() { @Test fun bindNullDevice() { + val fallbackString = context.getResources().getString( + com.android.internal.R.string.ext_media_seamless_action) 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) player.bindPlayer(state, PACKAGE) assertThat(seamless.isEnabled()).isTrue() - assertThat(seamlessText.getText()).isEqualTo(context.getResources().getString( - com.android.internal.R.string.ext_media_seamless_action)) + assertThat(seamlessText.getText()).isEqualTo(fallbackString) + assertThat(seamless.contentDescription).isEqualTo(fallbackString) } @Test |