diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2019-04-02 10:45:57 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2019-04-02 11:00:50 -0700 |
commit | 2bf3f37f5af068e0af8de386c9c031c31bfbd602 (patch) | |
tree | c4293cc399ae8a1e9a03406fcc056e53b8538aec | |
parent | 9c436be5facf284cb1bf9f29c39d1a51a6fcf9c0 (diff) | |
download | android_packages_apps_Trebuchet-2bf3f37f5af068e0af8de386c9c031c31bfbd602.tar.gz android_packages_apps_Trebuchet-2bf3f37f5af068e0af8de386c9c031c31bfbd602.tar.bz2 android_packages_apps_Trebuchet-2bf3f37f5af068e0af8de386c9c031c31bfbd602.zip |
Fix icon shape refresh for widgets list / legacy shortcut black bg issue
Bug: 118085499
Change-Id: Ifc3c711815567f40f109e95bcb76c01f23b4a3a2
4 files changed, 10 insertions, 14 deletions
diff --git a/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java b/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java index 96b0a9e25..ab4b64cbf 100644 --- a/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java +++ b/iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java @@ -61,6 +61,7 @@ public class BaseIconFactory implements AutoCloseable { mCanvas = new Canvas(); mCanvas.setDrawFilter(new PaintFlagsDrawFilter(DITHER_FLAG, FILTER_BITMAP_FLAG)); + clear(); } protected void clear() { @@ -114,11 +115,6 @@ public class BaseIconFactory implements AutoCloseable { } public BitmapInfo createBadgedIconBitmap(Drawable icon, UserHandle user, - boolean shrinkNonAdaptiveIcons, boolean isInstantApp) { - return createBadgedIconBitmap(icon, user, shrinkNonAdaptiveIcons, isInstantApp, null); - } - - public BitmapInfo createBadgedIconBitmap(Drawable icon, UserHandle user, int iconAppTargetSdk) { return createBadgedIconBitmap(icon, user, iconAppTargetSdk, false); } diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java index 7bb60714f..dc275161d 100644 --- a/src/com/android/launcher3/LauncherAppState.java +++ b/src/com/android/launcher3/LauncherAppState.java @@ -131,6 +131,7 @@ public class LauncherAppState { if ((changeFlags & CHANGE_FLAG_ICON_PARAMS) != 0) { LauncherIcons.clearPool(); mIconCache.updateIconParams(idp.fillResIconDpi, idp.iconBitmapSize); + mWidgetCache.refresh(); } mModel.forceReload(); diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java index 050849cc2..6d1bc1a9c 100644 --- a/src/com/android/launcher3/WidgetPreviewLoader.java +++ b/src/com/android/launcher3/WidgetPreviewLoader.java @@ -24,6 +24,7 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.CancellationSignal; import android.os.Handler; +import android.os.Process; import android.os.UserHandle; import android.util.Log; import android.util.LongSparseArray; @@ -73,7 +74,6 @@ public class WidgetPreviewLoader { private final Context mContext; private final IconCache mIconCache; private final UserManagerCompat mUserManager; - private final AppWidgetManagerCompat mWidgetManager; private final CacheDb mDb; private final MainThreadExecutor mMainThreadExecutor = new MainThreadExecutor(); @@ -82,7 +82,6 @@ public class WidgetPreviewLoader { public WidgetPreviewLoader(Context context, IconCache iconCache) { mContext = context; mIconCache = iconCache; - mWidgetManager = AppWidgetManagerCompat.getInstance(context); mUserManager = UserManagerCompat.getInstance(context); mDb = new CacheDb(context); mWorkerHandler = new Handler(LauncherModel.getWorkerLooper()); @@ -107,6 +106,10 @@ public class WidgetPreviewLoader { return signal; } + public void refresh() { + mDb.clear(); + + } /** * The DB holds the generated previews for various components. Previews can also have different * sizes (landscape vs portrait). @@ -474,8 +477,9 @@ public class WidgetPreviewLoader { RectF boxRect = drawBoxWithShadow(c, size, size); LauncherIcons li = LauncherIcons.obtain(mContext); - Bitmap icon = li.createScaledBitmapWithoutShadow( - mutateOnMainThread(info.getFullResIcon(mIconCache)), 0); + Bitmap icon = li.createBadgedIconBitmap( + mutateOnMainThread(info.getFullResIcon(mIconCache)), + Process.myUserHandle(), 0).icon; li.recycle(); Rect src = new Rect(0, 0, icon.getWidth(), icon.getHeight()); diff --git a/src/com/android/launcher3/widget/WidgetsRecyclerView.java b/src/com/android/launcher3/widget/WidgetsRecyclerView.java index 641183a01..c15557beb 100644 --- a/src/com/android/launcher3/widget/WidgetsRecyclerView.java +++ b/src/com/android/launcher3/widget/WidgetsRecyclerView.java @@ -56,11 +56,6 @@ public class WidgetsRecyclerView extends BaseRecyclerView implements OnItemTouch addOnItemTouchListener(this); } - public WidgetsRecyclerView(Context context, AttributeSet attrs, int defStyleAttr, - int defStyleRes) { - this(context, attrs, defStyleAttr); - } - @Override protected void onFinishInflate() { super.onFinishInflate(); |