diff options
| author | 2022-11-10 01:19:19 +0000 | |
|---|---|---|
| committer | 2022-11-10 01:19:19 +0000 | |
| commit | efd2f4cdcb77b11210a624163e6ba3a51a2ac9b7 (patch) | |
| tree | e7e8807220ea34e079ecb92a5d2d3094b6061c1f | |
| parent | 020e76f630aeb534acd7b3aed7eaa2a94e4e2fd6 (diff) | |
| parent | 8b2e092146c7ab5c2952818dab6dcb6af9c417ce (diff) | |
Merge "[RESTRICT AUTOMERGE] Correct the behavior of ACTION_PACKAGE_DATA_CLEARED" into qt-dev
| -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 7393bd1582c9..9a5b5b76889c 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -4075,20 +4075,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) { |