diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 259ddbdf5e..f80a904d03 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -916,7 +916,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, /** Applies the given progress level to the this icon's progress bar. */ @Nullable public PreloadIconDrawable applyProgressLevel() { - if (!(getTag() instanceof ItemInfoWithIcon)) { + if (!(getTag() instanceof ItemInfoWithIcon) + || !((ItemInfoWithIcon) getTag()).isActiveArchive()) { return null; } @@ -973,6 +974,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, return info.isDisabled() || info.isPendingDownload(); } + public void applyDotState(ItemInfo itemInfo, boolean animate) { if (mIcon instanceof FastBitmapDrawable) { boolean wasDotted = mDotInfo != null; diff --git a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java index 352c3633ac..70cad968b4 100644 --- a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java +++ b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java @@ -160,10 +160,6 @@ public abstract class ItemInfoWithIcon extends ItemInfo { * and its install session is active */ public boolean isPendingDownload() { - if (isArchived()) { - return this.getProgressLevel() == 0 - && (this.runtimeStatusFlags & FLAG_INSTALL_SESSION_ACTIVE) != 0; - } return getProgressLevel() == 0; } @@ -177,6 +173,11 @@ public abstract class ItemInfoWithIcon extends ItemInfo { return (runtimeStatusFlags & FLAG_ARCHIVED) != 0; } + /** Returns true if the app is archived and has an active install session. */ + public boolean isActiveArchive() { + return isArchived() && (runtimeStatusFlags & FLAG_INSTALL_SESSION_ACTIVE) != 0; + } + /** * Indicates whether we're using a low res icon */