Merge "Send package changed for consumers of an updated shared lib" into qt-qpr1-dev

am: 844dbbbc9f

Change-Id: I6e7ca0d75b4648df73dec4f8943095e9d56480ed
This commit is contained in:
Patrick Baumann
2019-09-11 07:03:53 -07:00
committed by android-build-merger

View File

@@ -2025,6 +2025,14 @@ public class PackageManagerService extends IPackageManager.Stub
pkgList.add(packageName);
sendResourcesChangedBroadcast(true, true, pkgList, uidArray, null);
}
} else if (!ArrayUtils.isEmpty(res.libraryConsumers)) { // if static shared lib
for (int i = 0; i < res.libraryConsumers.size(); i++) {
PackageParser.Package pkg = res.libraryConsumers.get(i);
// send broadcast that all consumers of the static shared library have changed
sendPackageChangedBroadcast(pkg.packageName, false /*killFlag*/,
new ArrayList<>(Collections.singletonList(pkg.packageName)),
pkg.applicationInfo.uid);
}
}
// Work that needs to happen on first install within each user
@@ -12202,6 +12210,9 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
}
if (reconciledPkg.installResult != null) {
reconciledPkg.installResult.libraryConsumers = clientLibPkgs;
}
if ((scanFlags & SCAN_BOOTING) != 0) {
// No apps can run during boot scan, so they don't need to be frozen
@@ -16055,6 +16066,8 @@ public class PackageManagerService extends IPackageManager.Stub
String installerPackageName;
PackageRemovedInfo removedInfo;
ArrayMap<String, PackageInstalledInfo> addedChildPackages;
// The set of packages consuming this shared library or null if no consumers exist.
ArrayList<PackageParser.Package> libraryConsumers;
public void setError(int code, String msg) {
setReturnCode(code);