diff options
| author | 2017-08-22 20:52:00 +0000 | |
|---|---|---|
| committer | 2017-08-22 20:52:00 +0000 | |
| commit | ceb68e06bfffeb7d5724cddfe06937423c1ec3d9 (patch) | |
| tree | 682379786b0c193ea63fafce42efaabe2c44b685 | |
| parent | 0d0d180305c63c7d57b8936ae2a2c00e4d9d4a14 (diff) | |
| parent | 4c7117af5994bdaf0ef58a72c312df28985345ec (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.java | 18 |
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); |