Loading packages/SystemUI/customization/tests/utils/src/com/android/systemui/shared/settings/data/repository/FakeSecureSettingsRepository.kt +5 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,11 @@ class FakeSecureSettingsRepository : SecureSettingsRepository { return intSetting(name, if (defaultValue) 1 else 0).map { it != 0 } } fun setBool(name: String, value: Boolean) { settings.value = settings.value.toMutableMap().apply { this[name] = (if (value) 1 else 0).toString() } } override suspend fun setInt(name: String, value: Int) { settings.value = settings.value.toMutableMap().apply { this[name] = value.toString() } } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt +16 −58 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ package com.android.systemui.communal.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Swipe Loading @@ -42,9 +40,9 @@ import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.SceneFamilies import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.shade.data.repository.fakeShadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test Loading Loading @@ -72,33 +70,21 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_singleShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableSingleShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -106,34 +92,22 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_splitShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableSplitShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -142,30 +116,22 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_dualShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableDualShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -173,11 +139,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) } private fun TestScope.setUpState( isShadeTouchable: Boolean, isDeviceUnlocked: Boolean, shadeMode: ShadeMode, ) { private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() } else { Loading @@ -189,10 +151,6 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } else { lockDevice() } if (shadeMode !is ShadeMode.Dual) { kosmos.fakeShadeRepository.setShadeLayoutWide(shadeMode is ShadeMode.Split) } runCurrent() } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt +28 −102 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ package com.android.systemui.dreams.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Swipe Loading @@ -42,9 +40,9 @@ import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.shade.data.repository.fakeShadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test Loading Loading @@ -72,36 +70,24 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -110,18 +96,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -129,18 +111,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -150,18 +124,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -169,14 +139,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -186,36 +152,24 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -224,18 +178,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -243,18 +193,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -264,18 +206,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -283,14 +221,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -299,11 +233,7 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.End)).isNull() } private fun TestScope.setUpState( isShadeTouchable: Boolean, isDeviceUnlocked: Boolean, shadeMode: ShadeMode, ) { private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() } else { Loading @@ -315,10 +245,6 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } else { lockDevice() } if (shadeMode !is ShadeMode.Dual) { kosmos.fakeShadeRepository.setShadeLayoutWide(shadeMode is ShadeMode.Split) } runCurrent() } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenContentViewModelTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.systemui.keyguard.ui.viewmodel import android.platform.test.annotations.EnableFlags import android.platform.test.flag.junit.FlagsParameterization import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase Loading @@ -37,7 +36,7 @@ import com.android.systemui.res.R import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.shadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.testKosmos import com.android.systemui.unfold.fakeUnfoldTransitionProgressProvider import com.android.systemui.util.mockito.whenever Loading Loading @@ -134,11 +133,11 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa } @Test @EnableFlags(DualShade.FLAG_NAME) fun areNotificationsVisible_dualShadeWideOnLockscreen_true() = with(kosmos) { testScope.runTest { val areNotificationsVisible by collectLastValue(underTest.areNotificationsVisible()) kosmos.enableDualShade() shadeRepository.setShadeLayoutWide(true) fakeKeyguardClockRepository.setClockSize(ClockSize.LARGE) Loading packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.notifications.ui.viewmodel import android.platform.test.annotations.EnableFlags import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest Loading @@ -36,8 +35,8 @@ import com.android.systemui.scene.domain.startable.sceneContainerStartable import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.shadeRepository import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.ui.viewmodel.notificationsShadeOverlayContentViewModel import com.android.systemui.statusbar.notification.data.repository.activeNotificationListRepository import com.android.systemui.statusbar.notification.data.repository.setActiveNotifs Loading @@ -56,7 +55,6 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @TestableLooper.RunWithLooper @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) class NotificationsShadeOverlayContentViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() Loading @@ -68,6 +66,7 @@ class NotificationsShadeOverlayContentViewModelTest : SysuiTestCase() { @Before fun setUp() { kosmos.sceneContainerStartable.start() kosmos.enableDualShade() underTest.activateIn(testScope) } Loading Loading
packages/SystemUI/customization/tests/utils/src/com/android/systemui/shared/settings/data/repository/FakeSecureSettingsRepository.kt +5 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,11 @@ class FakeSecureSettingsRepository : SecureSettingsRepository { return intSetting(name, if (defaultValue) 1 else 0).map { it != 0 } } fun setBool(name: String, value: Boolean) { settings.value = settings.value.toMutableMap().apply { this[name] = (if (value) 1 else 0).toString() } } override suspend fun setInt(name: String, value: Int) { settings.value = settings.value.toMutableMap().apply { this[name] = value.toString() } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt +16 −58 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ package com.android.systemui.communal.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Swipe Loading @@ -42,9 +40,9 @@ import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.SceneFamilies import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.shade.data.repository.fakeShadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test Loading Loading @@ -72,33 +70,21 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_singleShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableSingleShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -106,34 +92,22 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_splitShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableSplitShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -142,30 +116,22 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_dualShade() = testScope.runTest { val actions by collectLastValue(underTest.actions) kosmos.enableDualShade() setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(SceneFamilies.Home)) assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) Loading @@ -173,11 +139,7 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade)) } private fun TestScope.setUpState( isShadeTouchable: Boolean, isDeviceUnlocked: Boolean, shadeMode: ShadeMode, ) { private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() } else { Loading @@ -189,10 +151,6 @@ class CommunalUserActionsViewModelTest : SysuiTestCase() { } else { lockDevice() } if (shadeMode !is ShadeMode.Dual) { kosmos.fakeShadeRepository.setShadeLayoutWide(shadeMode is ShadeMode.Split) } runCurrent() } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt +28 −102 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ package com.android.systemui.dreams.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.compose.animation.scene.Swipe Loading @@ -42,9 +40,9 @@ import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.ToSplitShade import com.android.systemui.shade.data.repository.fakeShadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.shared.model.ShadeMode import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.enableSingleShade import com.android.systemui.shade.domain.interactor.enableSplitShade import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test Loading Loading @@ -72,36 +70,24 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -110,18 +96,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -129,18 +111,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -150,18 +124,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_communalNotAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(false) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -169,14 +139,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isNull() assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -186,36 +152,24 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_singleShade() = testScope.runTest { kosmos.enableSingleShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Single, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade)) Loading @@ -224,18 +178,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @DisableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_splitShade() = testScope.runTest { kosmos.enableSplitShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -243,18 +193,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState( isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Split, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -264,18 +206,14 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } @Test @EnableFlags(DualShade.FLAG_NAME) fun actions_communalAvailable_dualShade() = testScope.runTest { kosmos.enableDualShade() kosmos.setCommunalAvailable(true) val actions by collectLastValue(underTest.actions) setUpState( isShadeTouchable = true, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = true, isDeviceUnlocked = false) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer)) assertThat(actions?.get(Swipe.Down)) Loading @@ -283,14 +221,10 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.Start)).isEqualTo(UserActionResult(Scenes.Communal)) assertThat(actions?.get(Swipe.End)).isNull() setUpState( isShadeTouchable = false, isDeviceUnlocked = false, shadeMode = ShadeMode.Dual, ) setUpState(isShadeTouchable = false, isDeviceUnlocked = false) assertThat(actions).isEmpty() setUpState(isShadeTouchable = true, isDeviceUnlocked = true, shadeMode = ShadeMode.Dual) setUpState(isShadeTouchable = true, isDeviceUnlocked = true) assertThat(actions).isNotEmpty() assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Gone)) assertThat(actions?.get(Swipe.Down)) Loading @@ -299,11 +233,7 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { assertThat(actions?.get(Swipe.End)).isNull() } private fun TestScope.setUpState( isShadeTouchable: Boolean, isDeviceUnlocked: Boolean, shadeMode: ShadeMode, ) { private fun TestScope.setUpState(isShadeTouchable: Boolean, isDeviceUnlocked: Boolean) { if (isShadeTouchable) { kosmos.powerInteractor.setAwakeForTest() } else { Loading @@ -315,10 +245,6 @@ class DreamUserActionsViewModelTest : SysuiTestCase() { } else { lockDevice() } if (shadeMode !is ShadeMode.Dual) { kosmos.fakeShadeRepository.setShadeLayoutWide(shadeMode is ShadeMode.Split) } runCurrent() } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenContentViewModelTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.systemui.keyguard.ui.viewmodel import android.platform.test.annotations.EnableFlags import android.platform.test.flag.junit.FlagsParameterization import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase Loading @@ -37,7 +36,7 @@ import com.android.systemui.res.R import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.shadeRepository import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.testKosmos import com.android.systemui.unfold.fakeUnfoldTransitionProgressProvider import com.android.systemui.util.mockito.whenever Loading Loading @@ -134,11 +133,11 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa } @Test @EnableFlags(DualShade.FLAG_NAME) fun areNotificationsVisible_dualShadeWideOnLockscreen_true() = with(kosmos) { testScope.runTest { val areNotificationsVisible by collectLastValue(underTest.areNotificationsVisible()) kosmos.enableDualShade() shadeRepository.setShadeLayoutWide(true) fakeKeyguardClockRepository.setClockSize(ClockSize.LARGE) Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.notifications.ui.viewmodel import android.platform.test.annotations.EnableFlags import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest Loading @@ -36,8 +35,8 @@ import com.android.systemui.scene.domain.startable.sceneContainerStartable import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.shadeRepository import com.android.systemui.shade.domain.interactor.enableDualShade import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.shade.shared.flag.DualShade import com.android.systemui.shade.ui.viewmodel.notificationsShadeOverlayContentViewModel import com.android.systemui.statusbar.notification.data.repository.activeNotificationListRepository import com.android.systemui.statusbar.notification.data.repository.setActiveNotifs Loading @@ -56,7 +55,6 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @TestableLooper.RunWithLooper @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) class NotificationsShadeOverlayContentViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() Loading @@ -68,6 +66,7 @@ class NotificationsShadeOverlayContentViewModelTest : SysuiTestCase() { @Before fun setUp() { kosmos.sceneContainerStartable.start() kosmos.enableDualShade() underTest.activateIn(testScope) } Loading