From 69b756486cf113d002dae4a272533fb70fe8b88b Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 15 May 2015 17:00:24 -0700 Subject: [PATCH] Preventing relayout when loading high-res icons Bug: 21133230 Change-Id: I1ec4dbfd28c42fa1c0e28b3fa746c0bc5dfaba7c --- src/com/android/launcher3/BubbleTextView.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 5dc3b12395..d39e139761 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -28,6 +28,7 @@ import android.graphics.Region; import android.graphics.drawable.Drawable; import android.os.Build; import android.util.AttributeSet; +import android.util.Log; import android.util.SparseArray; import android.util.TypedValue; import android.view.KeyEvent; @@ -76,6 +77,7 @@ public class BubbleTextView extends TextView { private boolean mStayPressed; private boolean mIgnorePressedStateChange; + private boolean mDisableRelayout = false; private IconLoadRequest mIconLoadRequest; @@ -464,12 +466,20 @@ public class BubbleTextView extends TextView { return icon; } + @Override + public void requestLayout() { + if (!mDisableRelayout) { + super.requestLayout(); + } + } + /** * Applies the item info if it is same as what the view is pointing to currently. */ public void reapplyItemInfo(final ItemInfo info) { if (getTag() == info) { mIconLoadRequest = null; + mDisableRelayout = true; if (info instanceof AppInfo) { applyFromApplicationInfo((AppInfo) info); } else if (info instanceof ShortcutInfo) { @@ -478,6 +488,7 @@ public class BubbleTextView extends TextView { } else if (info instanceof PackageItemInfo) { applyFromPackageItemInfo((PackageItemInfo) info); } + mDisableRelayout = false; } }