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
This commit is contained in:
Ahan Wu
2019-12-04 20:14:08 +08:00
committed by Wu Ahan
parent 5a1363bf97
commit 4d5d47f31e

View File

@@ -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();
}
}