diff options
| author | 2022-11-10 01:49:48 +0000 | |
|---|---|---|
| committer | 2022-11-10 01:49:48 +0000 | |
| commit | 0b7ea025f15e9f94d4f2af33a51bbf6dd7b62cc1 (patch) | |
| tree | 6e6a2862b99fd1dcdf13e0f32e71e01acee061ed | |
| parent | 4278c4fff80f5fe7e5b7f58139a3ae6fc611f2e8 (diff) | |
| parent | 8b2e092146c7ab5c2952818dab6dcb6af9c417ce (diff) | |
[RESTRICT AUTOMERGE] Correct the behavior of ACTION_PACKAGE_DATA_CLEARED am: 8b2e092146
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20307961
Change-Id: I43974ab516b22f9b2ca3bc1c6966f35fe1a7b139
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 2f81b768d6ea..ee8a58188713 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -4072,20 +4072,23 @@ public class ActivityManagerService extends IActivityManager.Stub finishForceStopPackageLocked(packageName, appInfo.uid); } } - final Intent intent = new Intent(Intent.ACTION_PACKAGE_DATA_CLEARED, - Uri.fromParts("package", packageName, null)); - intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); - intent.putExtra(Intent.EXTRA_UID, (appInfo != null) ? appInfo.uid : -1); - intent.putExtra(Intent.EXTRA_USER_HANDLE, resolvedUserId); - if (isInstantApp) { - intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName); - broadcastIntentInPackage("android", SYSTEM_UID, uid, pid, intent, null, - null, 0, null, null, permission.ACCESS_INSTANT_APPS, null, false, - false, resolvedUserId, false); - } else { - broadcastIntentInPackage("android", SYSTEM_UID, uid, pid, intent, null, - null, 0, null, null, null, null, false, false, resolvedUserId, - false); + + if (succeeded) { + final Intent intent = new Intent(Intent.ACTION_PACKAGE_DATA_CLEARED, + Uri.fromParts("package", packageName, null /* fragment */)); + intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); + intent.putExtra(Intent.EXTRA_UID, (appInfo != null) ? appInfo.uid : -1); + intent.putExtra(Intent.EXTRA_USER_HANDLE, resolvedUserId); + if (isInstantApp) { + intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName); + } + + broadcastIntentInPackage("android", SYSTEM_UID, uid, pid, + intent, null /* resolvedType */, null /* resultTo */, + 0 /* resultCode */, null /* resultData */, null /* resultExtras */, + isInstantApp ? permission.ACCESS_INSTANT_APPS : null, + null /* bOptions */, false /* serialized */, false /* sticky */, + resolvedUserId, false /* allowBackgroundActivityStarts */); } if (observer != null) { |