diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2650ef0b884f..97d49ec78b9e 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2072,6 +2072,16 @@ public class PackageManagerService extends IPackageManager.Stub installerPackageName, null /*finishedReceiver*/, updateUserIds, instantUserIds); } + // if the required verifier is defined, but, is not the installer of record + // for the package, it gets notified + final boolean notifyVerifier = mRequiredVerifierPackage != null + && !mRequiredVerifierPackage.equals(installerPackageName); + if (notifyVerifier) { + sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName, + extras, 0 /*flags*/, + mRequiredVerifierPackage, null /*finishedReceiver*/, + updateUserIds, instantUserIds); + } // Send replaced for users that don't see the package for the first time if (update) { @@ -2085,6 +2095,12 @@ public class PackageManagerService extends IPackageManager.Stub installerPackageName, null /*finishedReceiver*/, updateUserIds, instantUserIds); } + if (notifyVerifier) { + sendPackageBroadcast(Intent.ACTION_PACKAGE_REPLACED, packageName, + extras, 0 /*flags*/, + mRequiredVerifierPackage, null /*finishedReceiver*/, + updateUserIds, instantUserIds); + } sendPackageBroadcast(Intent.ACTION_MY_PACKAGE_REPLACED, null /*package*/, null /*extras*/, 0 /*flags*/, packageName /*targetPackage*/, |