summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher3/BubbleTextView.java6
-rw-r--r--src/com/android/launcher3/PreloadIconDrawable.java6
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) {