Loading iconloaderlib/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -27,4 +27,7 @@ <string name="calendar_component_name" translatable="false"></string> <string name="clock_component_name" translatable="false"></string> <!-- Configures whether to enable forced theme icon, disabled by default --> <bool name="enable_forced_themed_icon">false</bool> </resources> No newline at end of file iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java +12 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,8 @@ public class BaseIconFactory implements AutoCloseable { private static int PLACEHOLDER_BACKGROUND_COLOR = Color.rgb(245, 245, 245); private final boolean mShouldForceThemeIcon; protected BaseIconFactory(Context context, int fullResIconDpi, int iconBitmapSize, boolean unused) { this(context, fullResIconDpi, iconBitmapSize); Loading @@ -118,6 +120,9 @@ public class BaseIconFactory implements AutoCloseable { mCanvas = new Canvas(); mCanvas.setDrawFilter(new PaintFlagsDrawFilter(DITHER_FLAG, FILTER_BITMAP_FLAG)); clear(); mShouldForceThemeIcon = mContext.getResources().getBoolean( R.bool.enable_forced_themed_icon); } protected void clear() { Loading Loading @@ -263,6 +268,13 @@ public class BaseIconFactory implements AutoCloseable { return op; } /** * @return True if forced theme icon is enabled */ public boolean shouldForceThemeIcon() { return mShouldForceThemeIcon; } @NonNull protected UserIconInfo getUserInfo(@NonNull UserHandle user) { int key = user.hashCode(); Loading iconloaderlib/src/com/android/launcher3/icons/mono/MonoIconThemeController.kt +3 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ class MonoIconThemeController( factory.getShapePath(icon, Rect(0, 0, info.icon.width, info.icon.height)), factory.iconScale, sourceHint?.isFileDrawable ?: false, factory.shouldForceThemeIcon(), ) if (mono != null) { return MonoThemedBitmap( Loading @@ -86,12 +87,13 @@ class MonoIconThemeController( shapePath: Path, iconScale: Float, isFileDrawable: Boolean, shouldForceThemeIcon: Boolean, ): Drawable? { val mono = base.monochrome if (mono != null) { return ClippedMonoDrawable(mono, shapePath, iconScale) } if (Flags.forceMonochromeAppIcons() && !isFileDrawable) { if (Flags.forceMonochromeAppIcons() && shouldForceThemeIcon && !isFileDrawable) { return MonochromeIconFactory(info.icon.width).wrap(base, shapePath, iconScale) } return null Loading Loading
iconloaderlib/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -27,4 +27,7 @@ <string name="calendar_component_name" translatable="false"></string> <string name="clock_component_name" translatable="false"></string> <!-- Configures whether to enable forced theme icon, disabled by default --> <bool name="enable_forced_themed_icon">false</bool> </resources> No newline at end of file
iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java +12 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,8 @@ public class BaseIconFactory implements AutoCloseable { private static int PLACEHOLDER_BACKGROUND_COLOR = Color.rgb(245, 245, 245); private final boolean mShouldForceThemeIcon; protected BaseIconFactory(Context context, int fullResIconDpi, int iconBitmapSize, boolean unused) { this(context, fullResIconDpi, iconBitmapSize); Loading @@ -118,6 +120,9 @@ public class BaseIconFactory implements AutoCloseable { mCanvas = new Canvas(); mCanvas.setDrawFilter(new PaintFlagsDrawFilter(DITHER_FLAG, FILTER_BITMAP_FLAG)); clear(); mShouldForceThemeIcon = mContext.getResources().getBoolean( R.bool.enable_forced_themed_icon); } protected void clear() { Loading Loading @@ -263,6 +268,13 @@ public class BaseIconFactory implements AutoCloseable { return op; } /** * @return True if forced theme icon is enabled */ public boolean shouldForceThemeIcon() { return mShouldForceThemeIcon; } @NonNull protected UserIconInfo getUserInfo(@NonNull UserHandle user) { int key = user.hashCode(); Loading
iconloaderlib/src/com/android/launcher3/icons/mono/MonoIconThemeController.kt +3 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ class MonoIconThemeController( factory.getShapePath(icon, Rect(0, 0, info.icon.width, info.icon.height)), factory.iconScale, sourceHint?.isFileDrawable ?: false, factory.shouldForceThemeIcon(), ) if (mono != null) { return MonoThemedBitmap( Loading @@ -86,12 +87,13 @@ class MonoIconThemeController( shapePath: Path, iconScale: Float, isFileDrawable: Boolean, shouldForceThemeIcon: Boolean, ): Drawable? { val mono = base.monochrome if (mono != null) { return ClippedMonoDrawable(mono, shapePath, iconScale) } if (Flags.forceMonochromeAppIcons() && !isFileDrawable) { if (Flags.forceMonochromeAppIcons() && shouldForceThemeIcon && !isFileDrawable) { return MonochromeIconFactory(info.icon.width).wrap(base, shapePath, iconScale) } return null Loading