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

Commit f41c611a authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Android (Google) Code Review
Browse files

Merge "Revert "React earlier to expansion"" into main

parents 3d8fff22 c4397a87
Loading
Loading
Loading
Loading
+32 −5
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.systemui.qs.panels.domain.interactor.tileSquishinessInteracto
import com.android.systemui.qs.panels.ui.viewmodel.setConfigurationForMediaInRow
import com.android.systemui.res.R
import com.android.systemui.shade.data.repository.FakeShadeRepository
import com.android.systemui.shade.data.repository.fakeShadeRepository
import com.android.systemui.shade.largeScreenHeaderHelper
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.disableflags.data.repository.fakeDisableFlagsRepository
@@ -438,23 +439,49 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest()
        }

    @Test
    fun qsVisibleAndAnyShadeExpanded() =
    fun qsVisibleAndAnyShadeVisible_userTracking_false() =
        with(kosmos) {
            testScope.testWithinLifecycle {
                underTest.isPanelExpanded = false
                fakeShadeRepository.setUserTracking(false)

                underTest.isQsVisible = false
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse()

                underTest.isPanelExpanded = false
                underTest.isQsVisible = true
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse()

                underTest.isPanelExpanded = true
                underTest.isQsVisible = false
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse()

                underTest.isQsVisible = true
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isTrue()
            }
        }

    @Test
    fun qsVisibleAndAnyShadeVisible_userTracking_true() =
        with(kosmos) {
            testScope.testWithinLifecycle {
                fakeShadeRepository.setUserTracking(true)

                underTest.isQsVisible = false
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse()

                underTest.isQsVisible = true
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isTrue()

                underTest.isQsVisible = false
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse()

                underTest.isPanelExpanded = true
                underTest.isQsVisible = true
                fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true)
                assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isTrue()
            }
        }
+0 −2
Original line number Diff line number Diff line
@@ -203,8 +203,6 @@ public interface QS extends FragmentBase {
     */
    void setIsNotificationPanelFullWidth(boolean isFullWidth);

    default void setPanelExpanded(boolean panelExpanded) {}

    /**
     * Callback for when QSPanel container is scrolled
     */
+0 −4
Original line number Diff line number Diff line
@@ -464,10 +464,6 @@ constructor(
        viewModel.isStackScrollerOverscrolling = overscrolling
    }

    override fun setPanelExpanded(panelExpanded: Boolean) {
        viewModel.isPanelExpanded = panelExpanded
    }

    override fun setExpanded(qsExpanded: Boolean) {
        viewModel.isQsExpanded = qsExpanded
    }
+14 −4
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ constructor(
    var isQsVisible by mutableStateOf(false)

    val isQsVisibleAndAnyShadeExpanded: Boolean
        get() = isPanelExpanded && isQsVisible
        get() = (anyShadeExpanded || isUserInteracting) && isQsVisible

    // This can only be negative if undefined (in which case it will be -1f), else it will be
    // in [0, 1]. In some cases, it could be set back to -1f internally to indicate that it's
@@ -211,8 +211,6 @@ constructor(

    var heightOverride by mutableStateOf(-1)

    var isPanelExpanded by mutableStateOf(false)

    val expansionState by derivedStateOf {
        if (forceQs) {
            QSExpansionState(1f)
@@ -450,6 +448,18 @@ constructor(
                ),
        )

    private val anyShadeExpanded by
        hydrator.hydratedStateOf(
            traceName = "anyShadeExpanded",
            source = shadeInteractor.isAnyExpanded,
        )

    private val isUserInteracting by
        hydrator.hydratedStateOf(
            traceName = "isUserInteracting",
            source = shadeInteractor.isUserInteracting,
        )

    fun applyNewQsScrollerBounds(left: Float, top: Float, right: Float, bottom: Float) {
        if (usingMedia) {
            qsMediaHost.currentClipping.set(
@@ -533,7 +543,7 @@ constructor(
            printSection("Quick Settings state") {
                println("isQSExpanded", isQsExpanded)
                println("isQSVisible", isQsVisible)
                println("isPanelExpanded", isPanelExpanded)
                println("anyShadeExpanded", anyShadeExpanded)
                println("isQSVisibleAndAnyShadeExpanded", isQsVisibleAndAnyShadeExpanded)
                println("isQSEnabled", isQsEnabled)
                println("isCustomizing", containerViewModel.editModeViewModel.isEditing.value)
+1 −3
Original line number Diff line number Diff line
@@ -3229,10 +3229,8 @@ public final class NotificationPanelViewController implements
    @Override
    public void updateExpansionAndVisibility() {
        if (!SceneContainerFlag.isEnabled()) {
            boolean isExpanded = isExpanded();
            mShadeExpansionStateManager.onPanelExpansionChanged(
                    mExpandedFraction, isExpanded, isTracking());
            mQsController.setPanelExpanded(isExpanded);
                    mExpandedFraction, isExpanded(), isTracking());
        }
        updateVisibility();
    }
Loading