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

Commit c6393e7f authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Clean up media_controls_umo_inflation_in_background flag" into main

parents 0d2f511b 387638fd
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -1340,16 +1340,6 @@ flag {
  bug: "360196209"
}

flag {
  name: "media_controls_umo_inflation_in_background"
  namespace: "systemui"
  description: "Inflate UMO in background thread"
  bug: "368514198"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}

flag {
  name: "media_controls_ui_update"
  namespace: "systemui"
+20 −43
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ import com.android.internal.logging.InstanceId
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.Dumpable
import com.android.systemui.Flags.mediaControlsUmoInflationInBackground
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
@@ -452,16 +451,11 @@ constructor(
                    immediately: Boolean,
                ) {
                    debugLogger.logMediaLoaded(key, data.active)
                    val onUiExecutionEnd =
                        if (mediaControlsUmoInflationInBackground()) {
                            Runnable {
                    val onUiExecutionEnd = Runnable {
                        if (immediately) {
                            updateHostVisibility()
                        }
                    }
                        } else {
                            null
                        }
                    addOrUpdatePlayer(key, oldKey, data, onUiExecutionEnd)

                    val canRemove = data.isPlaying?.let { !it } ?: data.isClearable && !data.active
@@ -757,7 +751,7 @@ constructor(
        key: String,
        oldKey: String?,
        data: MediaData,
        onUiExecutionEnd: Runnable? = null,
        onUiExecutionEnd: Runnable,
    ): Boolean =
        traceSection("MediaCarouselController#addOrUpdatePlayer") {
            MediaPlayerData.moveIfExists(oldKey, key)
@@ -765,7 +759,6 @@ constructor(
            val curVisibleMediaKey =
                MediaPlayerData.visiblePlayerKeys()
                    .elementAtOrNull(mediaCarouselScrollHandler.visibleMediaIndex)
            if (mediaControlsUmoInflationInBackground()) {
            if (existingPlayer == null) {
                bgExecutor.execute {
                    val mediaViewHolder = createMediaViewHolderInBg()
@@ -778,34 +771,18 @@ constructor(
                            MediaPlayerData.getFirstActiveMediaData()
                        )
                        mediaFrame.requiresRemeasuring = true
                            onUiExecutionEnd?.run()
                        }
                        onUiExecutionEnd.run()
                    }
                } else {
                    updatePlayer(key, data, curVisibleMediaKey, existingPlayer)
                    updatePageIndicator()
                    mediaCarouselScrollHandler.onPlayersChanged()
                    mediaControlChipInteractor.updateMediaControlChipModelLegacy(
                        MediaPlayerData.getFirstActiveMediaData()
                    )
                    mediaFrame.requiresRemeasuring = true
                    onUiExecutionEnd?.run()
                }
            } else {
                if (existingPlayer == null) {
                    val mediaViewHolder =
                        MediaViewHolder.create(LayoutInflater.from(context), mediaContent)
                    setupNewPlayer(key, data, curVisibleMediaKey, mediaViewHolder)
            } else {
                updatePlayer(key, data, curVisibleMediaKey, existingPlayer)
                }
                updatePageIndicator()
                mediaCarouselScrollHandler.onPlayersChanged()
                mediaControlChipInteractor.updateMediaControlChipModelLegacy(
                    MediaPlayerData.getFirstActiveMediaData()
                )
                mediaFrame.requiresRemeasuring = true
                onUiExecutionEnd?.run()
                onUiExecutionEnd.run()
            }
            return existingPlayer == null
        }
+3 −8
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.media.controls.ui.controller

import com.android.app.tracing.traceSection
import com.android.systemui.Dumpable
import com.android.systemui.Flags.mediaControlsUmoInflationInBackground
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dump.DumpManager
import com.android.systemui.media.controls.ui.view.MediaHostState
@@ -99,15 +98,11 @@ class MediaHostStatesManager @Inject constructor(dumpManager: DumpManager) : Dum
                    }
                }
            }
            if (mediaControlsUmoInflationInBackground()) {
            // Set carousel size if result measurements changed. This avoids setting carousel
            // size when this method gets called before the addition of media view controllers
            if (!carouselSizes.contains(location) || changed) {
                carouselSizes[location] = result
            }
            } else {
                carouselSizes[location] = result
            }
            return carouselSizes[location] ?: result
        }

