Loading build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ dependencies { androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' androidTestCompile 'com.android.support:support-annotations:23.2.0' androidTestCompile "com.android.support:support-annotations:${SUPPORT_LIBS_VERSION}" } protobuf { Loading src/com/android/launcher3/AllAppsList.java +8 −8 Original line number Diff line number Diff line Loading @@ -18,9 +18,9 @@ package com.android.launcher3; import android.content.ComponentName; import android.content.Context; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.util.FlagOp; import com.android.launcher3.util.ItemInfoMatcher; Loading Loading @@ -65,7 +65,7 @@ public class AllAppsList { * * If the app is already in the list, doesn't add it. */ public void add(AppInfo info, LauncherActivityInfoCompat activityInfo) { public void add(AppInfo info, LauncherActivityInfo activityInfo) { if (!mAppFilter.shouldShowApp(info.componentName)) { return; } Loading Loading @@ -99,10 +99,10 @@ public class AllAppsList { */ public void addPackage(Context context, String packageName, UserHandle user) { final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); final List<LauncherActivityInfoCompat> matches = launcherApps.getActivityList(packageName, final List<LauncherActivityInfo> matches = launcherApps.getActivityList(packageName, user); for (LauncherActivityInfoCompat info : matches) { for (LauncherActivityInfo info : matches) { add(new AppInfo(context, info, user), info); } } Loading Loading @@ -150,7 +150,7 @@ public class AllAppsList { */ public void updatePackage(Context context, String packageName, UserHandle user) { final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); final List<LauncherActivityInfoCompat> matches = launcherApps.getActivityList(packageName, final List<LauncherActivityInfo> matches = launcherApps.getActivityList(packageName, user); if (matches.size() > 0) { // Find disabled/removed activities and remove them from data and add them Loading @@ -168,7 +168,7 @@ public class AllAppsList { // Find enabled activities and add them to the adapter // Also updates existing activities with new labels/icons for (final LauncherActivityInfoCompat info : matches) { for (final LauncherActivityInfo info : matches) { AppInfo applicationInfo = findApplicationInfoLocked( info.getComponentName().getPackageName(), user, info.getComponentName().getClassName()); Loading Loading @@ -197,9 +197,9 @@ public class AllAppsList { /** * Returns whether <em>apps</em> contains <em>component</em>. */ private static boolean findActivity(List<LauncherActivityInfoCompat> apps, private static boolean findActivity(List<LauncherActivityInfo> apps, ComponentName component) { for (LauncherActivityInfoCompat info : apps) { for (LauncherActivityInfo info : apps) { if (info.getComponentName().equals(component)) { return true; } Loading src/com/android/launcher3/AppInfo.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,10 +19,10 @@ package com.android.launcher3; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import android.util.Log; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.PackageManagerHelper; Loading Loading @@ -58,11 +58,11 @@ public class AppInfo extends ItemInfoWithIcon { /** * Must not hold the Context. */ public AppInfo(Context context, LauncherActivityInfoCompat info, UserHandle user) { public AppInfo(Context context, LauncherActivityInfo info, UserHandle user) { this(context, info, user, UserManagerCompat.getInstance(context).isQuietModeEnabled(user)); } public AppInfo(Context context, LauncherActivityInfoCompat info, UserHandle user, public AppInfo(Context context, LauncherActivityInfo info, UserHandle user, boolean quietModeEnabled) { this.componentName = info.getComponentName(); this.container = ItemInfo.NO_ID; Loading Loading @@ -110,7 +110,7 @@ public class AppInfo extends ItemInfoWithIcon { return new ComponentKey(componentName, user); } public static Intent makeLaunchIntent(Context context, LauncherActivityInfoCompat info, public static Intent makeLaunchIntent(Context context, LauncherActivityInfo info, UserHandle user) { long serialNumber = UserManagerCompat.getInstance(context).getSerialNumberForUser(user); return new Intent(Intent.ACTION_MAIN) Loading src/com/android/launcher3/IconCache.java +24 −24 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; Loading @@ -45,7 +46,6 @@ import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.config.FeatureFlags; Loading Loading @@ -226,7 +226,7 @@ public class IconCache { PackageInfo info = mPackageManager.getPackageInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); long userSerial = mUserManager.getSerialNumberForUser(user); for (LauncherActivityInfoCompat app : mLauncherApps.getActivityList(packageName, user)) { for (LauncherActivityInfo app : mLauncherApps.getActivityList(packageName, user)) { addIconToDBAndMemCache(app, info, userSerial, false /*replace existing*/); } } catch (NameNotFoundException e) { Loading @@ -253,7 +253,7 @@ public class IconCache { mIconProvider.updateSystemStateString(); for (UserHandle user : mUserManager.getUserProfiles()) { // Query for the set of apps final List<LauncherActivityInfoCompat> apps = mLauncherApps.getActivityList(null, user); final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user); // Fail if we don't have any apps // TODO: Fix this. Only fail for the current user. if (apps == null || apps.isEmpty()) { Loading @@ -272,7 +272,7 @@ public class IconCache { * the DB and are updated. * @return The set of packages for which icons have updated. */ private void updateDBIcons(UserHandle user, List<LauncherActivityInfoCompat> apps, private void updateDBIcons(UserHandle user, List<LauncherActivityInfo> apps, Set<String> ignorePackages) { long userSerial = mUserManager.getSerialNumberForUser(user); PackageManager pm = mContext.getPackageManager(); Loading @@ -281,13 +281,13 @@ public class IconCache { pkgInfoMap.put(info.packageName, info); } HashMap<ComponentName, LauncherActivityInfoCompat> componentMap = new HashMap<>(); for (LauncherActivityInfoCompat app : apps) { HashMap<ComponentName, LauncherActivityInfo> componentMap = new HashMap<>(); for (LauncherActivityInfo app : apps) { componentMap.put(app.getComponentName(), app); } HashSet<Integer> itemsToRemove = new HashSet<Integer>(); Stack<LauncherActivityInfoCompat> appsToUpdate = new Stack<>(); Stack<LauncherActivityInfo> appsToUpdate = new Stack<>(); Cursor c = null; try { Loading Loading @@ -322,7 +322,7 @@ public class IconCache { long updateTime = c.getLong(indexLastUpdate); int version = c.getInt(indexVersion); LauncherActivityInfoCompat app = componentMap.remove(component); LauncherActivityInfo app = componentMap.remove(component); if (version == info.versionCode && updateTime == info.lastUpdateTime && TextUtils.equals(c.getString(systemStateIndex), mIconProvider.getIconSystemState(info.packageName))) { Loading Loading @@ -350,7 +350,7 @@ public class IconCache { // Insert remaining apps. if (!componentMap.isEmpty() || !appsToUpdate.isEmpty()) { Stack<LauncherActivityInfoCompat> appsToAdd = new Stack<>(); Stack<LauncherActivityInfo> appsToAdd = new Stack<>(); appsToAdd.addAll(componentMap.values()); new SerializedIconUpdateTask(userSerial, pkgInfoMap, appsToAdd, appsToUpdate).scheduleNext(); Loading @@ -363,7 +363,7 @@ public class IconCache { * the memory. This is useful then the previous bitmap was created using * old data. */ @Thunk synchronized void addIconToDBAndMemCache(LauncherActivityInfoCompat app, @Thunk synchronized void addIconToDBAndMemCache(LauncherActivityInfo app, PackageInfo info, long userSerial, boolean replaceExisting) { final ComponentKey key = new ComponentKey(app.getComponentName(), app.getUser()); CacheEntry entry = null; Loading Loading @@ -436,7 +436,7 @@ public class IconCache { */ public synchronized void updateTitleAndIcon(AppInfo application) { CacheEntry entry = cacheLocked(application.componentName, Provider.<LauncherActivityInfoCompat>of(null), Provider.<LauncherActivityInfo>of(null), application.user, false, application.usingLowResIcon); if (entry.icon != null && !isDefaultIcon(entry.icon, application.user)) { applyCacheEntry(entry, application); Loading @@ -447,7 +447,7 @@ public class IconCache { * Fill in {@param info} with the icon and label for {@param activityInfo} */ public synchronized void getTitleAndIcon(ItemInfoWithIcon info, LauncherActivityInfoCompat activityInfo, boolean useLowResIcon) { LauncherActivityInfo activityInfo, boolean useLowResIcon) { // If we already have activity info, no need to use package icon getTitleAndIcon(info, Provider.of(activityInfo), false, useLowResIcon); } Loading Loading @@ -475,7 +475,7 @@ public class IconCache { */ private synchronized void getTitleAndIcon( @NonNull ItemInfoWithIcon infoInOut, @NonNull Provider<LauncherActivityInfoCompat> activityInfoProvider, @NonNull Provider<LauncherActivityInfo> activityInfoProvider, boolean usePkgIcon, boolean useLowResIcon) { CacheEntry entry = cacheLocked(infoInOut.getTargetComponent(), activityInfoProvider, infoInOut.user, usePkgIcon, useLowResIcon); Loading Loading @@ -516,7 +516,7 @@ public class IconCache { */ protected CacheEntry cacheLocked( @NonNull ComponentName componentName, @NonNull Provider<LauncherActivityInfoCompat> infoProvider, @NonNull Provider<LauncherActivityInfo> infoProvider, UserHandle user, boolean usePackageIcon, boolean useLowResIcon) { Preconditions.assertWorkerThread(); ComponentKey cacheKey = new ComponentKey(componentName, user); Loading @@ -526,7 +526,7 @@ public class IconCache { mCache.put(cacheKey, entry); // Check the DB first. LauncherActivityInfoCompat info = null; LauncherActivityInfo info = null; boolean providerFetchedOnce = false; if (!getEntryFromDB(cacheKey, entry, useLowResIcon) || DEBUG_IGNORE_CACHE) { Loading Loading @@ -704,19 +704,19 @@ public class IconCache { /** * A runnable that updates invalid icons and adds missing icons in the DB for the provided * LauncherActivityInfoCompat list. Items are updated/added one at a time, so that the * LauncherActivityInfo list. Items are updated/added one at a time, so that the * worker thread doesn't get blocked. */ @Thunk class SerializedIconUpdateTask implements Runnable { private final long mUserSerial; private final HashMap<String, PackageInfo> mPkgInfoMap; private final Stack<LauncherActivityInfoCompat> mAppsToAdd; private final Stack<LauncherActivityInfoCompat> mAppsToUpdate; private final Stack<LauncherActivityInfo> mAppsToAdd; private final Stack<LauncherActivityInfo> mAppsToUpdate; private final HashSet<String> mUpdatedPackages = new HashSet<String>(); @Thunk SerializedIconUpdateTask(long userSerial, HashMap<String, PackageInfo> pkgInfoMap, Stack<LauncherActivityInfoCompat> appsToAdd, Stack<LauncherActivityInfoCompat> appsToUpdate) { Stack<LauncherActivityInfo> appsToAdd, Stack<LauncherActivityInfo> appsToUpdate) { mUserSerial = userSerial; mPkgInfoMap = pkgInfoMap; mAppsToAdd = appsToAdd; Loading @@ -726,7 +726,7 @@ public class IconCache { @Override public void run() { if (!mAppsToUpdate.isEmpty()) { LauncherActivityInfoCompat app = mAppsToUpdate.pop(); LauncherActivityInfo app = mAppsToUpdate.pop(); String pkg = app.getComponentName().getPackageName(); PackageInfo info = mPkgInfoMap.get(pkg); addIconToDBAndMemCache(app, info, mUserSerial, true /*replace existing*/); Loading @@ -741,7 +741,7 @@ public class IconCache { // Let it run one more time. scheduleNext(); } else if (!mAppsToAdd.isEmpty()) { LauncherActivityInfoCompat app = mAppsToAdd.pop(); LauncherActivityInfo app = mAppsToAdd.pop(); PackageInfo info = mPkgInfoMap.get(app.getComponentName().getPackageName()); // We do not check the mPkgInfoMap when generating the mAppsToAdd. Although every // app should have package info, this is not guaranteed by the api Loading Loading @@ -843,7 +843,7 @@ public class IconCache { } } private class ActivityInfoProvider extends Provider<LauncherActivityInfoCompat> { private class ActivityInfoProvider extends Provider<LauncherActivityInfo> { private final Intent mIntent; private final UserHandle mUser; Loading @@ -854,7 +854,7 @@ public class IconCache { } @Override public LauncherActivityInfoCompat get() { public LauncherActivityInfo get() { return mLauncherApps.resolveActivity(mIntent, mUser); } } Loading src/com/android/launcher3/IconProvider.java +2 −3 Original line number Diff line number Diff line package com.android.launcher3; import android.content.pm.LauncherActivityInfo; import android.graphics.drawable.Drawable; import com.android.launcher3.compat.LauncherActivityInfoCompat; import java.util.Locale; public class IconProvider { Loading @@ -26,7 +25,7 @@ public class IconProvider { } public Drawable getIcon(LauncherActivityInfoCompat info, int iconDpi) { public Drawable getIcon(LauncherActivityInfo info, int iconDpi) { return info.getIcon(iconDpi); } } Loading
build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ dependencies { androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' androidTestCompile 'com.android.support:support-annotations:23.2.0' androidTestCompile "com.android.support:support-annotations:${SUPPORT_LIBS_VERSION}" } protobuf { Loading
src/com/android/launcher3/AllAppsList.java +8 −8 Original line number Diff line number Diff line Loading @@ -18,9 +18,9 @@ package com.android.launcher3; import android.content.ComponentName; import android.content.Context; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.util.FlagOp; import com.android.launcher3.util.ItemInfoMatcher; Loading Loading @@ -65,7 +65,7 @@ public class AllAppsList { * * If the app is already in the list, doesn't add it. */ public void add(AppInfo info, LauncherActivityInfoCompat activityInfo) { public void add(AppInfo info, LauncherActivityInfo activityInfo) { if (!mAppFilter.shouldShowApp(info.componentName)) { return; } Loading Loading @@ -99,10 +99,10 @@ public class AllAppsList { */ public void addPackage(Context context, String packageName, UserHandle user) { final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); final List<LauncherActivityInfoCompat> matches = launcherApps.getActivityList(packageName, final List<LauncherActivityInfo> matches = launcherApps.getActivityList(packageName, user); for (LauncherActivityInfoCompat info : matches) { for (LauncherActivityInfo info : matches) { add(new AppInfo(context, info, user), info); } } Loading Loading @@ -150,7 +150,7 @@ public class AllAppsList { */ public void updatePackage(Context context, String packageName, UserHandle user) { final LauncherAppsCompat launcherApps = LauncherAppsCompat.getInstance(context); final List<LauncherActivityInfoCompat> matches = launcherApps.getActivityList(packageName, final List<LauncherActivityInfo> matches = launcherApps.getActivityList(packageName, user); if (matches.size() > 0) { // Find disabled/removed activities and remove them from data and add them Loading @@ -168,7 +168,7 @@ public class AllAppsList { // Find enabled activities and add them to the adapter // Also updates existing activities with new labels/icons for (final LauncherActivityInfoCompat info : matches) { for (final LauncherActivityInfo info : matches) { AppInfo applicationInfo = findApplicationInfoLocked( info.getComponentName().getPackageName(), user, info.getComponentName().getClassName()); Loading Loading @@ -197,9 +197,9 @@ public class AllAppsList { /** * Returns whether <em>apps</em> contains <em>component</em>. */ private static boolean findActivity(List<LauncherActivityInfoCompat> apps, private static boolean findActivity(List<LauncherActivityInfo> apps, ComponentName component) { for (LauncherActivityInfoCompat info : apps) { for (LauncherActivityInfo info : apps) { if (info.getComponentName().equals(component)) { return true; } Loading
src/com/android/launcher3/AppInfo.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,10 +19,10 @@ package com.android.launcher3; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.LauncherActivityInfo; import android.os.UserHandle; import android.util.Log; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.PackageManagerHelper; Loading Loading @@ -58,11 +58,11 @@ public class AppInfo extends ItemInfoWithIcon { /** * Must not hold the Context. */ public AppInfo(Context context, LauncherActivityInfoCompat info, UserHandle user) { public AppInfo(Context context, LauncherActivityInfo info, UserHandle user) { this(context, info, user, UserManagerCompat.getInstance(context).isQuietModeEnabled(user)); } public AppInfo(Context context, LauncherActivityInfoCompat info, UserHandle user, public AppInfo(Context context, LauncherActivityInfo info, UserHandle user, boolean quietModeEnabled) { this.componentName = info.getComponentName(); this.container = ItemInfo.NO_ID; Loading Loading @@ -110,7 +110,7 @@ public class AppInfo extends ItemInfoWithIcon { return new ComponentKey(componentName, user); } public static Intent makeLaunchIntent(Context context, LauncherActivityInfoCompat info, public static Intent makeLaunchIntent(Context context, LauncherActivityInfo info, UserHandle user) { long serialNumber = UserManagerCompat.getInstance(context).getSerialNumberForUser(user); return new Intent(Intent.ACTION_MAIN) Loading
src/com/android/launcher3/IconCache.java +24 −24 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; Loading @@ -45,7 +46,6 @@ import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.config.FeatureFlags; Loading Loading @@ -226,7 +226,7 @@ public class IconCache { PackageInfo info = mPackageManager.getPackageInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); long userSerial = mUserManager.getSerialNumberForUser(user); for (LauncherActivityInfoCompat app : mLauncherApps.getActivityList(packageName, user)) { for (LauncherActivityInfo app : mLauncherApps.getActivityList(packageName, user)) { addIconToDBAndMemCache(app, info, userSerial, false /*replace existing*/); } } catch (NameNotFoundException e) { Loading @@ -253,7 +253,7 @@ public class IconCache { mIconProvider.updateSystemStateString(); for (UserHandle user : mUserManager.getUserProfiles()) { // Query for the set of apps final List<LauncherActivityInfoCompat> apps = mLauncherApps.getActivityList(null, user); final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user); // Fail if we don't have any apps // TODO: Fix this. Only fail for the current user. if (apps == null || apps.isEmpty()) { Loading @@ -272,7 +272,7 @@ public class IconCache { * the DB and are updated. * @return The set of packages for which icons have updated. */ private void updateDBIcons(UserHandle user, List<LauncherActivityInfoCompat> apps, private void updateDBIcons(UserHandle user, List<LauncherActivityInfo> apps, Set<String> ignorePackages) { long userSerial = mUserManager.getSerialNumberForUser(user); PackageManager pm = mContext.getPackageManager(); Loading @@ -281,13 +281,13 @@ public class IconCache { pkgInfoMap.put(info.packageName, info); } HashMap<ComponentName, LauncherActivityInfoCompat> componentMap = new HashMap<>(); for (LauncherActivityInfoCompat app : apps) { HashMap<ComponentName, LauncherActivityInfo> componentMap = new HashMap<>(); for (LauncherActivityInfo app : apps) { componentMap.put(app.getComponentName(), app); } HashSet<Integer> itemsToRemove = new HashSet<Integer>(); Stack<LauncherActivityInfoCompat> appsToUpdate = new Stack<>(); Stack<LauncherActivityInfo> appsToUpdate = new Stack<>(); Cursor c = null; try { Loading Loading @@ -322,7 +322,7 @@ public class IconCache { long updateTime = c.getLong(indexLastUpdate); int version = c.getInt(indexVersion); LauncherActivityInfoCompat app = componentMap.remove(component); LauncherActivityInfo app = componentMap.remove(component); if (version == info.versionCode && updateTime == info.lastUpdateTime && TextUtils.equals(c.getString(systemStateIndex), mIconProvider.getIconSystemState(info.packageName))) { Loading Loading @@ -350,7 +350,7 @@ public class IconCache { // Insert remaining apps. if (!componentMap.isEmpty() || !appsToUpdate.isEmpty()) { Stack<LauncherActivityInfoCompat> appsToAdd = new Stack<>(); Stack<LauncherActivityInfo> appsToAdd = new Stack<>(); appsToAdd.addAll(componentMap.values()); new SerializedIconUpdateTask(userSerial, pkgInfoMap, appsToAdd, appsToUpdate).scheduleNext(); Loading @@ -363,7 +363,7 @@ public class IconCache { * the memory. This is useful then the previous bitmap was created using * old data. */ @Thunk synchronized void addIconToDBAndMemCache(LauncherActivityInfoCompat app, @Thunk synchronized void addIconToDBAndMemCache(LauncherActivityInfo app, PackageInfo info, long userSerial, boolean replaceExisting) { final ComponentKey key = new ComponentKey(app.getComponentName(), app.getUser()); CacheEntry entry = null; Loading Loading @@ -436,7 +436,7 @@ public class IconCache { */ public synchronized void updateTitleAndIcon(AppInfo application) { CacheEntry entry = cacheLocked(application.componentName, Provider.<LauncherActivityInfoCompat>of(null), Provider.<LauncherActivityInfo>of(null), application.user, false, application.usingLowResIcon); if (entry.icon != null && !isDefaultIcon(entry.icon, application.user)) { applyCacheEntry(entry, application); Loading @@ -447,7 +447,7 @@ public class IconCache { * Fill in {@param info} with the icon and label for {@param activityInfo} */ public synchronized void getTitleAndIcon(ItemInfoWithIcon info, LauncherActivityInfoCompat activityInfo, boolean useLowResIcon) { LauncherActivityInfo activityInfo, boolean useLowResIcon) { // If we already have activity info, no need to use package icon getTitleAndIcon(info, Provider.of(activityInfo), false, useLowResIcon); } Loading Loading @@ -475,7 +475,7 @@ public class IconCache { */ private synchronized void getTitleAndIcon( @NonNull ItemInfoWithIcon infoInOut, @NonNull Provider<LauncherActivityInfoCompat> activityInfoProvider, @NonNull Provider<LauncherActivityInfo> activityInfoProvider, boolean usePkgIcon, boolean useLowResIcon) { CacheEntry entry = cacheLocked(infoInOut.getTargetComponent(), activityInfoProvider, infoInOut.user, usePkgIcon, useLowResIcon); Loading Loading @@ -516,7 +516,7 @@ public class IconCache { */ protected CacheEntry cacheLocked( @NonNull ComponentName componentName, @NonNull Provider<LauncherActivityInfoCompat> infoProvider, @NonNull Provider<LauncherActivityInfo> infoProvider, UserHandle user, boolean usePackageIcon, boolean useLowResIcon) { Preconditions.assertWorkerThread(); ComponentKey cacheKey = new ComponentKey(componentName, user); Loading @@ -526,7 +526,7 @@ public class IconCache { mCache.put(cacheKey, entry); // Check the DB first. LauncherActivityInfoCompat info = null; LauncherActivityInfo info = null; boolean providerFetchedOnce = false; if (!getEntryFromDB(cacheKey, entry, useLowResIcon) || DEBUG_IGNORE_CACHE) { Loading Loading @@ -704,19 +704,19 @@ public class IconCache { /** * A runnable that updates invalid icons and adds missing icons in the DB for the provided * LauncherActivityInfoCompat list. Items are updated/added one at a time, so that the * LauncherActivityInfo list. Items are updated/added one at a time, so that the * worker thread doesn't get blocked. */ @Thunk class SerializedIconUpdateTask implements Runnable { private final long mUserSerial; private final HashMap<String, PackageInfo> mPkgInfoMap; private final Stack<LauncherActivityInfoCompat> mAppsToAdd; private final Stack<LauncherActivityInfoCompat> mAppsToUpdate; private final Stack<LauncherActivityInfo> mAppsToAdd; private final Stack<LauncherActivityInfo> mAppsToUpdate; private final HashSet<String> mUpdatedPackages = new HashSet<String>(); @Thunk SerializedIconUpdateTask(long userSerial, HashMap<String, PackageInfo> pkgInfoMap, Stack<LauncherActivityInfoCompat> appsToAdd, Stack<LauncherActivityInfoCompat> appsToUpdate) { Stack<LauncherActivityInfo> appsToAdd, Stack<LauncherActivityInfo> appsToUpdate) { mUserSerial = userSerial; mPkgInfoMap = pkgInfoMap; mAppsToAdd = appsToAdd; Loading @@ -726,7 +726,7 @@ public class IconCache { @Override public void run() { if (!mAppsToUpdate.isEmpty()) { LauncherActivityInfoCompat app = mAppsToUpdate.pop(); LauncherActivityInfo app = mAppsToUpdate.pop(); String pkg = app.getComponentName().getPackageName(); PackageInfo info = mPkgInfoMap.get(pkg); addIconToDBAndMemCache(app, info, mUserSerial, true /*replace existing*/); Loading @@ -741,7 +741,7 @@ public class IconCache { // Let it run one more time. scheduleNext(); } else if (!mAppsToAdd.isEmpty()) { LauncherActivityInfoCompat app = mAppsToAdd.pop(); LauncherActivityInfo app = mAppsToAdd.pop(); PackageInfo info = mPkgInfoMap.get(app.getComponentName().getPackageName()); // We do not check the mPkgInfoMap when generating the mAppsToAdd. Although every // app should have package info, this is not guaranteed by the api Loading Loading @@ -843,7 +843,7 @@ public class IconCache { } } private class ActivityInfoProvider extends Provider<LauncherActivityInfoCompat> { private class ActivityInfoProvider extends Provider<LauncherActivityInfo> { private final Intent mIntent; private final UserHandle mUser; Loading @@ -854,7 +854,7 @@ public class IconCache { } @Override public LauncherActivityInfoCompat get() { public LauncherActivityInfo get() { return mLauncherApps.resolveActivity(mIntent, mUser); } } Loading
src/com/android/launcher3/IconProvider.java +2 −3 Original line number Diff line number Diff line package com.android.launcher3; import android.content.pm.LauncherActivityInfo; import android.graphics.drawable.Drawable; import com.android.launcher3.compat.LauncherActivityInfoCompat; import java.util.Locale; public class IconProvider { Loading @@ -26,7 +25,7 @@ public class IconProvider { } public Drawable getIcon(LauncherActivityInfoCompat info, int iconDpi) { public Drawable getIcon(LauncherActivityInfo info, int iconDpi) { return info.getIcon(iconDpi); } }