diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-06-21 16:10:45 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-06-21 16:11:17 -0700 |
commit | 318f567a849223284eecec761c23b41a3fd2e568 (patch) | |
tree | b36011e968b23c81493cb136814693d9679048b1 /src/com/android/launcher3/folder | |
parent | a2fde430b53c78255ea2cc87308897a06afb6723 (diff) | |
download | android_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.java | 5 |
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(); } |