(R.id.media_total_time)
-
- override fun getAction(id: Int): ImageButton {
- return when (id) {
- R.id.action0 -> action0
- R.id.action1 -> action1
- R.id.action2 -> action2
- R.id.action3 -> action3
- R.id.action4 -> action4
- else -> {
- throw IllegalArgumentException()
- }
- }
- }
-
- companion object {
- /**
- * Creates a PlayerViewHolder.
- *
- * @param inflater LayoutInflater to use to inflate the layout.
- * @param parent Parent of inflated view.
- */
- @JvmStatic fun create(inflater: LayoutInflater, parent: ViewGroup): PlayerViewHolder {
- val mediaView = inflater.inflate(R.layout.media_view, parent, false)
- mediaView.setLayerType(View.LAYER_TYPE_HARDWARE, null)
- // Because this media view (a TransitionLayout) is used to measure and layout the views
- // in various states before being attached to its parent, we can't depend on the default
- // LAYOUT_DIRECTION_INHERIT to correctly resolve the ltr direction.
- mediaView.layoutDirection = View.LAYOUT_DIRECTION_LOCALE
- return PlayerViewHolder(mediaView).apply {
- // Media playback is in the direction of tape, not time, so it stays LTR
- seekBar.layoutDirection = View.LAYOUT_DIRECTION_LTR
- progressTimes.layoutDirection = View.LAYOUT_DIRECTION_LTR
- }
- }
-
- val controlsIds = setOf(
- R.id.icon,
- R.id.app_name,
- R.id.album_art,
- R.id.header_title,
- R.id.header_artist,
- R.id.media_seamless,
- R.id.notification_media_progress_time,
- R.id.media_progress_bar,
- R.id.action0,
- R.id.action1,
- R.id.action2,
- R.id.action3,
- R.id.action4,
- R.id.icon
- )
- val gutsIds = setOf(
- R.id.remove_text,
- R.id.cancel,
- R.id.dismiss,
- R.id.settings
- )
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
index 57701ab618c91..e5b41b1a67716 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
@@ -27,28 +27,17 @@ import com.android.systemui.R
* Updates the seek bar views in response to changes to the model.
*/
class SeekBarObserver(
- private val holder: MediaViewHolder,
- private val useSessionLayout: Boolean
+ private val holder: MediaViewHolder
) : Observer {
val seekBarEnabledMaxHeight = holder.seekBar.context.resources
.getDimensionPixelSize(R.dimen.qs_media_enabled_seekbar_height)
val seekBarDisabledHeight = holder.seekBar.context.resources
.getDimensionPixelSize(R.dimen.qs_media_disabled_seekbar_height)
- val seekBarEnabledVerticalPadding = if (useSessionLayout) {
- holder.seekBar.context.resources
+ val seekBarEnabledVerticalPadding = holder.seekBar.context.resources
.getDimensionPixelSize(R.dimen.qs_media_session_enabled_seekbar_vertical_padding)
- } else {
- holder.seekBar.context.resources
- .getDimensionPixelSize(R.dimen.qs_media_enabled_seekbar_vertical_padding)
- }
- val seekBarDisabledVerticalPadding = if (useSessionLayout) {
- holder.seekBar.context.resources
+ val seekBarDisabledVerticalPadding = holder.seekBar.context.resources
.getDimensionPixelSize(R.dimen.qs_media_session_disabled_seekbar_vertical_padding)
- } else {
- holder.seekBar.context.resources
- .getDimensionPixelSize(R.dimen.qs_media_disabled_seekbar_vertical_padding)
- }
init {
val seekBarProgressWavelength = holder.seekBar.context.resources
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
index 865f09337fa39..dd2929c9a67a7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java
@@ -33,7 +33,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
-import com.android.systemui.media.MediaFlags;
import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.media.MediaHost;
import com.android.systemui.media.MediaHostState;
@@ -46,7 +45,6 @@ import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService;
-import com.android.systemui.util.Utils;
import javax.inject.Inject;
import javax.inject.Named;
@@ -65,7 +63,6 @@ public class QSPanelController extends QSPanelControllerBase {
private final FalsingManager mFalsingManager;
private final BrightnessController mBrightnessController;
private final BrightnessSliderController mBrightnessSliderController;
- private final MediaFlags mMediaFlags;
private final BrightnessMirrorHandler mBrightnessMirrorHandler;
private final FeatureFlags mFeatureFlags;
@@ -75,7 +72,6 @@ public class QSPanelController extends QSPanelControllerBase {
new QSPanel.OnConfigurationChangedListener() {
@Override
public void onConfigurationChange(Configuration newConfig) {
- updateMediaExpansion();
mView.updateResources();
mQsSecurityFooter.onConfigurationChanged();
if (mView.isListening()) {
@@ -105,8 +101,7 @@ public class QSPanelController extends QSPanelControllerBase {
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
BrightnessSliderController.Factory brightnessSliderFactory,
- FalsingManager falsingManager, FeatureFlags featureFlags,
- MediaFlags mediaFlags) {
+ FalsingManager falsingManager, FeatureFlags featureFlags) {
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
metricsLogger, uiEventLogger, qsLogger, dumpManager);
mQSFgsManagerFooter = qsFgsManagerFooter;
@@ -117,7 +112,6 @@ public class QSPanelController extends QSPanelControllerBase {
mFalsingManager = falsingManager;
mBrightnessSliderController = brightnessSliderFactory.create(getContext(), mView);
- mMediaFlags = mediaFlags;
mView.setBrightnessView(mBrightnessSliderController.getRootView());
mBrightnessController = brightnessControllerFactory.create(mBrightnessSliderController);
@@ -129,7 +123,7 @@ public class QSPanelController extends QSPanelControllerBase {
@Override
public void onInit() {
super.onInit();
- updateMediaExpansion();
+ mMediaHost.setExpansion(MediaHostState.EXPANDED);
mMediaHost.setShowsOnlyActiveMedia(false);
mMediaHost.init(MediaHierarchyManager.LOCATION_QS);
mQsCustomizerController.init();
@@ -137,17 +131,6 @@ public class QSPanelController extends QSPanelControllerBase {
mQSFgsManagerFooter.init();
}
- private void updateMediaExpansion() {
- boolean inSplitShade = Utils.shouldUseSplitNotificationShade(getResources());
- float expansion;
- if (inSplitShade && !mMediaFlags.useMediaSessionLayout()) {
- expansion = MediaHostState.COLLAPSED;
- } else {
- expansion = MediaHostState.EXPANDED;
- }
- mMediaHost.setExpansion(expansion);
- }
-
@Override
protected void onViewAttached() {
super.onViewAttached();
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java
index b2e008b9d2bcf..c6ebd732518cc 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java
@@ -26,7 +26,6 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.media.MediaFlags;
import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.media.MediaHost;
import com.android.systemui.plugins.qs.QSTile;
@@ -53,7 +52,6 @@ public class QuickQSPanelController extends QSPanelControllerBase
}
};
- private final MediaFlags mMediaFlags;
private final boolean mUsingCollapsedLandscapeMedia;
@Inject
@@ -62,14 +60,12 @@ public class QuickQSPanelController extends QSPanelControllerBase
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
@Named(QUICK_QS_PANEL) MediaHost mediaHost,
@Named(QS_USING_COLLAPSED_LANDSCAPE_MEDIA) boolean usingCollapsedLandscapeMedia,
- MediaFlags mediaFlags,
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
DumpManager dumpManager
) {
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
uiEventLogger, qsLogger, dumpManager);
mUsingCollapsedLandscapeMedia = usingCollapsedLandscapeMedia;
- mMediaFlags = mediaFlags;
}
@Override
@@ -84,8 +80,7 @@ public class QuickQSPanelController extends QSPanelControllerBase
int rotation = getRotation();
boolean isLandscape = rotation == RotationUtils.ROTATION_LANDSCAPE
|| rotation == RotationUtils.ROTATION_SEASCAPE;
- if (mMediaFlags.useMediaSessionLayout()
- && (!mUsingCollapsedLandscapeMedia || !isLandscape)) {
+ if (!mUsingCollapsedLandscapeMedia || !isLandscape) {
mMediaHost.setExpansion(MediaHost.EXPANDED);
} else {
mMediaHost.setExpansion(MediaHost.COLLAPSED);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/KeyguardMediaControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/KeyguardMediaControllerTest.kt
index 1484c9d11ba61..fcfef4a441285 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/KeyguardMediaControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/KeyguardMediaControllerTest.kt
@@ -52,8 +52,6 @@ class KeyguardMediaControllerTest : SysuiTestCase() {
private lateinit var statusBarStateController: SysuiStatusBarStateController
@Mock
private lateinit var configurationController: ConfigurationController
- @Mock
- private lateinit var mediaFlags: MediaFlags
@Mock
private lateinit var notificationLockscreenUserManager: NotificationLockscreenUserManager
@@ -73,15 +71,13 @@ class KeyguardMediaControllerTest : SysuiTestCase() {
.thenReturn(true)
whenever(mediaHost.hostView).thenReturn(hostView)
hostView.layoutParams = FrameLayout.LayoutParams(100, 100)
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(false)
keyguardMediaController = KeyguardMediaController(
mediaHost,
bypassController,
statusBarStateController,
notificationLockscreenUserManager,
context,
- configurationController,
- mediaFlags
+ configurationController
)
keyguardMediaController.attachSinglePaneContainer(mediaContainerView)
keyguardMediaController.useSplitShade = false
@@ -157,22 +153,7 @@ class KeyguardMediaControllerTest : SysuiTestCase() {
}
@Test
- fun testNotificationLayout_collapsedPlayer() {
- verify(mediaHost).expansion = MediaHostState.COLLAPSED
- }
-
- @Test
- fun testSessionLayout_expandedPlayer() {
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(true)
- keyguardMediaController = KeyguardMediaController(
- mediaHost,
- bypassController,
- statusBarStateController,
- notificationLockscreenUserManager,
- context,
- configurationController,
- mediaFlags
- )
+ fun testMediaHost_expandedPlayer() {
verify(mediaHost).expansion = MediaHostState.EXPANDED
}
}
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 90eff1ae9804e..c53387d7c9ed2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
@@ -89,8 +89,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Mock private lateinit var activityStarter: ActivityStarter
@Mock private lateinit var broadcastSender: BroadcastSender
- @Mock private lateinit var holder: PlayerViewHolder
- @Mock private lateinit var sessionHolder: PlayerSessionViewHolder
+ @Mock private lateinit var viewHolder: MediaViewHolder
@Mock private lateinit var view: TransitionLayout
@Mock private lateinit var seekBarViewModel: SeekBarViewModel
@Mock private lateinit var seekBarData: LiveData
@@ -179,8 +178,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
actionPrev = ImageButton(context).also { it.setId(R.id.actionPrev) }
actionNext = ImageButton(context).also { it.setId(R.id.actionNext) }
- initPlayerHolderMocks()
- initSessionHolderMocks()
+ initMediaViewHolderMocks()
// Create media session
val metadataBuilder = MediaMetadata.Builder().apply {
@@ -217,9 +215,9 @@ public class MediaControlPanelTest : SysuiTestCase() {
}
/**
- * Initialize elements common to both view holders
+ * Initialize elements in media view holder
*/
- private fun initMediaViewHolderMocks(viewHolder: MediaViewHolder) {
+ private fun initMediaViewHolderMocks() {
whenever(viewHolder.player).thenReturn(view)
whenever(viewHolder.appIcon).thenReturn(appIcon)
whenever(viewHolder.albumView).thenReturn(albumView)
@@ -233,6 +231,12 @@ public class MediaControlPanelTest : SysuiTestCase() {
whenever(viewHolder.seekBar).thenReturn(seekBar)
// Action buttons
+ whenever(viewHolder.actionPlayPause).thenReturn(actionPlayPause)
+ whenever(viewHolder.getAction(R.id.actionPlayPause)).thenReturn(actionPlayPause)
+ whenever(viewHolder.actionNext).thenReturn(actionNext)
+ whenever(viewHolder.getAction(R.id.actionNext)).thenReturn(actionNext)
+ whenever(viewHolder.actionPrev).thenReturn(actionPrev)
+ whenever(viewHolder.getAction(R.id.actionPrev)).thenReturn(actionPrev)
whenever(viewHolder.action0).thenReturn(action0)
whenever(viewHolder.getAction(R.id.action0)).thenReturn(action0)
whenever(viewHolder.action1).thenReturn(action1)
@@ -255,27 +259,6 @@ public class MediaControlPanelTest : SysuiTestCase() {
whenever(viewHolder.dismissText).thenReturn(dismissText)
}
- /** Mock view holder for the notification player */
- private fun initPlayerHolderMocks() {
- initMediaViewHolderMocks(holder)
-
- whenever(holder.elapsedTimeView).thenReturn(elapsedTimeView)
- whenever(holder.totalTimeView).thenReturn(totalTimeView)
- }
-
- /** Mock view holder for session player */
- private fun initSessionHolderMocks() {
- initMediaViewHolderMocks(sessionHolder)
-
- // Semantic action buttons
- whenever(sessionHolder.actionPlayPause).thenReturn(actionPlayPause)
- whenever(sessionHolder.getAction(R.id.actionPlayPause)).thenReturn(actionPlayPause)
- whenever(sessionHolder.actionNext).thenReturn(actionNext)
- whenever(sessionHolder.getAction(R.id.actionNext)).thenReturn(actionNext)
- whenever(sessionHolder.actionPrev).thenReturn(actionPrev)
- whenever(sessionHolder.getAction(R.id.actionPrev)).thenReturn(actionPrev)
- }
-
@After
fun tearDown() {
session.release()
@@ -290,41 +273,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
}
@Test
- fun bindSemanticActionsOldLayout() {
- val icon = Icon.createWithResource(context, android.R.drawable.ic_media_play)
- val semanticActions = MediaButton(
- playOrPause = MediaAction(icon, Runnable {}, "play"),
- nextOrCustom = MediaAction(icon, Runnable {}, "next"),
- custom0 = MediaAction(icon, null, "custom 0"),
- custom1 = MediaAction(icon, null, "custom 1")
- )
- val state = mediaData.copy(semanticActions = semanticActions)
-
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
- player.bindPlayer(state, PACKAGE)
-
- verify(expandedSet).setVisibility(R.id.action0, ConstraintSet.VISIBLE)
- assertThat(action0.contentDescription).isEqualTo("custom 0")
- assertThat(action0.isEnabled()).isFalse()
-
- verify(expandedSet).setVisibility(R.id.action1, ConstraintSet.INVISIBLE)
- assertThat(action1.isEnabled()).isFalse()
-
- verify(expandedSet).setVisibility(R.id.action2, ConstraintSet.VISIBLE)
- assertThat(action2.isEnabled()).isTrue()
- assertThat(action2.contentDescription).isEqualTo("play")
-
- verify(expandedSet).setVisibility(R.id.action3, ConstraintSet.VISIBLE)
- assertThat(action3.isEnabled()).isTrue()
- assertThat(action3.contentDescription).isEqualTo("next")
-
- verify(expandedSet).setVisibility(R.id.action4, ConstraintSet.VISIBLE)
- assertThat(action4.contentDescription).isEqualTo("custom 1")
- assertThat(action4.isEnabled()).isFalse()
- }
-
- @Test
- fun bindSemanticActionsNewLayout() {
+ fun bindSemanticActions() {
val icon = Icon.createWithResource(context, android.R.drawable.ic_media_play)
val semanticActions = MediaButton(
playOrPause = MediaAction(icon, Runnable {}, "play"),
@@ -334,7 +283,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
)
val state = mediaData.copy(semanticActions = semanticActions)
- player.attachPlayer(sessionHolder, MediaViewController.TYPE.PLAYER_SESSION)
+ player.attachPlayer(viewHolder)
player.bindPlayer(state, PACKAGE)
assertThat(actionPrev.isEnabled()).isFalse()
@@ -370,7 +319,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
}
@Test
- fun bindNotificationActionsNewLayout() {
+ fun bindNotificationActions() {
val icon = Icon.createWithResource(context, android.R.drawable.ic_media_play)
val actions = listOf(
MediaAction(icon, Runnable {}, "previous"),
@@ -383,7 +332,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
actionsToShowInCompact = listOf(1, 2),
semanticActions = null)
- player.attachPlayer(sessionHolder, MediaViewController.TYPE.PLAYER_SESSION)
+ player.attachPlayer(viewHolder)
player.bindPlayer(state, PACKAGE)
// Verify semantic actions are hidden
@@ -420,7 +369,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun bindText() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
player.bindPlayer(mediaData, PACKAGE)
assertThat(titleText.getText()).isEqualTo(TITLE)
assertThat(artistText.getText()).isEqualTo(ARTIST)
@@ -428,7 +377,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun bindDevice() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
player.bindPlayer(mediaData, PACKAGE)
assertThat(seamlessText.getText()).isEqualTo(DEVICE_NAME)
assertThat(seamless.contentDescription).isEqualTo(DEVICE_NAME)
@@ -438,7 +387,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun bindDisabledDevice() {
seamless.id = 1
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(device = disabledDevice)
player.bindPlayer(state, PACKAGE)
assertThat(seamless.isEnabled()).isFalse()
@@ -449,7 +398,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun bindNullDevice() {
val fallbackString = context.getResources().getString(R.string.media_seamless_other_device)
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(device = null)
player.bindPlayer(state, PACKAGE)
assertThat(seamless.isEnabled()).isTrue()
@@ -459,7 +408,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun bindDeviceResumptionPlayer() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(resumption = true)
player.bindPlayer(state, PACKAGE)
assertThat(seamlessText.getText()).isEqualTo(DEVICE_NAME)
@@ -468,32 +417,32 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun longClick_gutsClosed() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
whenever(mediaViewController.isGutsVisible).thenReturn(false)
val captor = ArgumentCaptor.forClass(View.OnLongClickListener::class.java)
- verify(holder.player).setOnLongClickListener(captor.capture())
+ verify(viewHolder.player).setOnLongClickListener(captor.capture())
- captor.value.onLongClick(holder.player)
+ captor.value.onLongClick(viewHolder.player)
verify(mediaViewController).openGuts()
}
@Test
fun longClick_gutsOpen() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
whenever(mediaViewController.isGutsVisible).thenReturn(true)
val captor = ArgumentCaptor.forClass(View.OnLongClickListener::class.java)
- verify(holder.player).setOnLongClickListener(captor.capture())
+ verify(viewHolder.player).setOnLongClickListener(captor.capture())
- captor.value.onLongClick(holder.player)
+ captor.value.onLongClick(viewHolder.player)
verify(mediaViewController, never()).openGuts()
verify(mediaViewController).closeGuts(false)
}
@Test
fun cancelButtonClick_animation() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
cancel.callOnClick()
@@ -502,7 +451,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun settingsButtonClick() {
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
settings.callOnClick()
@@ -515,7 +464,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun dismissButtonClick() {
val mediaKey = "key for dismissal"
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(notificationKey = KEY)
player.bindPlayer(state, mediaKey)
@@ -527,7 +476,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
@Test
fun dismissButtonDisabled() {
val mediaKey = "key for dismissal"
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(isClearable = false, notificationKey = KEY)
player.bindPlayer(state, mediaKey)
@@ -539,7 +488,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
val mediaKey = "key for dismissal"
whenever(mediaDataManager.dismissMediaData(eq(mediaKey), anyLong())).thenReturn(false)
- player.attachPlayer(holder, MediaViewController.TYPE.PLAYER)
+ player.attachPlayer(viewHolder)
val state = mediaData.copy(notificationKey = KEY)
player.bindPlayer(state, mediaKey)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/PlayerViewHolderTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/PlayerViewHolderTest.kt
deleted file mode 100644
index d6849bf2aa398..0000000000000
--- a/packages/SystemUI/tests/src/com/android/systemui/media/PlayerViewHolderTest.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.media
-
-import android.testing.AndroidTestingRunner
-import android.testing.TestableLooper
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.FrameLayout
-
-import androidx.test.filters.SmallTest
-
-import com.android.systemui.SysuiTestCase
-import com.google.common.truth.Truth.assertThat
-
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-/**
- * Tests for PlayerViewHolder.
- */
-@SmallTest
-@RunWith(AndroidTestingRunner::class)
-@TestableLooper.RunWithLooper
-class PlayerViewHolderTest : SysuiTestCase() {
-
- private lateinit var inflater: LayoutInflater
- private lateinit var parent: ViewGroup
-
- @Before
- fun setUp() {
- inflater = LayoutInflater.from(context)
- parent = FrameLayout(context)
- }
-
- @Test
- fun create() {
- val holder = PlayerViewHolder.create(inflater, parent)
- assertThat(holder.player).isNotNull()
- }
-
- @Test
- fun backgroundIsIlluminationDrawable() {
- val holder = PlayerViewHolder.create(inflater, parent)
- assertThat(holder.player.background as IlluminationDrawable).isNotNull()
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
index 7ac15125ea7e2..99901a0cd0b3e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
@@ -43,7 +43,7 @@ class SeekBarObserverTest : SysuiTestCase() {
private val enabledHeight = 2
private lateinit var observer: SeekBarObserver
- @Mock private lateinit var mockHolder: PlayerViewHolder
+ @Mock private lateinit var mockHolder: MediaViewHolder
@Mock private lateinit var mockSquigglyProgress: SquigglyProgress
private lateinit var seekBarView: SeekBar
private lateinit var elapsedTimeView: TextView
@@ -64,10 +64,8 @@ class SeekBarObserverTest : SysuiTestCase() {
elapsedTimeView = TextView(context)
totalTimeView = TextView(context)
whenever(mockHolder.seekBar).thenReturn(seekBarView)
- whenever(mockHolder.elapsedTimeView).thenReturn(elapsedTimeView)
- whenever(mockHolder.totalTimeView).thenReturn(totalTimeView)
- observer = SeekBarObserver(mockHolder, false /* useSessionLayout */)
+ observer = SeekBarObserver(mockHolder)
}
@Test
@@ -79,8 +77,6 @@ class SeekBarObserverTest : SysuiTestCase() {
// THEN seek bar shows just a thin line with no text
assertThat(seekBarView.isEnabled()).isFalse()
assertThat(seekBarView.getThumb().getAlpha()).isEqualTo(0)
- assertThat(elapsedTimeView.getText()).isEqualTo("")
- assertThat(totalTimeView.getText()).isEqualTo("")
assertThat(seekBarView.contentDescription).isEqualTo("")
assertThat(seekBarView.maxHeight).isEqualTo(disabledHeight)
}
@@ -93,8 +89,6 @@ class SeekBarObserverTest : SysuiTestCase() {
observer.onChanged(data)
// THEN seek bar is visible and thick
assertThat(seekBarView.getVisibility()).isEqualTo(View.VISIBLE)
- assertThat(elapsedTimeView.getVisibility()).isEqualTo(View.VISIBLE)
- assertThat(totalTimeView.getVisibility()).isEqualTo(View.VISIBLE)
assertThat(seekBarView.maxHeight).isEqualTo(enabledHeight)
}
@@ -106,8 +100,6 @@ class SeekBarObserverTest : SysuiTestCase() {
// THEN seek bar shows the progress
assertThat(seekBarView.progress).isEqualTo(3000)
assertThat(seekBarView.max).isEqualTo(120000)
- assertThat(elapsedTimeView.getText()).isEqualTo("00:03")
- assertThat(totalTimeView.getText()).isEqualTo("02:00")
val desc = context.getString(R.string.controls_media_seekbar_description, "00:03", "02:00")
assertThat(seekBarView.contentDescription).isEqualTo(desc)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
index ac1e86f58f865..1b48a16740b99 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.kt
@@ -8,7 +8,6 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FeatureFlags
-import com.android.systemui.media.MediaFlags
import com.android.systemui.media.MediaHost
import com.android.systemui.media.MediaHostState
import com.android.systemui.plugins.FalsingManager
@@ -49,7 +48,6 @@ class QSPanelControllerTest : SysuiTestCase() {
@Mock private lateinit var brightnessSliderFactory: BrightnessSliderController.Factory
@Mock private lateinit var falsingManager: FalsingManager
@Mock private lateinit var featureFlags: FeatureFlags
- @Mock private lateinit var mediaFlags: MediaFlags
@Mock private lateinit var mediaHost: MediaHost
private lateinit var controller: QSPanelController
@@ -79,8 +77,7 @@ class QSPanelControllerTest : SysuiTestCase() {
brightnessControllerFactory,
brightnessSliderFactory,
falsingManager,
- featureFlags,
- mediaFlags
+ featureFlags
)
}
@@ -90,45 +87,12 @@ class QSPanelControllerTest : SysuiTestCase() {
}
@Test
- fun onInit_notSplitShade_newMediaLayoutAvailable_setsMediaAsExpanded() {
- setSplitShadeEnabled(false)
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(true)
-
+ fun onInit_setsMediaAsExpanded() {
controller.onInit()
verify(mediaHost).expansion = MediaHostState.EXPANDED
}
- @Test
- fun onInit_notSplitShade_newMediaLayoutNotAvailable_setsMediaAsExpanded() {
- setSplitShadeEnabled(false)
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(false)
-
- controller.onInit()
-
- verify(mediaHost).expansion = MediaHostState.EXPANDED
- }
-
- @Test
- fun onInit_inSplitShade_newMediaLayoutAvailable_setsMediaAsExpanded() {
- setSplitShadeEnabled(true)
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(true)
-
- controller.onInit()
-
- verify(mediaHost).expansion = MediaHostState.EXPANDED
- }
-
- @Test
- fun onInit_inSplitShade_newMediaLayoutNotAvailable_setsMediaAsCollapsed() {
- setSplitShadeEnabled(true)
- whenever(mediaFlags.useMediaSessionLayout()).thenReturn(false)
-
- controller.onInit()
-
- verify(mediaHost).expansion = MediaHostState.COLLAPSED
- }
-
private fun setSplitShadeEnabled(enabled: Boolean) {
mContext.orCreateTestableResources
.addOverride(R.bool.config_use_split_notification_shade, enabled)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickQSPanelControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickQSPanelControllerTest.kt
index 62915b8ac7c92..1f28210acc64a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickQSPanelControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickQSPanelControllerTest.kt
@@ -23,7 +23,6 @@ import com.android.internal.logging.MetricsLogger
import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
-import com.android.systemui.media.MediaFlags
import com.android.systemui.media.MediaHost
import com.android.systemui.media.MediaHostState
import com.android.systemui.plugins.qs.QSTile
@@ -58,8 +57,6 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
@Mock
private lateinit var mediaHost: MediaHost
@Mock
- private lateinit var mediaFlags: MediaFlags
- @Mock
private lateinit var metricsLogger: MetricsLogger
private val uiEventLogger = UiEventLoggerFake()
@Mock
@@ -85,7 +82,6 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
`when`(quickQSPanel.dumpableTag).thenReturn("")
`when`(quickQSPanel.resources).thenReturn(mContext.resources)
`when`(qsTileHost.createTileView(any(), any(), anyBoolean())).thenReturn(tileView)
- `when`(mediaFlags.useMediaSessionLayout()).thenReturn(false)
controller = TestQuickQSPanelController(
quickQSPanel,
@@ -94,7 +90,6 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
false,
mediaHost,
true,
- mediaFlags,
metricsLogger,
uiEventLogger,
qsLogger,
@@ -131,20 +126,17 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
@Test
fun testMediaExpansionUpdatedWhenConfigurationChanged() {
- `when`(mediaFlags.useMediaSessionLayout()).thenReturn(true)
-
// times(2) because both controller and base controller are registering their listeners
verify(quickQSPanel, times(2)).addOnConfigurationChangedListener(captor.capture())
- captor.allValues.forEach { it.onConfigurationChange(Configuration.EMPTY) }
+ // verify that media starts in the expanded state by default
verify(mediaHost).expansion = MediaHostState.EXPANDED
// Rotate device, verify media size updated
controller.setRotation(RotationUtils.ROTATION_LANDSCAPE)
captor.allValues.forEach { it.onConfigurationChange(Configuration.EMPTY) }
- // times(2) because init will have set to collapsed because the flag was off
- verify(mediaHost, times(2)).expansion = MediaHostState.COLLAPSED
+ verify(mediaHost).expansion = MediaHostState.COLLAPSED
}
class TestQuickQSPanelController(
@@ -154,13 +146,12 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
usingMediaPlayer: Boolean,
mediaHost: MediaHost,
usingCollapsedLandscapeMedia: Boolean,
- mediaFlags: MediaFlags,
metricsLogger: MetricsLogger,
uiEventLogger: UiEventLoggerFake,
qsLogger: QSLogger,
dumpManager: DumpManager
) : QuickQSPanelController(view, qsTileHost, qsCustomizerController, usingMediaPlayer,
- mediaHost, usingCollapsedLandscapeMedia, mediaFlags, metricsLogger, uiEventLogger, qsLogger,
+ mediaHost, usingCollapsedLandscapeMedia, metricsLogger, uiEventLogger, qsLogger,
dumpManager) {
private var rotation = RotationUtils.ROTATION_NONE