+0 −15
Original line number Diff line number Diff line
@@ -20,9 +20,7 @@ import android.graphics.Rect
import android.util.ArraySet
import android.view.View
import android.view.View.OnAttachStateChangeListener
import com.android.systemui.Flags.mediaControlsUmoInflationInBackground
import com.android.systemui.media.controls.domain.pipeline.MediaDataManager
import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.controls.ui.controller.MediaCarouselController
import com.android.systemui.media.controls.ui.controller.MediaCarouselControllerLogger
import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
@@ -87,19 +85,6 @@ class MediaHost(

    private val listener =
        object : MediaDataManager.Listener {
            override fun onMediaDataLoaded(
                key: String,
                oldKey: String?,
                data: MediaData,
                immediately: Boolean,
            ) {
                if (mediaControlsUmoInflationInBackground()) return

                if (immediately) {
                    updateViewVisibility()
                }
            }

            override fun onMediaDataRemoved(key: String, userInitiated: Boolean) {
                updateViewVisibility()
            }
+5 −24
Original line number Diff line number Diff line
@@ -21,17 +21,16 @@ import android.content.res.ColorStateList
import android.content.res.Configuration
import android.database.ContentObserver
import android.os.LocaleList
import android.platform.test.flag.junit.FlagsParameterization
import android.provider.Settings
import android.testing.TestableLooper
import android.util.MathUtils.abs
import android.view.View
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.compose.animation.scene.ObservableTransitionState
import com.android.compose.animation.scene.SceneKey
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.Flags.mediaControlsUmoInflationInBackground
import com.android.systemui.SysuiTestCase
import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
import com.android.systemui.dump.DumpManager
@@ -99,8 +98,6 @@ import org.mockito.MockitoAnnotations
import org.mockito.kotlin.any
import org.mockito.kotlin.capture
import org.mockito.kotlin.eq
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

private val DATA = MediaTestUtils.emptyMediaData

@@ -109,8 +106,8 @@ private const val PLAYING_LOCAL = "playing local"

@SmallTest
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@RunWith(ParameterizedAndroidJunit4::class)
class MediaCarouselControllerTest(flags: FlagsParameterization) : SysuiTestCase() {
@RunWith(AndroidJUnit4::class)
class MediaCarouselControllerTest : SysuiTestCase() {
    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
    private val testDispatcher = kosmos.testDispatcher
    private val secureSettings = kosmos.fakeSettings
@@ -150,20 +147,6 @@ class MediaCarouselControllerTest(flags: FlagsParameterization) : SysuiTestCase(
    private var originalResumeSetting =
        Settings.Secure.getInt(context.contentResolver, Settings.Secure.MEDIA_CONTROLS_RESUME, 1)

    companion object {
        @JvmStatic
        @Parameters(name = "{0}")
        fun getParams(): List<FlagsParameterization> {
            return FlagsParameterization.progressionOf(
                com.android.systemui.Flags.FLAG_MEDIA_CONTROLS_UMO_INFLATION_IN_BACKGROUND
            )
        }
    }

    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }

    @Before
    fun setup() {
        MockitoAnnotations.initMocks(this)
@@ -1000,9 +983,7 @@ class MediaCarouselControllerTest(flags: FlagsParameterization) : SysuiTestCase(
    }

    private fun runAllReady() {
        if (mediaControlsUmoInflationInBackground()) {
        bgExecutor.runAllReady()
        uiExecutor.runAllReady()
    }
}
}