From 901697cdf2b6f99b619d49f742aba55c364162af Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Thu, 6 Feb 2025 10:45:44 -0800 Subject: Enable swipe to dismiss gesture on glanceable hub. This changelist brings back the original swipe to dismiss behavior. The animation values for blur have also been adjusted to better match the transitional state of the drag behavior. Test: atest GlanceableHubToLockscreenTransitionViewModelTest Flag: EXEMPT restoring existing behavior Fixes: 393365531 Change-Id: I802029844d2d6b1e7610d26e723743a9df3829fc --- .../systemui/communal/ui/compose/CommunalContainer.kt | 7 +------ .../keyguard/ui/KeyguardTransitionAnimationFlow.kt | 2 +- .../keyguard/ui/transitions/GlanceableHubBlurProvider.kt | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt index 4a4607b6e8fc..2ca70558f18b 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt @@ -207,12 +207,7 @@ fun CommunalContainer( Box(modifier = Modifier.fillMaxSize()) } - scene( - CommunalScenes.Communal, - userActions = - if (viewModel.v2FlagEnabled()) emptyMap() - else mapOf(Swipe.End to CommunalScenes.Blank), - ) { + scene(CommunalScenes.Communal, userActions = mapOf(Swipe.End to CommunalScenes.Blank)) { CommunalScene( backgroundType = backgroundType, colors = colors, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt index 5c03d65e570f..8f6815829ba2 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt @@ -69,7 +69,7 @@ constructor( * Note that [onCancel] isn't used when the scene framework is enabled. */ fun sharedFlow( - duration: Duration, + duration: Duration = transitionDuration, onStep: (Float) -> Float, startTime: Duration = 0.milliseconds, onStart: (() -> Unit)? = null, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/GlanceableHubBlurProvider.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/GlanceableHubBlurProvider.kt index 19cd501fa787..50f8e086ac6e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/GlanceableHubBlurProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/GlanceableHubBlurProvider.kt @@ -16,6 +16,7 @@ package com.android.systemui.keyguard.ui.transitions +import android.util.MathUtils import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import javax.inject.Inject import kotlinx.coroutines.flow.Flow @@ -33,8 +34,18 @@ constructor( blurConfig: BlurConfig, ) { val exitBlurRadius: Flow = - transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx) + transitionAnimation.sharedFlow( + onStep = { MathUtils.lerp(blurConfig.maxBlurRadiusPx, blurConfig.minBlurRadiusPx, it) }, + onStart = { blurConfig.maxBlurRadiusPx }, + onFinish = { blurConfig.minBlurRadiusPx }, + onCancel = { blurConfig.maxBlurRadiusPx }, + ) val enterBlurRadius: Flow = - transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx) + transitionAnimation.sharedFlow( + onStep = { MathUtils.lerp(blurConfig.minBlurRadiusPx, blurConfig.maxBlurRadiusPx, it) }, + onStart = { blurConfig.minBlurRadiusPx }, + onFinish = { blurConfig.maxBlurRadiusPx }, + onCancel = { blurConfig.minBlurRadiusPx }, + ) } -- cgit v1.2.3-59-g8ed1b