diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index c410b8bd41c8..ee18b8974bac 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -14994,7 +14994,12 @@ public class ActivityManagerService extends IActivityManager.Stub final int uid = getUidFromIntent(intent); if (uid >= 0) { mBatteryStatsService.removeUid(uid); - mAppOpsService.uidRemoved(uid); + if (intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) { + mAppOpsService.resetAllModes(UserHandle.getUserId(uid), + intent.getData().getSchemeSpecificPart()); + } else { + mAppOpsService.uidRemoved(uid); + } } break; case Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE: diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index aa4a87e9801b..723579614cd3 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18822,7 +18822,7 @@ public class PackageManagerService extends IPackageManager.Stub } if (removedAppId >= 0) { packageSender.sendPackageBroadcast(Intent.ACTION_UID_REMOVED, - null, extras, Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, + removedPackage, extras, Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, null, null, broadcastUsers, instantUserIds); } } |