summaryrefslogtreecommitdiffstats
path: root/iconloaderlib
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2019-01-08 15:57:10 -0800
committerHyunyoung Song <hyunyoungs@google.com>2019-01-08 16:00:25 -0800
commita8dbe9267ae62dc4b996fa44dd0b37988f2aa894 (patch)
tree5ddbe969b5ba62ed36dbb5df8fbb0b860f13a7bb /iconloaderlib
parent0a9261b3f31772c2c29cf208562cb9a156bd4803 (diff)
downloadandroid_packages_apps_Trebuchet-a8dbe9267ae62dc4b996fa44dd0b37988f2aa894.tar.gz
android_packages_apps_Trebuchet-a8dbe9267ae62dc4b996fa44dd0b37988f2aa894.tar.bz2
android_packages_apps_Trebuchet-a8dbe9267ae62dc4b996fa44dd0b37988f2aa894.zip
Make createIconBitmap public method
Bug: 122545624 Change-Id: I47ff6ec20f9d34856a727bdf3e328acee0db7f32
Diffstat (limited to 'iconloaderlib')
-rw-r--r--iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java b/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java
index 882af5911..af1b3530e 100644
--- a/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java
+++ b/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java
@@ -253,19 +253,24 @@ public class BaseIconFactory implements AutoCloseable {
badge.draw(target);
}
+ private Bitmap createIconBitmap(Drawable icon, float scale) {
+ return createIconBitmap(icon, scale, mIconBitmapSize);
+ }
+
/**
+ * @param icon drawable that should be flattened to a bitmap
* @param scale the scale to apply before drawing {@param icon} on the canvas
*/
- private Bitmap createIconBitmap(Drawable icon, float scale) {
- Bitmap bitmap = Bitmap.createBitmap(mIconBitmapSize, mIconBitmapSize,
- Bitmap.Config.ARGB_8888);
+ public Bitmap createIconBitmap(Drawable icon, float scale, int size) {
+ Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
+
mCanvas.setBitmap(bitmap);
mOldBounds.set(icon.getBounds());
if (ATLEAST_OREO && icon instanceof AdaptiveIconDrawable) {
- int offset = Math.max((int) Math.ceil(BLUR_FACTOR * mIconBitmapSize),
- Math.round(mIconBitmapSize * (1 - scale) / 2 ));
- icon.setBounds(offset, offset, mIconBitmapSize - offset, mIconBitmapSize - offset);
+ int offset = Math.max((int) Math.ceil(BLUR_FACTOR * size),
+ Math.round(size * (1 - scale) / 2 ));
+ icon.setBounds(offset, offset, size - offset, size - offset);
icon.draw(mCanvas);
} else {
if (icon instanceof BitmapDrawable) {
@@ -275,8 +280,8 @@ public class BaseIconFactory implements AutoCloseable {
bitmapDrawable.setTargetDensity(mContext.getResources().getDisplayMetrics());
}
}
- int width = mIconBitmapSize;
- int height = mIconBitmapSize;
+ int width = size;
+ int height = size;
int intrinsicWidth = icon.getIntrinsicWidth();
int intrinsicHeight = icon.getIntrinsicHeight();
@@ -289,11 +294,11 @@ public class BaseIconFactory implements AutoCloseable {
width = (int) (height * ratio);
}
}
- final int left = (mIconBitmapSize - width) / 2;
- final int top = (mIconBitmapSize - height) / 2;
+ final int left = (size - width) / 2;
+ final int top = (size - height) / 2;
icon.setBounds(left, top, left + width, top + height);
mCanvas.save();
- mCanvas.scale(scale, scale, mIconBitmapSize / 2, mIconBitmapSize / 2);
+ mCanvas.scale(scale, scale, size / 2, size / 2);
icon.draw(mCanvas);
mCanvas.restore();