Add multi-instance state to item infos
- Add legacy resource for supported multi-instance apps that matches the current SystemUI resource of the same name, and will be removed as apps migrate to the V manifest property to declare multi-instance support - Load the multi-instance state from PackageManager when the db is first loaded or when packages are updated - The multi-instance check is then used to determine if an app pair can be saved (ie. whether the action can be shown) Bug: 323112914 Test: atest NexusLauncherTests Change-Id: I565b4bee4ab5f7040910306b1fd60a4fc3bf9a1c
This commit is contained in:
@@ -126,8 +126,8 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
if (FeatureFlags.PROMISE_APPS_IN_ALL_APPS.get()) {
|
||||
appsList.removePackage(packages[i], mUser);
|
||||
}
|
||||
activitiesLists.put(
|
||||
packages[i], appsList.addPackage(context, packages[i], mUser));
|
||||
activitiesLists.put(packages[i],
|
||||
appsList.addPackage(context, packages[i], mUser));
|
||||
}
|
||||
flagOp = FlagOp.NO_OP.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE);
|
||||
break;
|
||||
@@ -138,8 +138,8 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
for (int i = 0; i < N; i++) {
|
||||
if (DEBUG) Log.d(TAG, "mAllAppsList.updatePackage " + packages[i]);
|
||||
iconCache.updateIconsForPkg(packages[i], mUser);
|
||||
activitiesLists.put(
|
||||
packages[i], appsList.updatePackage(context, packages[i], mUser));
|
||||
activitiesLists.put(packages[i],
|
||||
appsList.updatePackage(context, packages[i], mUser));
|
||||
}
|
||||
}
|
||||
// Since package was just updated, the target must be available now.
|
||||
@@ -269,6 +269,8 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
if (isNewApkAvailable) {
|
||||
List<LauncherActivityInfo> activities = activitiesLists.get(
|
||||
packageName);
|
||||
// TODO: See if we can migrate this to
|
||||
// AppInfo#updateRuntimeFlagsForActivityTarget
|
||||
si.setProgressLevel(
|
||||
activities == null || activities.isEmpty()
|
||||
? 100
|
||||
@@ -399,7 +401,8 @@ public class PackageUpdatedTask implements ModelUpdateTask {
|
||||
return false;
|
||||
}
|
||||
// Try to find the best match activity.
|
||||
Intent intent = new PackageManagerHelper(context).getAppLaunchIntent(packageName, mUser);
|
||||
Intent intent = PackageManagerHelper.INSTANCE.get(context)
|
||||
.getAppLaunchIntent(packageName, mUser);
|
||||
if (intent != null) {
|
||||
si.intent = intent;
|
||||
si.status = WorkspaceItemInfo.DEFAULT;
|
||||
|
||||
Reference in New Issue
Block a user