diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 80338ca721..9e3055036f 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -790,6 +790,9 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC mFolderIcon.setVisibility(View.VISIBLE); if (wasAnimated) { mFolderIcon.mBackground.animateBackgroundStroke(); + if (mFolderIcon.hasBadge()) { + mFolderIcon.createBadgeScaleAnimator(0f, 1f).start(); + } mFolderIcon.requestFocus(); } } diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index b793f491ec..82a0733cef 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -38,8 +38,6 @@ import android.graphics.drawable.Drawable; import android.os.Parcelable; import android.support.v4.graphics.ColorUtils; import android.util.AttributeSet; -import android.util.DisplayMetrics; -import android.util.Log; import android.util.Property; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -421,13 +419,21 @@ public class FolderIcon extends FrameLayout implements FolderListener { float newBadgeScale = isBadged ? 1f : 0f; // Animate when a badge is first added or when it is removed. if ((wasBadged ^ isBadged) && isShown()) { - ObjectAnimator.ofFloat(this, BADGE_SCALE_PROPERTY, newBadgeScale).start(); + createBadgeScaleAnimator(newBadgeScale).start(); } else { mBadgeScale = newBadgeScale; invalidate(); } } + public Animator createBadgeScaleAnimator(float... badgeScales) { + return ObjectAnimator.ofFloat(this, BADGE_SCALE_PROPERTY, badgeScales); + } + + public boolean hasBadge() { + return mBadgeInfo != null && mBadgeInfo.hasBadge(); + } + static class PreviewItemDrawingParams { PreviewItemDrawingParams(float transX, float transY, float scale, float overlayAlpha) { this.transX = transX;