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

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

Merge "[Flexiglass] prevent usage of KeyguarMediaController when flag is enabled." into main

parents bcf87a8c e43f70a5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.test.filters.SmallTest
import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.DisableSceneContainer
import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.kosmos.applicationCoroutineScope
@@ -67,6 +68,7 @@ import org.mockito.junit.MockitoJUnit
@SmallTest
@RunWith(AndroidJUnit4::class)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@DisableSceneContainer
class KeyguardMediaControllerTest : SysuiTestCase() {

    @Mock private lateinit var mediaHost: MediaHost
+4 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.systemui.keyguard.ui.view.layout.sections.SmartspaceSection
import com.android.systemui.keyguard.ui.view.layout.sections.SplitShadeGuidelines
import com.android.systemui.keyguard.ui.view.layout.sections.SplitShadeMediaSection
import com.android.systemui.keyguard.ui.view.layout.sections.SplitShadeNotificationStackScrollLayoutSection
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.util.kotlin.getOrNull
import java.util.Optional
import javax.inject.Inject
@@ -68,7 +69,8 @@ constructor(
) : KeyguardBlueprint {
    override val id: String = ID

    override val sections =
    override val sections by lazy {
        SceneContainerFlag.assertInLegacyMode()
        listOfNotNull(
            accessibilityActionsSection,
            defaultIndicationAreaSection,
@@ -86,6 +88,7 @@ constructor(
            mediaSection,
            defaultDeviceEntrySection, // Add LAST: Intentionally has z-order above other views.
        )
    }

    companion object {
        const val ID = "split-shade"
+2 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.systemui.customization.clocks.R as clocksR
import com.android.systemui.keyguard.shared.model.KeyguardSection
import com.android.systemui.media.controls.ui.controller.KeyguardMediaController
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.shade.ShadeDisplayAware
import javax.inject.Inject

@@ -44,6 +45,7 @@ constructor(
    private val mediaContainerId = R.id.status_view_media_container

    override fun addViews(constraintLayout: ConstraintLayout) {
        SceneContainerFlag.assertInLegacyMode()
        val mediaFrame =
            FrameLayout(context, null).apply {
                id = mediaContainerId
+10 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.systemui.media.remedia.ui.viewmodel.MediaCarouselVisibility
import com.android.systemui.media.remedia.ui.viewmodel.MediaFalsingSystem
import com.android.systemui.media.remedia.ui.viewmodel.MediaViewModel
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.shade.ShadeDisplayAware
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.SysuiStatusBarStateController
@@ -76,7 +77,7 @@ constructor(
    private val bypassController: KeyguardBypassController,
    private val statusBarStateController: SysuiStatusBarStateController,
    @ShadeDisplayAware private val context: Context,
    @ShadeDisplayAware configurationController: ConfigurationController,
    @ShadeDisplayAware private val configurationController: ConfigurationController,
    private val splitShadeStateController: SplitShadeStateController,
    private val logger: KeyguardMediaControllerLogger,
    dumpManager: DumpManager,
@@ -106,6 +107,11 @@ constructor(

    init {
        dumpManager.registerDumpable(this)
        setUpListenersAndCallbacks()
    }

    private fun setUpListenersAndCallbacks() {
        if (SceneContainerFlag.isEnabled) return

        if (!MediaControlsInComposeFlag.isEnabled) {
            // First let's set the desired state that we want for this host
@@ -200,6 +206,7 @@ constructor(
     * Attaches media container in single pane mode, situated at the top of the notifications list
     */
    fun attachSinglePaneContainer(mediaView: MediaContainerView?) {
        SceneContainerFlag.assertInLegacyMode()
        if (MediaControlsInComposeFlag.isEnabled) {
            singlePaneContainer = mediaView
            reattachHostView()
@@ -243,6 +250,7 @@ constructor(

    /** Attaches media container in split shade mode, situated to the left of notifications */
    fun attachSplitShadeContainer(container: ViewGroup) {
        SceneContainerFlag.assertInLegacyMode()
        splitShadeContainer = container
        reattachHostView()
        refreshMediaPosition(reason = "attachSplitShadeContainer")
@@ -290,6 +298,7 @@ constructor(
    }

    fun refreshMediaPosition(reason: String) {
        SceneContainerFlag.assertInLegacyMode()
        val currentState = statusBarStateController.state

        val keyguardOrUserSwitcher = (currentState == StatusBarState.KEYGUARD)
+4 −2
Original line number Diff line number Diff line
@@ -1026,8 +1026,10 @@ public final class NotificationPanelViewController implements
            mQsController.updateResources();
            mNotificationsQSContainerController.updateResources();
            updateKeyguardStatusViewAlignment();
            if (!SceneContainerFlag.isEnabled()) {
                mKeyguardMediaController.refreshMediaPosition(
                        "NotificationPanelViewController.updateResources");
            }

            if (splitShadeChanged) {
                if (isPanelVisibleBecauseOfHeadsUp()) {
Loading