summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/folder
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-06-21 16:10:45 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-06-21 16:11:17 -0700
commit318f567a849223284eecec761c23b41a3fd2e568 (patch)
treeb36011e968b23c81493cb136814693d9679048b1 /src/com/android/launcher3/folder
parenta2fde430b53c78255ea2cc87308897a06afb6723 (diff)
downloadandroid_packages_apps_Trebuchet-318f567a849223284eecec761c23b41a3fd2e568.tar.gz
android_packages_apps_Trebuchet-318f567a849223284eecec761c23b41a3fd2e568.tar.bz2
android_packages_apps_Trebuchet-318f567a849223284eecec761c23b41a3fd2e568.zip
Prevent recursive draw-invalidate cycle when drawing folder
Change-Id: I4d3e680ee0cd1af9da997ac92c505ca38ee4e810
Diffstat (limited to 'src/com/android/launcher3/folder')
-rw-r--r--src/com/android/launcher3/folder/FolderIcon.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java
index b6f05f3fc..48d8e10ed 100644
--- a/src/com/android/launcher3/folder/FolderIcon.java
+++ b/src/com/android/launcher3/folder/FolderIcon.java
@@ -510,6 +510,10 @@ public class FolderIcon extends FrameLayout implements FolderListener {
Drawable d = params.drawable;
if (d != null) {
+ // Remove the callback to prevent invalidate as a result of property changes
+ Drawable.Callback cb = d.getCallback();
+ d.setCallback(null);
+
mTempBounds.set(d.getBounds());
d.setBounds(0, 0, mIntrinsicIconSize, mIntrinsicIconSize);
boolean isPreloadIcon = d instanceof PreloadIconDrawable;
@@ -523,6 +527,7 @@ public class FolderIcon extends FrameLayout implements FolderListener {
d.clearColorFilter();
}
d.setBounds(mTempBounds);
+ d.setCallback(cb);
}
canvas.restore();
}