diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2017-04-05 20:53:55 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-04-05 20:53:55 +0000 |
commit | a3b60c97c655c9d9d60a32da6cdbcd055750e76d (patch) | |
tree | 06d6ff5364f78ca088f0d646ae4335241cf28129 /src | |
parent | 6c300c89ecbac04c557a4695b1597ed35150f420 (diff) | |
parent | d02a29a502c8640fc3937b8d671d393be855d81a (diff) | |
download | android_packages_apps_Trebuchet-a3b60c97c655c9d9d60a32da6cdbcd055750e76d.tar.gz android_packages_apps_Trebuchet-a3b60c97c655c9d9d60a32da6cdbcd055750e76d.tar.bz2 android_packages_apps_Trebuchet-a3b60c97c655c9d9d60a32da6cdbcd055750e76d.zip |
Shadows should not be clipped on AdaptiveIconDrawable b/36702964
am: d02a29a502
Change-Id: Ia2f9a287f6f4409c4f16b5cd27364ef28a5b8bd4
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/graphics/LauncherIcons.java | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/com/android/launcher3/graphics/LauncherIcons.java b/src/com/android/launcher3/graphics/LauncherIcons.java index ab589f198..25f8f2e3e 100644 --- a/src/com/android/launcher3/graphics/LauncherIcons.java +++ b/src/com/android/launcher3/graphics/LauncherIcons.java @@ -225,6 +225,17 @@ public class LauncherIcons { bitmapDrawable.setTargetDensity(context.getResources().getDisplayMetrics()); } } + + Class iconClass = null; + if (FeatureFlags.ADAPTIVE_ICON_SHADOW && Utilities.isAtLeastO()) { + try { + iconClass = Class.forName("android.graphics.drawable.AdaptiveIconDrawable"); + } catch (Exception e) { + } + } + if (iconClass != null && iconClass.isAssignableFrom(icon.getClass())) { + scale *= ShadowGenerator.getScaleForBounds(new RectF(0, 0, 0, 0)); + } int sourceWidth = icon.getIntrinsicWidth(); int sourceHeight = icon.getIntrinsicHeight(); if (sourceWidth > 0 && sourceHeight > 0) { @@ -258,15 +269,8 @@ public class LauncherIcons { icon.setBounds(sOldBounds); canvas.setBitmap(null); - if (FeatureFlags.ADAPTIVE_ICON_SHADOW && Utilities.isAtLeastO()) { - try { - Class clazz = Class.forName("android.graphics.drawable.AdaptiveIconDrawable"); - if (clazz.isAssignableFrom(icon.getClass())) { - bitmap = ShadowGenerator.getInstance(context).recreateIcon(bitmap); - } - } catch (Exception e) { - // do nothing - } + if (iconClass != null && iconClass.isAssignableFrom(icon.getClass())) { + bitmap = ShadowGenerator.getInstance(context).recreateIcon(bitmap); } return bitmap; } |