diff --git a/platform_frameworks_libs_systemui b/platform_frameworks_libs_systemui index ba5c27f104..cc37c52766 160000 --- a/platform_frameworks_libs_systemui +++ b/platform_frameworks_libs_systemui @@ -1 +1 @@ -Subproject commit ba5c27f104c59018a43d6d224194d3dda4919ba5 +Subproject commit cc37c52766cd935a2440062492fe13017e7b3487 diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 878a2c9b6a..67f63dd87a 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -764,6 +764,10 @@ public final class Utilities { badge = icon.getBadge(); } + if (useTheme && mainIcon instanceof BitmapInfo.Extender) { + mainIcon = ((BitmapInfo.Extender) mainIcon).getThemedDrawable(context); + } + if (mainIcon == null) { return null; } diff --git a/src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java b/src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java index 320d551727..0f87632130 100644 --- a/src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java +++ b/src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java @@ -44,14 +44,14 @@ public interface ComponentWithLabelAndIcon extends ComponentWithLabel { @NonNull @Override public BitmapInfo loadIcon(@NonNull Context context, - @NonNull ComponentWithLabelAndIcon object) { + @NonNull ComponentWithLabelAndIcon object) { Drawable d = object.getFullResIcon(LauncherAppState.getInstance(context) - .getIconCache()); + .getIconCache()); if (d == null) { return super.loadIcon(context, object); } try (LauncherIcons li = LauncherIcons.obtain(context)) { - return li.createBadgedIconBitmap(d); + return li.createBadgedIconBitmap(d, new BaseIconFactory.IconOptions().setUser(object.getUser())); } } } diff --git a/src/com/android/launcher3/icons/LauncherActivityCachingLogic.java b/src/com/android/launcher3/icons/LauncherActivityCachingLogic.java index fcb083bc87..0f17fdb6f9 100644 --- a/src/com/android/launcher3/icons/LauncherActivityCachingLogic.java +++ b/src/com/android/launcher3/icons/LauncherActivityCachingLogic.java @@ -67,7 +67,8 @@ public class LauncherActivityCachingLogic public BitmapInfo loadIcon(@NonNull Context context, @NonNull LauncherActivityInfo object) { try (LauncherIcons li = LauncherIcons.obtain(context)) { return li.createBadgedIconBitmap(LauncherAppState.getInstance(context) - .getIconProvider().getIcon(object, li.mFillResIconDpi)); + .getIconProvider().getIcon(object, li.mFillResIconDpi), + new BaseIconFactory.IconOptions().setUser(object.getUser())); } } } diff --git a/src/com/android/launcher3/model/WidgetItem.java b/src/com/android/launcher3/model/WidgetItem.java index 3f887176b7..1536e47434 100644 --- a/src/com/android/launcher3/model/WidgetItem.java +++ b/src/com/android/launcher3/model/WidgetItem.java @@ -48,7 +48,7 @@ public class WidgetItem extends ComponentKey { super(info.provider, info.getProfile()); label = iconCache.getTitleNoCache(info); - description = ATLEAST_S ? info.loadDescription(context) : null; + description = ATLEAST_S && info.loadDescription(context) != null ? info.loadDescription(context) : ""; widgetInfo = info; activityInfo = null; diff --git a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java index cfc0b2be19..1641d502f1 100644 --- a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java +++ b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java @@ -23,7 +23,6 @@ import android.os.Process; import androidx.annotation.Nullable; import com.android.launcher3.Flags; -import com.android.launcher3.Utilities; import com.android.launcher3.icons.BitmapInfo; import com.android.launcher3.icons.FastBitmapDrawable; import com.android.launcher3.logging.FileLog; @@ -328,7 +327,7 @@ public abstract class ItemInfoWithIcon extends ItemInfo { * Returns a FastBitmapDrawable with the icon and context theme applied */ public FastBitmapDrawable newIcon(Context context, @BitmapInfo.DrawableCreationFlags int creationFlags) { - FastBitmapDrawable drawable = bitmap.newIcon(context, creationFlags); + FastBitmapDrawable drawable = (creationFlags & BitmapInfo.FLAG_THEMED) != 0 ? bitmap.newThemedIcon(context) : bitmap.newIcon(context, creationFlags); drawable.setIsDisabled(isDisabled()); return drawable; }