Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt +0 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ import com.android.systemui.scene.data.repository.Transition import com.android.systemui.scene.data.repository.setSceneTransition import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.domain.resolver.notifShadeSceneFamilyResolver import com.android.systemui.scene.domain.resolver.quickSettingsSceneFamilyResolver import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.testKosmos Loading Loading @@ -80,7 +79,6 @@ class KeyguardDismissActionInteractorTest : SysuiTestCase() { applicationScope = testScope.backgroundScope, sceneInteractor = { kosmos.sceneInteractor }, deviceUnlockedInteractor = { kosmos.deviceUnlockedInteractor }, quickSettingsSceneFamilyResolver = { kosmos.quickSettingsSceneFamilyResolver }, notifShadeSceneFamilyResolver = { kosmos.notifShadeSceneFamilyResolver }, powerInteractor = kosmos.powerInteractor, alternateBouncerInteractor = kosmos.alternateBouncerInteractor, Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt +4 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolver import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolver import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.ShadeInteractor Loading Loading @@ -64,7 +63,6 @@ constructor( @Application private val applicationScope: CoroutineScope, sceneInteractor: Lazy<SceneInteractor>, deviceUnlockedInteractor: Lazy<DeviceUnlockedInteractor>, quickSettingsSceneFamilyResolver: Lazy<QuickSettingsSceneFamilyResolver>, notifShadeSceneFamilyResolver: Lazy<NotifShadeSceneFamilyResolver>, powerInteractor: PowerInteractor, alternateBouncerInteractor: AlternateBouncerInteractor, Loading Loading @@ -109,7 +107,7 @@ constructor( deviceUnlockedInteractor.get().deviceUnlockStatus, ) { scene, unlockStatus -> unlockStatus.isUnlocked && (quickSettingsSceneFamilyResolver.get().includesScene(scene) || (scene == Scenes.QuickSettings || notifShadeSceneFamilyResolver.get().includesScene(scene)) } .distinctUntilChanged() Loading @@ -133,7 +131,7 @@ constructor( merge( finishedTransitionToGone, isOnShadeWhileUnlocked.filter { it }.map {}, dismissInteractor.dismissKeyguardRequestWithImmediateDismissAction dismissInteractor.dismissKeyguardRequestWithImmediateDismissAction, ) .sample(dismissAction) .filterNot { it is DismissAction.None } Loading @@ -143,11 +141,11 @@ constructor( combine( transitionInteractor.isFinishedIn( scene = Scenes.Gone, stateWithoutSceneContainer = GONE stateWithoutSceneContainer = GONE, ), transitionInteractor.isFinishedIn( scene = Scenes.Bouncer, stateWithoutSceneContainer = PRIMARY_BOUNCER stateWithoutSceneContainer = PRIMARY_BOUNCER, ), alternateBouncerInteractor.isVisible, isOnShadeWhileUnlocked, Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt +19 −14 Original line number Diff line number Diff line Loading @@ -21,13 +21,11 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.TransitionKey import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor 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.scene.ui.viewmodel.SceneContainerEdge Loading Loading @@ -71,9 +69,8 @@ constructor( addAll( when (shadeMode) { ShadeMode.Single -> fullscreenShadeActions() ShadeMode.Split -> fullscreenShadeActions(transitionKey = ToSplitShade) ShadeMode.Single -> singleShadeActions() ShadeMode.Split -> splitShadeActions() ShadeMode.Dual -> dualShadeActions() } ) Loading @@ -84,18 +81,26 @@ constructor( .collect { setActions(it) } } private fun fullscreenShadeActions( transitionKey: TransitionKey? = null ): Array<Pair<UserAction, UserActionResult>> { val notifShadeSceneKey = UserActionResult(SceneFamilies.NotifShade, transitionKey) val qsShadeSceneKey = UserActionResult(SceneFamilies.QuickSettings, transitionKey) private fun singleShadeActions(): Array<Pair<UserAction, UserActionResult>> { return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to notifShadeSceneKey, swipeDown(pointerCount = 2) to notifShadeSceneKey, Swipe.Down to Scenes.Shade, swipeDown(pointerCount = 2) to Scenes.Shade, // Swiping down from the top edge goes to QS. swipeDownFromTop(pointerCount = 1) to qsShadeSceneKey, swipeDownFromTop(pointerCount = 2) to qsShadeSceneKey, swipeDownFromTop(pointerCount = 1) to Scenes.QuickSettings, swipeDownFromTop(pointerCount = 2) to Scenes.QuickSettings, ) } private fun splitShadeActions(): Array<Pair<UserAction, UserActionResult>> { val splitShadeSceneKey = UserActionResult(Scenes.Shade, ToSplitShade) return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to splitShadeSceneKey, swipeDown(pointerCount = 2) to splitShadeSceneKey, // Swiping down from the top edge goes to QS. swipeDownFromTop(pointerCount = 1) to splitShadeSceneKey, swipeDownFromTop(pointerCount = 2) to splitShadeSceneKey, ) } Loading packages/SystemUI/src/com/android/systemui/scene/KeyguardlessSceneContainerFrameworkModule.kt +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.systemui.scene.domain.SceneDomainModule import com.android.systemui.scene.domain.interactor.WindowRootViewVisibilityInteractor import com.android.systemui.scene.domain.resolver.HomeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolverModule import com.android.systemui.scene.domain.startable.KeyguardStateCallbackStartable import com.android.systemui.scene.domain.startable.SceneContainerStartable import com.android.systemui.scene.domain.startable.ScrimStartable Loading Loading @@ -57,7 +56,6 @@ import dagger.multibindings.IntoMap // List SceneResolver modules for supported SceneFamilies HomeSceneFamilyResolverModule::class, NotifShadeSceneFamilyResolverModule::class, QuickSettingsSceneFamilyResolverModule::class, ] ) interface KeyguardlessSceneContainerFrameworkModule { Loading packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.systemui.scene.domain.SceneDomainModule import com.android.systemui.scene.domain.interactor.WindowRootViewVisibilityInteractor import com.android.systemui.scene.domain.resolver.HomeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolverModule import com.android.systemui.scene.domain.startable.KeyguardStateCallbackStartable import com.android.systemui.scene.domain.startable.SceneContainerStartable import com.android.systemui.scene.domain.startable.ScrimStartable Loading Loading @@ -61,7 +60,6 @@ import dagger.multibindings.IntoMap // List SceneResolver modules for supported SceneFamilies HomeSceneFamilyResolverModule::class, NotifShadeSceneFamilyResolverModule::class, QuickSettingsSceneFamilyResolverModule::class, ] ) interface SceneContainerFrameworkModule { Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt +0 −2 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ import com.android.systemui.scene.data.repository.Transition import com.android.systemui.scene.data.repository.setSceneTransition import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.domain.resolver.notifShadeSceneFamilyResolver import com.android.systemui.scene.domain.resolver.quickSettingsSceneFamilyResolver import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.shadeInteractor import com.android.systemui.testKosmos Loading Loading @@ -80,7 +79,6 @@ class KeyguardDismissActionInteractorTest : SysuiTestCase() { applicationScope = testScope.backgroundScope, sceneInteractor = { kosmos.sceneInteractor }, deviceUnlockedInteractor = { kosmos.deviceUnlockedInteractor }, quickSettingsSceneFamilyResolver = { kosmos.quickSettingsSceneFamilyResolver }, notifShadeSceneFamilyResolver = { kosmos.notifShadeSceneFamilyResolver }, powerInteractor = kosmos.powerInteractor, alternateBouncerInteractor = kosmos.alternateBouncerInteractor, Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt +4 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolver import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolver import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.domain.interactor.ShadeInteractor Loading Loading @@ -64,7 +63,6 @@ constructor( @Application private val applicationScope: CoroutineScope, sceneInteractor: Lazy<SceneInteractor>, deviceUnlockedInteractor: Lazy<DeviceUnlockedInteractor>, quickSettingsSceneFamilyResolver: Lazy<QuickSettingsSceneFamilyResolver>, notifShadeSceneFamilyResolver: Lazy<NotifShadeSceneFamilyResolver>, powerInteractor: PowerInteractor, alternateBouncerInteractor: AlternateBouncerInteractor, Loading Loading @@ -109,7 +107,7 @@ constructor( deviceUnlockedInteractor.get().deviceUnlockStatus, ) { scene, unlockStatus -> unlockStatus.isUnlocked && (quickSettingsSceneFamilyResolver.get().includesScene(scene) || (scene == Scenes.QuickSettings || notifShadeSceneFamilyResolver.get().includesScene(scene)) } .distinctUntilChanged() Loading @@ -133,7 +131,7 @@ constructor( merge( finishedTransitionToGone, isOnShadeWhileUnlocked.filter { it }.map {}, dismissInteractor.dismissKeyguardRequestWithImmediateDismissAction dismissInteractor.dismissKeyguardRequestWithImmediateDismissAction, ) .sample(dismissAction) .filterNot { it is DismissAction.None } Loading @@ -143,11 +141,11 @@ constructor( combine( transitionInteractor.isFinishedIn( scene = Scenes.Gone, stateWithoutSceneContainer = GONE stateWithoutSceneContainer = GONE, ), transitionInteractor.isFinishedIn( scene = Scenes.Bouncer, stateWithoutSceneContainer = PRIMARY_BOUNCER stateWithoutSceneContainer = PRIMARY_BOUNCER, ), alternateBouncerInteractor.isVisible, isOnShadeWhileUnlocked, Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt +19 −14 Original line number Diff line number Diff line Loading @@ -21,13 +21,11 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.TransitionKey import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor 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.scene.ui.viewmodel.SceneContainerEdge Loading Loading @@ -71,9 +69,8 @@ constructor( addAll( when (shadeMode) { ShadeMode.Single -> fullscreenShadeActions() ShadeMode.Split -> fullscreenShadeActions(transitionKey = ToSplitShade) ShadeMode.Single -> singleShadeActions() ShadeMode.Split -> splitShadeActions() ShadeMode.Dual -> dualShadeActions() } ) Loading @@ -84,18 +81,26 @@ constructor( .collect { setActions(it) } } private fun fullscreenShadeActions( transitionKey: TransitionKey? = null ): Array<Pair<UserAction, UserActionResult>> { val notifShadeSceneKey = UserActionResult(SceneFamilies.NotifShade, transitionKey) val qsShadeSceneKey = UserActionResult(SceneFamilies.QuickSettings, transitionKey) private fun singleShadeActions(): Array<Pair<UserAction, UserActionResult>> { return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to notifShadeSceneKey, swipeDown(pointerCount = 2) to notifShadeSceneKey, Swipe.Down to Scenes.Shade, swipeDown(pointerCount = 2) to Scenes.Shade, // Swiping down from the top edge goes to QS. swipeDownFromTop(pointerCount = 1) to qsShadeSceneKey, swipeDownFromTop(pointerCount = 2) to qsShadeSceneKey, swipeDownFromTop(pointerCount = 1) to Scenes.QuickSettings, swipeDownFromTop(pointerCount = 2) to Scenes.QuickSettings, ) } private fun splitShadeActions(): Array<Pair<UserAction, UserActionResult>> { val splitShadeSceneKey = UserActionResult(Scenes.Shade, ToSplitShade) return arrayOf( // Swiping down, not from the edge, always goes to shade. Swipe.Down to splitShadeSceneKey, swipeDown(pointerCount = 2) to splitShadeSceneKey, // Swiping down from the top edge goes to QS. swipeDownFromTop(pointerCount = 1) to splitShadeSceneKey, swipeDownFromTop(pointerCount = 2) to splitShadeSceneKey, ) } Loading
packages/SystemUI/src/com/android/systemui/scene/KeyguardlessSceneContainerFrameworkModule.kt +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.systemui.scene.domain.SceneDomainModule import com.android.systemui.scene.domain.interactor.WindowRootViewVisibilityInteractor import com.android.systemui.scene.domain.resolver.HomeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolverModule import com.android.systemui.scene.domain.startable.KeyguardStateCallbackStartable import com.android.systemui.scene.domain.startable.SceneContainerStartable import com.android.systemui.scene.domain.startable.ScrimStartable Loading Loading @@ -57,7 +56,6 @@ import dagger.multibindings.IntoMap // List SceneResolver modules for supported SceneFamilies HomeSceneFamilyResolverModule::class, NotifShadeSceneFamilyResolverModule::class, QuickSettingsSceneFamilyResolverModule::class, ] ) interface KeyguardlessSceneContainerFrameworkModule { Loading
packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.android.systemui.scene.domain.SceneDomainModule import com.android.systemui.scene.domain.interactor.WindowRootViewVisibilityInteractor import com.android.systemui.scene.domain.resolver.HomeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.NotifShadeSceneFamilyResolverModule import com.android.systemui.scene.domain.resolver.QuickSettingsSceneFamilyResolverModule import com.android.systemui.scene.domain.startable.KeyguardStateCallbackStartable import com.android.systemui.scene.domain.startable.SceneContainerStartable import com.android.systemui.scene.domain.startable.ScrimStartable Loading Loading @@ -61,7 +60,6 @@ import dagger.multibindings.IntoMap // List SceneResolver modules for supported SceneFamilies HomeSceneFamilyResolverModule::class, NotifShadeSceneFamilyResolverModule::class, QuickSettingsSceneFamilyResolverModule::class, ] ) interface SceneContainerFrameworkModule { Loading