summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Todd Kennedy <toddke@google.com> 2017-08-22 20:52:00 +0000
committer android-build-merger <android-build-merger@google.com> 2017-08-22 20:52:00 +0000
commitceb68e06bfffeb7d5724cddfe06937423c1ec3d9 (patch)
tree682379786b0c193ea63fafce42efaabe2c44b685
parent0d0d180305c63c7d57b8936ae2a2c00e4d9d4a14 (diff)
parent4c7117af5994bdaf0ef58a72c312df28985345ec (diff)
Merge "Use the installer package name for broadcasts" into oc-mr1-dev am: 0862898a34
am: 4c7117af59 Change-Id: Ia2f756d0e26be2758bf5e63a4eec458af2e2fd8d
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index af838fdf4173..279574a98553 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -1930,8 +1930,12 @@ public class PackageManagerService extends IPackageManager.Stub
final boolean update = res.removedInfo != null
&& res.removedInfo.removedPackage != null;
- final String origInstallerPackageName = res.removedInfo != null
- ? res.removedInfo.installerPackageName : null;
+ final String installerPackageName =
+ res.installerPackageName != null
+ ? res.installerPackageName
+ : res.removedInfo != null
+ ? res.removedInfo.installerPackageName
+ : null;
// If this is the first time we have child packages for a disabled privileged
// app that had no children, we grant requested runtime permissions to the new
@@ -1996,10 +2000,10 @@ public class PackageManagerService extends IPackageManager.Stub
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
extras, 0 /*flags*/,
null /*targetPackage*/, null /*finishedReceiver*/, updateUsers);
- if (origInstallerPackageName != null) {
+ if (installerPackageName != null) {
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
extras, 0 /*flags*/,
- origInstallerPackageName, null /*finishedReceiver*/, updateUsers);
+ installerPackageName, null /*finishedReceiver*/, updateUsers);
}
// Send replaced for users that don't see the package for the first time
@@ -2008,10 +2012,10 @@ public class PackageManagerService extends IPackageManager.Stub
packageName, extras, 0 /*flags*/,
null /*targetPackage*/, null /*finishedReceiver*/,
updateUsers);
- if (origInstallerPackageName != null) {
+ if (installerPackageName != null) {
sendPackageBroadcast(Intent.ACTION_PACKAGE_REPLACED, packageName,
extras, 0 /*flags*/,
- origInstallerPackageName, null /*finishedReceiver*/, updateUsers);
+ installerPackageName, null /*finishedReceiver*/, updateUsers);
}
sendPackageBroadcast(Intent.ACTION_MY_PACKAGE_REPLACED,
null /*package*/, null /*extras*/, 0 /*flags*/,
@@ -17420,6 +17424,7 @@ public class PackageManagerService extends IPackageManager.Stub
PackageParser.Package pkg;
int returnCode;
String returnMsg;
+ String installerPackageName;
PackageRemovedInfo removedInfo;
ArrayMap<String, PackageInstalledInfo> addedChildPackages;
@@ -18340,6 +18345,7 @@ public class PackageManagerService extends IPackageManager.Stub
// Result object to be returned
res.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
+ res.installerPackageName = installerPackageName;
if (DEBUG_INSTALL) Slog.d(TAG, "installPackageLI: path=" + tmpPackageFile);