Loading iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -208,7 +208,7 @@ public class BaseIconFactory implements AutoCloseable { * The bitmap is visually normalized with other icons and has enough spacing to add shadow. * * @param icon source of the icon * @return a bitmap suitable for disaplaying as an icon at various system UIs. * @return a bitmap suitable for displaying as an icon at various system UIs. */ @TargetApi(Build.VERSION_CODES.TIRAMISU) @NonNull Loading iconloaderlib/src/com/android/launcher3/icons/cache/BaseIconCache.java +3 −1 Original line number Diff line number Diff line Loading @@ -368,7 +368,9 @@ public abstract class BaseIconCache { // Icon can't be loaded from cachingLogic, which implies alternative icon was loaded // (e.g. fallback icon, default icon). So we drop here since there's no point in caching // an empty entry. if (entry.bitmap.isNullOrLowRes()) return; if (entry.bitmap.isNullOrLowRes() || isDefaultIcon(entry.bitmap, user)) { return; } CharSequence entryTitle = cachingLogic.getLabel(object); if (TextUtils.isEmpty(entryTitle)) { Loading iconloaderlib/src/com/android/launcher3/icons/cache/LauncherActivityCachingLogic.kt +17 −4 Original line number Diff line number Diff line Loading @@ -21,11 +21,13 @@ import android.content.Context import android.content.pm.LauncherActivityInfo import android.os.Build.VERSION import android.os.UserHandle import android.util.Log import com.android.launcher3.Flags.useNewIconForArchivedApps import com.android.launcher3.icons.BaseIconFactory.IconOptions import com.android.launcher3.icons.BitmapInfo object LauncherActivityCachingLogic : CachingLogic<LauncherActivityInfo> { const val TAG = "LauncherActivityCachingLogic" override fun getComponent(info: LauncherActivityInfo): ComponentName = info.componentName Loading @@ -45,10 +47,21 @@ object LauncherActivityCachingLogic : CachingLogic<LauncherActivityInfo> { iconOptions.setIsArchived( useNewIconForArchivedApps() && VERSION.SDK_INT >= 35 && info.activityInfo.isArchived ) return li.createBadgedIconBitmap( cache.iconProvider.getIcon(info, li.fullResIconDpi), iconOptions, val iconDrawable = cache.iconProvider.getIcon(info, li.fullResIconDpi) if ( VERSION.SDK_INT >= 30 && context.packageManager.isDefaultApplicationIcon(iconDrawable) ) { Log.w( TAG, "loadIcon: Default app icon returned from PackageManager." + " component=${info.componentName}, user=${info.user}", Exception(), ) // Make sure this default icon always matches BaseIconCache#getDefaultIcon return cache.getDefaultIcon(info.user) } return li.createBadgedIconBitmap(iconDrawable, iconOptions) } } } Loading
iconloaderlib/src/com/android/launcher3/icons/BaseIconFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -208,7 +208,7 @@ public class BaseIconFactory implements AutoCloseable { * The bitmap is visually normalized with other icons and has enough spacing to add shadow. * * @param icon source of the icon * @return a bitmap suitable for disaplaying as an icon at various system UIs. * @return a bitmap suitable for displaying as an icon at various system UIs. */ @TargetApi(Build.VERSION_CODES.TIRAMISU) @NonNull Loading
iconloaderlib/src/com/android/launcher3/icons/cache/BaseIconCache.java +3 −1 Original line number Diff line number Diff line Loading @@ -368,7 +368,9 @@ public abstract class BaseIconCache { // Icon can't be loaded from cachingLogic, which implies alternative icon was loaded // (e.g. fallback icon, default icon). So we drop here since there's no point in caching // an empty entry. if (entry.bitmap.isNullOrLowRes()) return; if (entry.bitmap.isNullOrLowRes() || isDefaultIcon(entry.bitmap, user)) { return; } CharSequence entryTitle = cachingLogic.getLabel(object); if (TextUtils.isEmpty(entryTitle)) { Loading
iconloaderlib/src/com/android/launcher3/icons/cache/LauncherActivityCachingLogic.kt +17 −4 Original line number Diff line number Diff line Loading @@ -21,11 +21,13 @@ import android.content.Context import android.content.pm.LauncherActivityInfo import android.os.Build.VERSION import android.os.UserHandle import android.util.Log import com.android.launcher3.Flags.useNewIconForArchivedApps import com.android.launcher3.icons.BaseIconFactory.IconOptions import com.android.launcher3.icons.BitmapInfo object LauncherActivityCachingLogic : CachingLogic<LauncherActivityInfo> { const val TAG = "LauncherActivityCachingLogic" override fun getComponent(info: LauncherActivityInfo): ComponentName = info.componentName Loading @@ -45,10 +47,21 @@ object LauncherActivityCachingLogic : CachingLogic<LauncherActivityInfo> { iconOptions.setIsArchived( useNewIconForArchivedApps() && VERSION.SDK_INT >= 35 && info.activityInfo.isArchived ) return li.createBadgedIconBitmap( cache.iconProvider.getIcon(info, li.fullResIconDpi), iconOptions, val iconDrawable = cache.iconProvider.getIcon(info, li.fullResIconDpi) if ( VERSION.SDK_INT >= 30 && context.packageManager.isDefaultApplicationIcon(iconDrawable) ) { Log.w( TAG, "loadIcon: Default app icon returned from PackageManager." + " component=${info.componentName}, user=${info.user}", Exception(), ) // Make sure this default icon always matches BaseIconCache#getDefaultIcon return cache.getDefaultIcon(info.user) } return li.createBadgedIconBitmap(iconDrawable, iconOptions) } } }