Merge "Update ProcessRecord ApplicationInfo for RROs" into rvc-dev am: e1adc126a4

Change-Id: I4626f34b6948c640da01822eadc786ec4effff64
This commit is contained in:
Ryan Mitchell
2020-04-30 00:07:14 +00:00
committed by Automerger Merge Worker
2 changed files with 16 additions and 11 deletions

View File

@@ -3671,17 +3671,22 @@ public final class ProcessList {
final int packageCount = app.pkgList.size(); final int packageCount = app.pkgList.size();
for (int j = 0; j < packageCount; j++) { for (int j = 0; j < packageCount; j++) {
final String packageName = app.pkgList.keyAt(j); final String packageName = app.pkgList.keyAt(j);
if (updateFrameworkRes || packagesToUpdate.contains(packageName)) { if (!updateFrameworkRes && !packagesToUpdate.contains(packageName)) {
try { continue;
final ApplicationInfo ai = AppGlobals.getPackageManager() }
.getApplicationInfo(packageName, STOCK_PM_FLAGS, app.userId); try {
if (ai != null) { final ApplicationInfo ai = AppGlobals.getPackageManager()
app.thread.scheduleApplicationInfoChanged(ai); .getApplicationInfo(packageName, STOCK_PM_FLAGS, app.userId);
} if (ai == null) {
} catch (RemoteException e) { continue;
Slog.w(TAG, String.format("Failed to update %s ApplicationInfo for %s",
packageName, app));
} }
app.thread.scheduleApplicationInfoChanged(ai);
if (ai.packageName.equals(app.info.packageName)) {
app.info = ai;
}
} catch (RemoteException e) {
Slog.w(TAG, String.format("Failed to update %s ApplicationInfo for %s",
packageName, app));
} }
} }
} }

View File

@@ -86,7 +86,7 @@ class ProcessRecord implements WindowProcessListener {
private static final String TAG = TAG_WITH_CLASS_NAME ? "ProcessRecord" : TAG_AM; private static final String TAG = TAG_WITH_CLASS_NAME ? "ProcessRecord" : TAG_AM;
private final ActivityManagerService mService; // where we came from private final ActivityManagerService mService; // where we came from
final ApplicationInfo info; // all about the first app in the process volatile ApplicationInfo info; // all about the first app in the process
final ProcessInfo processInfo; // if non-null, process-specific manifest info final ProcessInfo processInfo; // if non-null, process-specific manifest info
final boolean isolated; // true if this is a special isolated process final boolean isolated; // true if this is a special isolated process
final boolean appZygote; // true if this is forked from the app zygote final boolean appZygote; // true if this is forked from the app zygote