summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-04-17 16:43:05 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-04-17 16:59:19 -0700
commit311420ffb28609f2cd437f0ff77efea2f56d38ed (patch)
tree591c3aac7672cfd93a552e7cdd52526c4dcd4dc0 /src
parent8c6a2b224466a355dbeb2b863a3b193deb471301 (diff)
downloadandroid_packages_apps_Trebuchet-311420ffb28609f2cd437f0ff77efea2f56d38ed.tar.gz
android_packages_apps_Trebuchet-311420ffb28609f2cd437f0ff77efea2f56d38ed.tar.bz2
android_packages_apps_Trebuchet-311420ffb28609f2cd437f0ff77efea2f56d38ed.zip
Fixing adaptive icon bounds caching
Change-Id: Ifa0ed4d600fcd2c50558ea9ae6e95f3364d4949a
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/graphics/IconNormalizer.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/launcher3/graphics/IconNormalizer.java b/src/com/android/launcher3/graphics/IconNormalizer.java
index 13f322e8b..34d0b727c 100644
--- a/src/com/android/launcher3/graphics/IconNormalizer.java
+++ b/src/com/android/launcher3/graphics/IconNormalizer.java
@@ -74,6 +74,8 @@ public class IconNormalizer {
private final Paint mPaintMaskShapeOutline;
private final byte[] mPixels;
private final int[] mPixelsARGB;
+
+ private final Rect mAdaptiveIconBounds;
private float mAdaptiveIconScale;
// for each y, stores the position of the leftmost x and the rightmost x
@@ -99,6 +101,7 @@ public class IconNormalizer {
mLeftBorder = new float[mMaxSize];
mRightBorder = new float[mMaxSize];
mBounds = new Rect();
+ mAdaptiveIconBounds = new Rect();
// Needed for isShape() method
mBitmapARGB = Bitmap.createBitmap(mMaxSize, mMaxSize, Bitmap.Config.ARGB_8888);
@@ -231,7 +234,7 @@ public class IconNormalizer {
if (Utilities.isAtLeastO() && d instanceof AdaptiveIconDrawable &&
mAdaptiveIconScale != SCALE_NOT_INITIALIZED) {
if (outBounds != null) {
- outBounds.set(mBounds);
+ outBounds.set(mAdaptiveIconBounds);
}
return mAdaptiveIconScale;
}
@@ -347,6 +350,7 @@ public class IconNormalizer {
if (Utilities.isAtLeastO() && d instanceof AdaptiveIconDrawable &&
mAdaptiveIconScale == SCALE_NOT_INITIALIZED) {
mAdaptiveIconScale = scale;
+ mAdaptiveIconBounds.set(mBounds);
}
return scale;
}