Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModelTest.kt +32 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.systemui.qs.fgsManagerController import com.android.systemui.qs.panels.domain.interactor.tileSquishinessInteractor 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 Loading Loading @@ -438,9 +439,11 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() } @Test fun qsVisibleAndAnyShadeVisible() = fun qsVisibleAndAnyShadeVisible_userTracking_false() = with(kosmos) { testScope.testWithinLifecycle { fakeShadeRepository.setUserTracking(false) underTest.isQsVisible = false fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false) assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse() Loading @@ -459,6 +462,30 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() } } @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.isQsVisible = true fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true) assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isTrue() } } @Test fun isEditing() = with(kosmos) { Loading Loading @@ -493,6 +520,10 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() runCurrent() } private fun FakeShadeRepository.setUserTracking(tracking: Boolean) { setLegacyShadeTracking(tracking) } companion object { private const val QS_DISABLE_FLAG = StatusBarManager.DISABLE2_QUICK_SETTINGS Loading packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt +7 −1 Original line number Diff line number Diff line Loading @@ -135,7 +135,7 @@ constructor( var isQsVisible by mutableStateOf(false) val isQsVisibleAndAnyShadeExpanded: Boolean get() = anyShadeExpanded && 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 @@ -454,6 +454,12 @@ constructor( 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
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModelTest.kt +32 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.systemui.qs.fgsManagerController import com.android.systemui.qs.panels.domain.interactor.tileSquishinessInteractor 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 Loading Loading @@ -438,9 +439,11 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() } @Test fun qsVisibleAndAnyShadeVisible() = fun qsVisibleAndAnyShadeVisible_userTracking_false() = with(kosmos) { testScope.testWithinLifecycle { fakeShadeRepository.setUserTracking(false) underTest.isQsVisible = false fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(false) assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isFalse() Loading @@ -459,6 +462,30 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() } } @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.isQsVisible = true fakeShadeRepository.setLegacyExpandedOrAwaitingInputTransfer(true) assertThat(underTest.isQsVisibleAndAnyShadeExpanded).isTrue() } } @Test fun isEditing() = with(kosmos) { Loading Loading @@ -493,6 +520,10 @@ class QSFragmentComposeViewModelTest : AbstractQSFragmentComposeViewModelTest() runCurrent() } private fun FakeShadeRepository.setUserTracking(tracking: Boolean) { setLegacyShadeTracking(tracking) } companion object { private const val QS_DISABLE_FLAG = StatusBarManager.DISABLE2_QUICK_SETTINGS Loading
packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt +7 −1 Original line number Diff line number Diff line Loading @@ -135,7 +135,7 @@ constructor( var isQsVisible by mutableStateOf(false) val isQsVisibleAndAnyShadeExpanded: Boolean get() = anyShadeExpanded && 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 @@ -454,6 +454,12 @@ constructor( 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