diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2019-01-08 15:57:10 -0800 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2019-01-08 16:00:25 -0800 |
commit | a8dbe9267ae62dc4b996fa44dd0b37988f2aa894 (patch) | |
tree | 5ddbe969b5ba62ed36dbb5df8fbb0b860f13a7bb /iconloaderlib | |
parent | 0a9261b3f31772c2c29cf208562cb9a156bd4803 (diff) | |
download | android_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.java | 27 |
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(); |