diff options
| author | 2023-07-27 14:47:41 +0000 | |
|---|---|---|
| committer | 2023-07-27 14:47:41 +0000 | |
| commit | 72c246f505fb20f8e7c96162e9878afcc540d178 (patch) | |
| tree | b4cf6443bfd3e4bbaf8fe5edb721bd86078bb9df | |
| parent | 3274e861f2eec4c71ceb5ea4c0574e57cce64a70 (diff) | |
| parent | 076a75f35cc658eb8730aff1fa3ac8a85945907d (diff) | |
Merge "Animate sideFpsIndicator alpha-in on the primary bouncer" into udc-qpr-dev am: 076a75f35c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24178711
Change-Id: Ifa917a088362aa723efe398c4d7cdcef9b1f79c3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt | 18 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt | 21 |
2 files changed, 36 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt index 37ce44488346..11418e61a231 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt @@ -50,7 +50,9 @@ import androidx.annotation.RawRes import com.airbnb.lottie.LottieAnimationView import com.airbnb.lottie.LottieProperty import com.airbnb.lottie.model.KeyPath +import com.android.app.animation.Interpolators import com.android.internal.annotations.VisibleForTesting +import com.android.keyguard.KeyguardPINView import com.android.systemui.Dumpable import com.android.systemui.R import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor @@ -112,7 +114,7 @@ constructor( private val isReverseDefaultRotation = context.resources.getBoolean(com.android.internal.R.bool.config_reverseDefaultRotation) - private var overlayHideAnimator: ViewPropertyAnimator? = null + private var overlayShowAnimator: ViewPropertyAnimator? = null private var overlayView: View? = null set(value) { @@ -122,13 +124,23 @@ constructor( windowManager.removeView(oldView) orientationListener.disable() } - overlayHideAnimator?.cancel() - overlayHideAnimator = null + overlayShowAnimator?.cancel() + overlayShowAnimator = null field = value field?.let { newView -> + if (requests.contains(SideFpsUiRequestSource.PRIMARY_BOUNCER)) { + newView.alpha = 0f + overlayShowAnimator = + newView + .animate() + .alpha(1f) + .setDuration(KeyguardPINView.ANIMATION_DURATION) + .setInterpolator(Interpolators.ALPHA_IN) + } windowManager.addView(newView, overlayViewParams) orientationListener.enable() + overlayShowAnimator?.start() } } @VisibleForTesting var overlayOffsets: SensorLocationInternal = SensorLocationInternal.DEFAULT diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt index 3169b091217b..2b08c66c96fa 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt @@ -840,6 +840,27 @@ class SideFpsControllerTest : SysuiTestCase() { assertThat((lpFlags and PRIVATE_FLAG_TRUSTED_OVERLAY) != 0).isTrue() } + + @Test + fun primaryBouncerRequestAnimatesAlphaIn() = testWithDisplay { + sideFpsController.show(SideFpsUiRequestSource.PRIMARY_BOUNCER, REASON_AUTH_KEYGUARD) + executor.runAllReady() + verify(sideFpsView).animate() + } + + @Test + fun alternateBouncerRequestsDoesNotAnimateAlphaIn() = testWithDisplay { + sideFpsController.show(SideFpsUiRequestSource.ALTERNATE_BOUNCER, REASON_AUTH_KEYGUARD) + executor.runAllReady() + verify(sideFpsView, never()).animate() + } + + @Test + fun autoShowRequestsDoesNotAnimateAlphaIn() = testWithDisplay { + sideFpsController.show(SideFpsUiRequestSource.AUTO_SHOW, REASON_AUTH_KEYGUARD) + executor.runAllReady() + verify(sideFpsView, never()).animate() + } } private fun insetsForSmallNavbar() = insetsWithBottom(60) |