Loading quickstep/src/com/android/launcher3/appprediction/InstantAppItemInfo.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import androidx.annotation.NonNull; import com.android.launcher3.LauncherSettings; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; Loading @@ -33,11 +35,13 @@ public class InstantAppItemInfo extends AppInfo { this.componentName = new ComponentName(packageName, COMPONENT_CLASS_MARKER); } @NonNull @Override public ComponentName getTargetComponent() { return componentName; } @NonNull @Override public WorkspaceItemInfo makeWorkspaceItem(Context context) { WorkspaceItemInfo workspaceItemInfo = super.makeWorkspaceItem(context); Loading src/com/android/launcher3/icons/ComponentWithLabel.java +10 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.content.Context; import android.content.pm.PackageManager; import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.launcher3.icons.cache.CachingLogic; public interface ComponentWithLabel { Loading @@ -42,22 +44,26 @@ public interface ComponentWithLabel { } @Override public ComponentName getComponent(T object) { @NonNull public ComponentName getComponent(@NonNull T object) { return object.getComponent(); } @NonNull @Override public UserHandle getUser(T object) { public UserHandle getUser(@NonNull T object) { return object.getUser(); } @NonNull @Override public CharSequence getLabel(T object) { public CharSequence getLabel(@NonNull T object) { return object.getLabel(mPackageManager); } @NonNull @Override public BitmapInfo loadIcon(Context context, T object) { public BitmapInfo loadIcon(@NonNull Context context, @NonNull T object) { return BitmapInfo.LOW_RES_INFO; } Loading src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java +2 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public interface ComponentWithLabelAndIcon extends ComponentWithLabel { @NonNull @Override public BitmapInfo loadIcon(Context context, ComponentWithLabelAndIcon object) { public BitmapInfo loadIcon(@NonNull Context context, @NonNull ComponentWithLabelAndIcon object) { Drawable d = object.getFullResIcon(LauncherAppState.getInstance(context) .getIconCache()); if (d == null) { Loading src/com/android/launcher3/icons/IconCache.java +15 −6 Original line number Diff line number Diff line Loading @@ -118,15 +118,16 @@ public class IconCache extends BaseIconCache { } @Override protected long getSerialNumberForUser(UserHandle user) { protected long getSerialNumberForUser(@NonNull UserHandle user) { return mUserManager.getSerialNumberForUser(user); } @Override protected boolean isInstantApp(ApplicationInfo info) { protected boolean isInstantApp(@NonNull ApplicationInfo info) { return mInstantAppResolver.isInstantApp(info); } @NonNull @Override public BaseIconFactory getIconFactory() { return LauncherIcons.obtain(mContext); Loading @@ -135,7 +136,8 @@ public class IconCache extends BaseIconCache { /** * Updates the entries related to the given package in memory and persistent DB. */ public synchronized void updateIconsForPkg(String packageName, UserHandle user) { public synchronized void updateIconsForPkg(@NonNull final String packageName, @NonNull final UserHandle user) { removeIconsForPkg(packageName, user); try { PackageInfo info = mPackageManager.getPackageInfo(packageName, Loading Loading @@ -471,7 +473,7 @@ public class IconCache extends BaseIconCache { * Fill in {@param infoInOut} with the corresponding icon and label. */ public synchronized void getTitleAndIconForApp( PackageItemInfo infoInOut, boolean useLowResIcon) { @NonNull final PackageItemInfo infoInOut, final boolean useLowResIcon) { CacheEntry entry = getEntryForPackageLocked( infoInOut.packageName, infoInOut.user, useLowResIcon); applyCacheEntry(entry, infoInOut); Loading Loading @@ -510,10 +512,16 @@ public class IconCache extends BaseIconCache { return bitmap.withFlags(getUserFlagOpLocked(user)); } protected void applyCacheEntry(CacheEntry entry, ItemInfoWithIcon info) { protected void applyCacheEntry(@NonNull final CacheEntry entry, @NonNull final ItemInfoWithIcon info) { info.title = Utilities.trim(entry.title); info.contentDescription = entry.contentDescription; info.bitmap = (entry.bitmap == null) ? getDefaultIcon(info.user) : entry.bitmap; info.bitmap = entry.bitmap; if (entry.bitmap == null) { // TODO: entry.bitmap can never be null, so this should not happen at all. Log.wtf(TAG, "Cannot find bitmap from the cache, default icon was loaded."); info.bitmap = getDefaultIcon(info.user); } } public Drawable getFullResIcon(LauncherActivityInfo info) { Loading @@ -526,6 +534,7 @@ public class IconCache extends BaseIconCache { } @Override @NonNull protected String getIconSystemState(String packageName) { return mIconProvider.getSystemStateForPackage(mSystemState, packageName); } Loading src/com/android/launcher3/icons/LauncherActivityCachingLogic.java +10 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.content.Context; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.icons.BaseIconFactory.IconOptions; Loading @@ -40,23 +42,27 @@ public class LauncherActivityCachingLogic R.string.launcher_activity_logic_class); } @NonNull @Override public ComponentName getComponent(LauncherActivityInfo object) { public ComponentName getComponent(@NonNull LauncherActivityInfo object) { return object.getComponentName(); } @NonNull @Override public UserHandle getUser(LauncherActivityInfo object) { public UserHandle getUser(@NonNull LauncherActivityInfo object) { return object.getUser(); } @NonNull @Override public CharSequence getLabel(LauncherActivityInfo object) { public CharSequence getLabel(@NonNull LauncherActivityInfo object) { return object.getLabel(); } @NonNull @Override public BitmapInfo loadIcon(Context context, LauncherActivityInfo object) { 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), Loading Loading
quickstep/src/com/android/launcher3/appprediction/InstantAppItemInfo.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import androidx.annotation.NonNull; import com.android.launcher3.LauncherSettings; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; Loading @@ -33,11 +35,13 @@ public class InstantAppItemInfo extends AppInfo { this.componentName = new ComponentName(packageName, COMPONENT_CLASS_MARKER); } @NonNull @Override public ComponentName getTargetComponent() { return componentName; } @NonNull @Override public WorkspaceItemInfo makeWorkspaceItem(Context context) { WorkspaceItemInfo workspaceItemInfo = super.makeWorkspaceItem(context); Loading
src/com/android/launcher3/icons/ComponentWithLabel.java +10 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.content.Context; import android.content.pm.PackageManager; import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.launcher3.icons.cache.CachingLogic; public interface ComponentWithLabel { Loading @@ -42,22 +44,26 @@ public interface ComponentWithLabel { } @Override public ComponentName getComponent(T object) { @NonNull public ComponentName getComponent(@NonNull T object) { return object.getComponent(); } @NonNull @Override public UserHandle getUser(T object) { public UserHandle getUser(@NonNull T object) { return object.getUser(); } @NonNull @Override public CharSequence getLabel(T object) { public CharSequence getLabel(@NonNull T object) { return object.getLabel(mPackageManager); } @NonNull @Override public BitmapInfo loadIcon(Context context, T object) { public BitmapInfo loadIcon(@NonNull Context context, @NonNull T object) { return BitmapInfo.LOW_RES_INFO; } Loading
src/com/android/launcher3/icons/ComponentWithLabelAndIcon.java +2 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public interface ComponentWithLabelAndIcon extends ComponentWithLabel { @NonNull @Override public BitmapInfo loadIcon(Context context, ComponentWithLabelAndIcon object) { public BitmapInfo loadIcon(@NonNull Context context, @NonNull ComponentWithLabelAndIcon object) { Drawable d = object.getFullResIcon(LauncherAppState.getInstance(context) .getIconCache()); if (d == null) { Loading
src/com/android/launcher3/icons/IconCache.java +15 −6 Original line number Diff line number Diff line Loading @@ -118,15 +118,16 @@ public class IconCache extends BaseIconCache { } @Override protected long getSerialNumberForUser(UserHandle user) { protected long getSerialNumberForUser(@NonNull UserHandle user) { return mUserManager.getSerialNumberForUser(user); } @Override protected boolean isInstantApp(ApplicationInfo info) { protected boolean isInstantApp(@NonNull ApplicationInfo info) { return mInstantAppResolver.isInstantApp(info); } @NonNull @Override public BaseIconFactory getIconFactory() { return LauncherIcons.obtain(mContext); Loading @@ -135,7 +136,8 @@ public class IconCache extends BaseIconCache { /** * Updates the entries related to the given package in memory and persistent DB. */ public synchronized void updateIconsForPkg(String packageName, UserHandle user) { public synchronized void updateIconsForPkg(@NonNull final String packageName, @NonNull final UserHandle user) { removeIconsForPkg(packageName, user); try { PackageInfo info = mPackageManager.getPackageInfo(packageName, Loading Loading @@ -471,7 +473,7 @@ public class IconCache extends BaseIconCache { * Fill in {@param infoInOut} with the corresponding icon and label. */ public synchronized void getTitleAndIconForApp( PackageItemInfo infoInOut, boolean useLowResIcon) { @NonNull final PackageItemInfo infoInOut, final boolean useLowResIcon) { CacheEntry entry = getEntryForPackageLocked( infoInOut.packageName, infoInOut.user, useLowResIcon); applyCacheEntry(entry, infoInOut); Loading Loading @@ -510,10 +512,16 @@ public class IconCache extends BaseIconCache { return bitmap.withFlags(getUserFlagOpLocked(user)); } protected void applyCacheEntry(CacheEntry entry, ItemInfoWithIcon info) { protected void applyCacheEntry(@NonNull final CacheEntry entry, @NonNull final ItemInfoWithIcon info) { info.title = Utilities.trim(entry.title); info.contentDescription = entry.contentDescription; info.bitmap = (entry.bitmap == null) ? getDefaultIcon(info.user) : entry.bitmap; info.bitmap = entry.bitmap; if (entry.bitmap == null) { // TODO: entry.bitmap can never be null, so this should not happen at all. Log.wtf(TAG, "Cannot find bitmap from the cache, default icon was loaded."); info.bitmap = getDefaultIcon(info.user); } } public Drawable getFullResIcon(LauncherActivityInfo info) { Loading @@ -526,6 +534,7 @@ public class IconCache extends BaseIconCache { } @Override @NonNull protected String getIconSystemState(String packageName) { return mIconProvider.getSystemStateForPackage(mSystemState, packageName); } Loading
src/com/android/launcher3/icons/LauncherActivityCachingLogic.java +10 −4 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.content.Context; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.icons.BaseIconFactory.IconOptions; Loading @@ -40,23 +42,27 @@ public class LauncherActivityCachingLogic R.string.launcher_activity_logic_class); } @NonNull @Override public ComponentName getComponent(LauncherActivityInfo object) { public ComponentName getComponent(@NonNull LauncherActivityInfo object) { return object.getComponentName(); } @NonNull @Override public UserHandle getUser(LauncherActivityInfo object) { public UserHandle getUser(@NonNull LauncherActivityInfo object) { return object.getUser(); } @NonNull @Override public CharSequence getLabel(LauncherActivityInfo object) { public CharSequence getLabel(@NonNull LauncherActivityInfo object) { return object.getLabel(); } @NonNull @Override public BitmapInfo loadIcon(Context context, LauncherActivityInfo object) { 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), Loading