From 4d5d47f31e65aba1929f77dfbfae2bba5fcd2347 Mon Sep 17 00:00:00 2001 From: Ahan Wu Date: Wed, 4 Dec 2019 20:14:08 +0800 Subject: [PATCH] Fix black image wallpaper issue We don't do transition if user unlocks the phone via biometric authentication, but we haven't canceled the previous animation while unlocking this way, as a consequence, the reveal state of imagewallpaper may end up with a wrong state. Bug: 139487871 Test: Manually test Change-Id: Ida470d58910cbb22eed10338948aa8a99e8f4343 --- .../systemui/glwallpaper/ImageRevealHelper.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java index 39c9632278d6c..6474b390f5f85 100644 --- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java +++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java @@ -81,12 +81,6 @@ class ImageRevealHelper { }); } - private void animate() { - mAnimator.cancel(); - mAnimator.setFloatValues(mReveal, mAwake ? MAX_REVEAL : MIN_REVEAL); - mAnimator.start(); - } - public float getReveal() { return mReveal; } @@ -95,8 +89,8 @@ class ImageRevealHelper { if (DEBUG) { Log.d(TAG, "updateAwake: awake=" + awake + ", duration=" + duration); } + mAnimator.cancel(); mAwake = awake; - mAnimator.setDuration(duration); if (duration == 0) { // We are transiting from home to aod or aod to home directly, // we don't need to do transition in these cases. @@ -105,7 +99,9 @@ class ImageRevealHelper { mRevealListener.onRevealStateChanged(); mRevealListener.onRevealEnd(); } else { - animate(); + mAnimator.setDuration(duration); + mAnimator.setFloatValues(mReveal, mAwake ? MAX_REVEAL : MIN_REVEAL); + mAnimator.start(); } }