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

Change-Id: I4309edbc825b199c850ce1cdac938daf34f8b556
This commit is contained in:
Ryan Mitchell
2020-04-30 00:28:35 +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();
for (int j = 0; j < packageCount; j++) {
final String packageName = app.pkgList.keyAt(j);
if (updateFrameworkRes || packagesToUpdate.contains(packageName)) {
try {
final ApplicationInfo ai = AppGlobals.getPackageManager()
.getApplicationInfo(packageName, STOCK_PM_FLAGS, app.userId);
if (ai != null) {
app.thread.scheduleApplicationInfoChanged(ai);
}
} catch (RemoteException e) {
Slog.w(TAG, String.format("Failed to update %s ApplicationInfo for %s",
packageName, app));
if (!updateFrameworkRes && !packagesToUpdate.contains(packageName)) {
continue;
}
try {
final ApplicationInfo ai = AppGlobals.getPackageManager()
.getApplicationInfo(packageName, STOCK_PM_FLAGS, app.userId);
if (ai == null) {
continue;
}
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 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 boolean isolated; // true if this is a special isolated process
final boolean appZygote; // true if this is forked from the app zygote