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

Commit 4606bf96 authored by Nicolo' Mazzucato's avatar Nicolo' Mazzucato
Browse files

Fix QuickQSPanelControllerTest when ShadeWindowGoesAround flag is on

Bug: 362719719
Bug: 391929792
Test: QuickQSPanelControllerTest
Flag: com.android.systemui.shade_window_goes_around
Change-Id: I9c74cc6fefecd53fa64ac933e5e7173e2e44f665
parent 9c62414f
Loading
Loading
Loading
Loading
+38 −2
Original line number Diff line number Diff line
@@ -17,11 +17,14 @@
package com.android.systemui.qs

import android.content.res.Configuration
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.view.ContextThemeWrapper
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.logging.MetricsLogger
import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.haptics.qs.QSLongPressEffect
@@ -33,6 +36,7 @@ import com.android.systemui.qs.customize.QSCustomizerController
import com.android.systemui.qs.logging.QSLogger
import com.android.systemui.res.R
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener
import com.android.systemui.statusbar.policy.ResourcesSplitShadeStateController
import com.android.systemui.util.leak.RotationUtils
import javax.inject.Provider
@@ -63,6 +67,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
    @Mock private lateinit var tile: QSTile
    @Mock private lateinit var tileLayout: TileLayout
    @Captor private lateinit var captor: ArgumentCaptor<QSPanel.OnConfigurationChangedListener>
    @Captor private lateinit var configCaptor: ArgumentCaptor<ConfigurationListener>
    @Mock private lateinit var longPressEffectProvider: Provider<QSLongPressEffect>
    @Mock private lateinit var mediaCarouselInteractor: MediaCarouselInteractor
    @Mock private lateinit var configurationController: ConfigurationController
@@ -135,7 +140,8 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
    }

    @Test
    fun mediaExpansion_afterConfigChange_inLandscape_collapsedInLandscapeTrue_updatesToCollapsed() {
    @DisableFlags(Flags.FLAG_SHADE_WINDOW_GOES_AROUND)
    fun mediaExpansion_afterConfigChange_inLandscape_collapsedInLandscapeTrue_updatesToCollapsed_old() {
        verify(quickQSPanel).addOnConfigurationChangedListener(captor.capture())

        // verify that media starts in the expanded state by default
@@ -150,7 +156,24 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
    }

    @Test
    fun mediaExpansion_afterConfigChange_landscape_collapsedInLandscapeFalse_remainsExpanded() {
    @EnableFlags(Flags.FLAG_SHADE_WINDOW_GOES_AROUND)
    fun mediaExpansion_afterConfigChange_inLandscape_collapsedInLandscapeTrue_updatesToCollapsed() {
        verify(configurationController).addCallback(configCaptor.capture())

        // verify that media starts in the expanded state by default
        verify(mediaHost).expansion = MediaHostState.EXPANDED

        // Rotate device, verify media size updated to collapsed
        usingCollapsedLandscapeMedia = true
        controller.setRotation(RotationUtils.ROTATION_LANDSCAPE)
        configCaptor.allValues.forEach { it.onConfigChanged(Configuration.EMPTY) }

        verify(mediaHost).expansion = MediaHostState.COLLAPSED
    }

    @Test
    @DisableFlags(Flags.FLAG_SHADE_WINDOW_GOES_AROUND)
    fun mediaExpansion_afterConfigChange_landscape_collapsedInLandscapeFalse_remainsExpanded_old() {
        verify(quickQSPanel).addOnConfigurationChangedListener(captor.capture())
        reset(mediaHost)

@@ -161,6 +184,19 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
        verify(mediaHost).expansion = MediaHostState.EXPANDED
    }

    @Test
    @EnableFlags(Flags.FLAG_SHADE_WINDOW_GOES_AROUND)
    fun mediaExpansion_afterConfigChange_landscape_collapsedInLandscapeFalse_remainsExpanded() {
        verify(configurationController).addCallback(configCaptor.capture())
        reset(mediaHost)

        usingCollapsedLandscapeMedia = false
        controller.setRotation(RotationUtils.ROTATION_LANDSCAPE)
        configCaptor.allValues.forEach { it.onConfigChanged(Configuration.EMPTY) }

        verify(mediaHost).expansion = MediaHostState.EXPANDED
    }

    class TestQuickQSPanelController(
        view: QuickQSPanel,
        qsHost: QSHost,