Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModelTest.kt +32 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } } Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java +0 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt +0 −4 Original line number Diff line number Diff line Loading @@ -464,10 +464,6 @@ constructor( viewModel.isStackScrollerOverscrolling = overscrolling } override fun setPanelExpanded(panelExpanded: Boolean) { viewModel.isPanelExpanded = panelExpanded } override fun setExpanded(qsExpanded: Boolean) { viewModel.isQsExpanded = qsExpanded } Loading packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt +14 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -211,8 +211,6 @@ constructor( var heightOverride by mutableStateOf(-1) var isPanelExpanded by mutableStateOf(false) val expansionState by derivedStateOf { if (forceQs) { QSExpansionState(1f) Loading Loading @@ -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( Loading Loading @@ -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) Loading packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +1 −3 Original line number Diff line number Diff line Loading @@ -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 Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModelTest.kt +32 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } } Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java +0 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading
packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt +0 −4 Original line number Diff line number Diff line Loading @@ -464,10 +464,6 @@ constructor( viewModel.isStackScrollerOverscrolling = overscrolling } override fun setPanelExpanded(panelExpanded: Boolean) { viewModel.isPanelExpanded = panelExpanded } override fun setExpanded(qsExpanded: Boolean) { viewModel.isQsExpanded = qsExpanded } Loading
packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt +14 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -211,8 +211,6 @@ constructor( var heightOverride by mutableStateOf(-1) var isPanelExpanded by mutableStateOf(false) val expansionState by derivedStateOf { if (forceQs) { QSExpansionState(1f) Loading Loading @@ -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( Loading Loading @@ -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) Loading
packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +1 −3 Original line number Diff line number Diff line Loading @@ -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