summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2017-04-05 20:53:55 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-04-05 20:53:55 +0000
commita3b60c97c655c9d9d60a32da6cdbcd055750e76d (patch)
tree06d6ff5364f78ca088f0d646ae4335241cf28129 /src
parent6c300c89ecbac04c557a4695b1597ed35150f420 (diff)
parentd02a29a502c8640fc3937b8d671d393be855d81a (diff)
downloadandroid_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.java22
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;
}