Loading packages/SystemUI/src/com/android/systemui/keyguard/dagger/GlanceableHubTransitionModule.kt +10 −0 Original line number Diff line number Diff line Loading @@ -21,8 +21,10 @@ import com.android.systemui.keyguard.ui.viewmodel.DozingToGlanceableHubTransitio import com.android.systemui.keyguard.ui.viewmodel.DreamingToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDozingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToGoneTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToOccludedTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GoneToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.LockscreenToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.OccludedToGlanceableHubTransitionViewModel import dagger.Binds Loading Loading @@ -70,4 +72,12 @@ interface GlanceableHubTransitionImplModule { @Binds @IntoSet fun toDozing(impl: GlanceableHubToDozingTransitionViewModel): GlanceableHubTransition @Binds @IntoSet fun fromGone(impl: GoneToGlanceableHubTransitionViewModel): GlanceableHubTransition @Binds @IntoSet fun toGone(impl: GlanceableHubToGoneTransitionViewModel): GlanceableHubTransition } packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ constructor( KeyguardState.OCCLUDED -> TO_OCCLUDED_DURATION KeyguardState.ALTERNATE_BOUNCER -> TO_BOUNCER_DURATION KeyguardState.PRIMARY_BOUNCER -> TO_BOUNCER_DURATION KeyguardState.GONE -> TO_GONE_DURATION else -> DEFAULT_DURATION }.inWholeMilliseconds } Loading Loading @@ -257,5 +258,6 @@ constructor( val TO_BOUNCER_DURATION = 400.milliseconds val TO_OCCLUDED_DURATION = 450.milliseconds val TO_AOD_DURATION = 500.milliseconds val TO_GONE_DURATION = 100.milliseconds } } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GlanceableHubToGoneTransitionViewModel.kt 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.dagger.SysUISingleton import com.android.systemui.keyguard.dagger.GlanceableHubBlurComponent import com.android.systemui.keyguard.domain.interactor.FromGlanceableHubTransitionInteractor.Companion.TO_GONE_DURATION import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB import com.android.systemui.keyguard.shared.model.KeyguardState.GONE import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.GlanceableHubTransition import com.android.systemui.scene.shared.model.Scenes import javax.inject.Inject import kotlinx.coroutines.flow.Flow @SysUISingleton class GlanceableHubToGoneTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, blurFactory: GlanceableHubBlurComponent.Factory, ) : GlanceableHubTransition { private val transitionAnimation = animationFlow .setup( duration = TO_GONE_DURATION, edge = Edge.create(from = Scenes.Communal, to = GONE), ) .setupWithoutSceneContainer(edge = Edge.create(from = GLANCEABLE_HUB, to = GONE)) override val windowBlurRadius: Flow<Float> = blurFactory.create(transitionAnimation).getBlurProvider().exitBlurRadius } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt +7 −1 Original line number Diff line number Diff line Loading @@ -17,12 +17,14 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.dagger.SysUISingleton import com.android.systemui.keyguard.dagger.GlanceableHubBlurComponent import com.android.systemui.keyguard.domain.interactor.FromGoneTransitionInteractor.Companion.TO_GLANCEABLE_HUB_DURATION import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB import com.android.systemui.keyguard.shared.model.KeyguardState.GONE import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.keyguard.ui.transitions.GlanceableHubTransition import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.flow.Flow Loading @@ -32,7 +34,8 @@ class GoneToGlanceableHubTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, ) : DeviceEntryIconTransition { blurFactory: GlanceableHubBlurComponent.Factory, ) : DeviceEntryIconTransition, GlanceableHubTransition { private val transitionAnimation = animationFlow Loading @@ -46,4 +49,7 @@ constructor( onCancel = { 1f }, onFinish = { 1f }, ) override val windowBlurRadius: Flow<Float> = blurFactory.create(transitionAnimation).getBlurProvider().enterBlurRadius } Loading
packages/SystemUI/src/com/android/systemui/keyguard/dagger/GlanceableHubTransitionModule.kt +10 −0 Original line number Diff line number Diff line Loading @@ -21,8 +21,10 @@ import com.android.systemui.keyguard.ui.viewmodel.DozingToGlanceableHubTransitio import com.android.systemui.keyguard.ui.viewmodel.DreamingToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDozingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToGoneTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToOccludedTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GoneToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.LockscreenToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.OccludedToGlanceableHubTransitionViewModel import dagger.Binds Loading Loading @@ -70,4 +72,12 @@ interface GlanceableHubTransitionImplModule { @Binds @IntoSet fun toDozing(impl: GlanceableHubToDozingTransitionViewModel): GlanceableHubTransition @Binds @IntoSet fun fromGone(impl: GoneToGlanceableHubTransitionViewModel): GlanceableHubTransition @Binds @IntoSet fun toGone(impl: GlanceableHubToGoneTransitionViewModel): GlanceableHubTransition }
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt +2 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ constructor( KeyguardState.OCCLUDED -> TO_OCCLUDED_DURATION KeyguardState.ALTERNATE_BOUNCER -> TO_BOUNCER_DURATION KeyguardState.PRIMARY_BOUNCER -> TO_BOUNCER_DURATION KeyguardState.GONE -> TO_GONE_DURATION else -> DEFAULT_DURATION }.inWholeMilliseconds } Loading Loading @@ -257,5 +258,6 @@ constructor( val TO_BOUNCER_DURATION = 400.milliseconds val TO_OCCLUDED_DURATION = 450.milliseconds val TO_AOD_DURATION = 500.milliseconds val TO_GONE_DURATION = 100.milliseconds } }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GlanceableHubToGoneTransitionViewModel.kt 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.dagger.SysUISingleton import com.android.systemui.keyguard.dagger.GlanceableHubBlurComponent import com.android.systemui.keyguard.domain.interactor.FromGlanceableHubTransitionInteractor.Companion.TO_GONE_DURATION import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB import com.android.systemui.keyguard.shared.model.KeyguardState.GONE import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.GlanceableHubTransition import com.android.systemui.scene.shared.model.Scenes import javax.inject.Inject import kotlinx.coroutines.flow.Flow @SysUISingleton class GlanceableHubToGoneTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, blurFactory: GlanceableHubBlurComponent.Factory, ) : GlanceableHubTransition { private val transitionAnimation = animationFlow .setup( duration = TO_GONE_DURATION, edge = Edge.create(from = Scenes.Communal, to = GONE), ) .setupWithoutSceneContainer(edge = Edge.create(from = GLANCEABLE_HUB, to = GONE)) override val windowBlurRadius: Flow<Float> = blurFactory.create(transitionAnimation).getBlurProvider().exitBlurRadius }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt +7 −1 Original line number Diff line number Diff line Loading @@ -17,12 +17,14 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.dagger.SysUISingleton import com.android.systemui.keyguard.dagger.GlanceableHubBlurComponent import com.android.systemui.keyguard.domain.interactor.FromGoneTransitionInteractor.Companion.TO_GLANCEABLE_HUB_DURATION import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB import com.android.systemui.keyguard.shared.model.KeyguardState.GONE import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.keyguard.ui.transitions.GlanceableHubTransition import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.flow.Flow Loading @@ -32,7 +34,8 @@ class GoneToGlanceableHubTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, ) : DeviceEntryIconTransition { blurFactory: GlanceableHubBlurComponent.Factory, ) : DeviceEntryIconTransition, GlanceableHubTransition { private val transitionAnimation = animationFlow Loading @@ -46,4 +49,7 @@ constructor( onCancel = { 1f }, onFinish = { 1f }, ) override val windowBlurRadius: Flow<Float> = blurFactory.create(transitionAnimation).getBlurProvider().enterBlurRadius }