From 4f88bfb7af74930aee99e10abe3c0ad3ab54b06c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 25 Aug 2014 16:02:46 -0700 Subject: Clear the promise flag once the restore animation is run and no more restore related tasks are pending issue: 17214102 Change-Id: I54c486ff001d74b4961f85947f41848cf92243a3 --- src/com/android/launcher3/BubbleTextView.java | 6 ++++-- src/com/android/launcher3/PreloadIconDrawable.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 869b0ac88..d83f81dab 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -415,8 +415,10 @@ public class BubbleTextView extends TextView { } preloadDrawable.setLevel(progressLevel); - if (state == ShortcutInfo.PACKAGE_STATE_DEFAULT) { - preloadDrawable.maybePerformFinishedAnimation(); + if ((state == ShortcutInfo.PACKAGE_STATE_DEFAULT) && info.wasPromise) { + // Clear the promise flag as it is no longer different than a normal shortcut, + // once the animation has been run. + info.wasPromise = !preloadDrawable.maybePerformFinishedAnimation(); } } diff --git a/src/com/android/launcher3/PreloadIconDrawable.java b/src/com/android/launcher3/PreloadIconDrawable.java index 2972c4f9b..1b2d5a4e3 100644 --- a/src/com/android/launcher3/PreloadIconDrawable.java +++ b/src/com/android/launcher3/PreloadIconDrawable.java @@ -189,10 +189,11 @@ class PreloadIconDrawable extends Drawable { /** * Runs the finish animation if it is has not been run after last level change. + * @return true if the animation was run. */ - public void maybePerformFinishedAnimation() { + public boolean maybePerformFinishedAnimation() { if (mAnimationProgress > ANIMATION_PROGRESS_STOPPED) { - return; + return false; } if (mAnimator != null) { mAnimator.cancel(); @@ -201,6 +202,7 @@ class PreloadIconDrawable extends Drawable { mAnimator = ObjectAnimator.ofFloat(this, "animationProgress", ANIMATION_PROGRESS_STARTED, ANIMATION_PROGRESS_COMPLETED); mAnimator.start(); + return true; } public void setAnimationProgress(float progress) { -- cgit v1.2.3