Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68b3103e authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "Remove media_session_actions flag" into main

parents 3c0aedff e37a972c
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.Flags.MEDIA_RESUME_PROGRESS
import com.android.systemui.flags.Flags.MEDIA_SESSION_ACTIONS
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.graphics.imageLoader
import com.android.systemui.kosmos.testDispatcher
@@ -96,7 +95,6 @@ class MediaDataLoaderTest : SysuiTestCase() {

    @Before
    fun setUp() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        mediaControllerFactory.setControllerForToken(session.sessionToken, mediaController)
    }

+0 −3
Original line number Diff line number Diff line
@@ -230,9 +230,6 @@ object Flags {
    // TODO(b/254512697): Tracking Bug
    val MEDIA_TAP_TO_TRANSFER = releasedFlag("media_tap_to_transfer")

    // TODO(b/254512502): Tracking Bug
    val MEDIA_SESSION_ACTIONS = unreleasedFlag("media_session_actions")

    // TODO(b/254512654): Tracking Bug
    @JvmField val DREAM_MEDIA_COMPLICATION = unreleasedFlag("dream_media_complication")

+1 −2
Original line number Diff line number Diff line
@@ -29,9 +29,8 @@ class MediaFlags @Inject constructor(private val featureFlags: FeatureFlagsClass
     * Check whether media control actions should be based on PlaybackState instead of notification
     */
    fun areMediaSessionActionsEnabled(packageName: String, user: UserHandle): Boolean {
        val enabled = StatusBarManager.useMediaSessionActionsForApp(packageName, user)
        // Allow global override with flag
        return enabled || featureFlags.isEnabled(Flags.MEDIA_SESSION_ACTIONS)
        return StatusBarManager.useMediaSessionActionsForApp(packageName, user)
    }

    /**
+0 −17
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ import com.android.systemui.flags.Flags.MEDIA_REMOTE_RESUME
import com.android.systemui.flags.Flags.MEDIA_RESUME_PROGRESS
import com.android.systemui.flags.Flags.MEDIA_RETAIN_RECOMMENDATIONS
import com.android.systemui.flags.Flags.MEDIA_RETAIN_SESSIONS
import com.android.systemui.flags.Flags.MEDIA_SESSION_ACTIONS
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
@@ -317,7 +316,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
        whenever(mediaSmartspaceTarget.iconGrid).thenReturn(validRecommendationList)
        whenever(mediaSmartspaceTarget.creationTimeMillis).thenReturn(SMARTSPACE_CREATION_TIME)
        whenever(mediaSmartspaceTarget.expiryTimeMillis).thenReturn(SMARTSPACE_EXPIRY_TIME)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, false)
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, false)
        fakeFeatureFlags.set(MEDIA_RESUME_PROGRESS, false)
        fakeFeatureFlags.set(MEDIA_REMOTE_RESUME, false)
@@ -1671,7 +1669,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testPlaybackActions_noState_usesNotification() {
        val desc = "Notification Action"
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        whenever(controller.playbackState).thenReturn(null)

        val notifWithAction =
@@ -1705,7 +1702,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testPlaybackActions_hasPrevNext() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions =
            PlaybackState.ACTION_PLAY or
                PlaybackState.ACTION_SKIP_TO_PREVIOUS or
@@ -1749,7 +1745,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testPlaybackActions_noPrevNext_usesCustom() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4", "custom 5")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        customDesc.forEach {
@@ -1781,7 +1776,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testPlaybackActions_connecting() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder =
            PlaybackState.Builder()
@@ -1802,7 +1796,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testPlaybackActions_reservedSpace() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        customDesc.forEach {
@@ -1840,7 +1833,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testPlaybackActions_playPause_hasButton() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY_PAUSE
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        whenever(controller.playbackState).thenReturn(stateBuilder.build())
@@ -1939,7 +1931,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testPlaybackState_PauseWhenFlagTrue_keyExists_callsListener() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val state = PlaybackState.Builder().setState(PlaybackState.STATE_PAUSED, 0L, 1f).build()
        whenever(controller.playbackState).thenReturn(state)

@@ -2161,7 +2152,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testRetain_sessionPlayer_notifRemoved_doesNotChange() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2181,7 +2171,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testRetain_sessionPlayer_sessionDestroyed_setToResume() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2215,7 +2204,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testRetain_sessionPlayer_destroyedWhileActive_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions is added, and then the session is destroyed
@@ -2235,7 +2223,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testRetain_sessionPlayer_canResume_destroyedWhileActive_setToResume() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions and that does allow resumption is added,
@@ -2268,7 +2255,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testSessionPlayer_sessionDestroyed_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2295,7 +2281,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testSessionPlayer_destroyedWhileActive_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions is added, and then the session is destroyed
@@ -2314,7 +2299,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa

    @Test
    fun testSessionPlayer_canResume_destroyedWhileActive_setToResume() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions and that does allow resumption is added,
@@ -2348,7 +2332,6 @@ class LegacyMediaDataManagerImplTest(flags: FlagsParameterization) : SysuiTestCa
    @Test
    fun testSessionDestroyed_noNotificationKey_stillRemoved() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)

        // When a notiifcation is added and then removed before it is fully processed
        mediaDataManager.onNotificationAdded(KEY, mediaNotification)
+0 −19
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ import com.android.systemui.flags.Flags.MEDIA_REMOTE_RESUME
import com.android.systemui.flags.Flags.MEDIA_RESUME_PROGRESS
import com.android.systemui.flags.Flags.MEDIA_RETAIN_RECOMMENDATIONS
import com.android.systemui.flags.Flags.MEDIA_RETAIN_SESSIONS
import com.android.systemui.flags.Flags.MEDIA_SESSION_ACTIONS
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.kosmos.testScope
@@ -338,7 +337,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
        whenever(mediaSmartspaceTarget.iconGrid).thenReturn(validRecommendationList)
        whenever(mediaSmartspaceTarget.creationTimeMillis).thenReturn(SMARTSPACE_CREATION_TIME)
        whenever(mediaSmartspaceTarget.expiryTimeMillis).thenReturn(SMARTSPACE_EXPIRY_TIME)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, false)
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, false)
        fakeFeatureFlags.set(MEDIA_RESUME_PROGRESS, false)
        fakeFeatureFlags.set(MEDIA_REMOTE_RESUME, false)
@@ -1680,7 +1678,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testPlaybackActions_noState_usesNotification() {
        val desc = "Notification Action"
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        whenever(controller.playbackState).thenReturn(null)

        val notifWithAction =
@@ -1714,7 +1711,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testPlaybackActions_hasPrevNext() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions =
            PlaybackState.ACTION_PLAY or
                PlaybackState.ACTION_SKIP_TO_PREVIOUS or
@@ -1758,7 +1754,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testPlaybackActions_noPrevNext_usesCustom() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4", "custom 5")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        customDesc.forEach {
@@ -1790,7 +1785,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testPlaybackActions_connecting() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder =
            PlaybackState.Builder()
@@ -1811,7 +1805,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    @EnableFlags(Flags.FLAG_MEDIA_CONTROLS_DRAWABLES_REUSE)
    fun postWithPlaybackActions_drawablesReused() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        whenever(notificationLockscreenUserManager.isCurrentProfile(USER_ID)).thenReturn(true)
        whenever(notificationLockscreenUserManager.isProfileAvailable(USER_ID)).thenReturn(true)
        val stateActions =
@@ -1845,7 +1838,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    @DisableFlags(Flags.FLAG_MEDIA_CONTROLS_DRAWABLES_REUSE)
    fun postWithPlaybackActions_drawablesNotReused() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        whenever(notificationLockscreenUserManager.isCurrentProfile(USER_ID)).thenReturn(true)
        whenever(notificationLockscreenUserManager.isProfileAvailable(USER_ID)).thenReturn(true)
        val stateActions =
@@ -1879,7 +1871,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testPlaybackActions_reservedSpace() {
        val customDesc = arrayOf("custom 1", "custom 2", "custom 3", "custom 4")
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        customDesc.forEach {
@@ -1917,7 +1908,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testPlaybackActions_playPause_hasButton() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val stateActions = PlaybackState.ACTION_PLAY_PAUSE
        val stateBuilder = PlaybackState.Builder().setActions(stateActions)
        whenever(controller.playbackState).thenReturn(stateBuilder.build())
@@ -2016,7 +2006,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testPlaybackState_PauseWhenFlagTrue_keyExists_callsListener() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        val state = PlaybackState.Builder().setState(PlaybackState.STATE_PAUSED, 0L, 1f).build()
        whenever(controller.playbackState).thenReturn(state)

@@ -2237,7 +2226,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testRetain_sessionPlayer_notifRemoved_doesNotChange() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2257,7 +2245,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testRetain_sessionPlayer_sessionDestroyed_setToResume() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2291,7 +2278,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testRetain_sessionPlayer_destroyedWhileActive_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions is added, and then the session is destroyed
@@ -2311,7 +2297,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testRetain_sessionPlayer_canResume_destroyedWhileActive_setToResume() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions and that does allow resumption is added,
@@ -2344,7 +2329,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testSessionPlayer_sessionDestroyed_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control with PlaybackState actions is added, times out,
@@ -2371,7 +2355,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testSessionPlayer_destroyedWhileActive_noResume_fullyRemoved() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions is added, and then the session is destroyed
@@ -2390,7 +2373,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {

    @Test
    fun testSessionPlayer_canResume_destroyedWhileActive_setToResume() {
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)
        addPlaybackStateAction()

        // When a media control using session actions and that does allow resumption is added,
@@ -2424,7 +2406,6 @@ class MediaDataProcessorTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Test
    fun testSessionDestroyed_noNotificationKey_stillRemoved() {
        fakeFeatureFlags.set(MEDIA_RETAIN_SESSIONS, true)
        fakeFeatureFlags.set(MEDIA_SESSION_ACTIONS, true)

        // When a notiifcation is added and then removed before it is fully processed
        mediaDataProcessor.onNotificationAdded(KEY, mediaNotification)