summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2022-05-24 02:35:04 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-05-24 02:35:04 +0000
commit78622ed1f68b9127f92d3aaf6d63e1e07c1ebaee (patch)
tree099aa68577dd17539f7c5ac2937a7bfbe40c1613
parentfd77d42f795044529ea714e465c6113009271163 (diff)
parentd9733b9f3f530487231121a06a7ae7e749087a44 (diff)
Merge "[pm] skip sending PACKAGE_CHANGED broadcast if package has been deleted" into tm-dev am: c45a6dd61c am: d9733b9f3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18528673 Change-Id: I280320220a76dd7fe05c378c8e8f65c4b53b24d2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java5
-rw-r--r--services/core/java/com/android/server/pm/SuspendPackageHelper.java4
2 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 75a5ff61ee64..621ad5223de2 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -3952,6 +3952,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService
void sendPackageChangedBroadcast(@NonNull Computer snapshot, String packageName,
boolean dontKillApp, ArrayList<String> componentNames, int packageUid, String reason) {
+ PackageStateInternal setting = snapshot.getPackageStateInternal(packageName,
+ Process.SYSTEM_UID);
+ if (setting == null) {
+ return;
+ }
final int userId = UserHandle.getUserId(packageUid);
final boolean isInstantApp =
snapshot.isInstantAppInternal(packageName, userId, Process.SYSTEM_UID);
diff --git a/services/core/java/com/android/server/pm/SuspendPackageHelper.java b/services/core/java/com/android/server/pm/SuspendPackageHelper.java
index 29c926c5f790..908b12e1752d 100644
--- a/services/core/java/com/android/server/pm/SuspendPackageHelper.java
+++ b/services/core/java/com/android/server/pm/SuspendPackageHelper.java
@@ -680,9 +680,9 @@ public final class SuspendPackageHelper {
} else {
intentExtras = null;
}
- handler.post(() -> mBroadcastHelper.doSendBroadcast(action, null, intentExtras,
+ mBroadcastHelper.doSendBroadcast(action, null, intentExtras,
Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, packageName, null,
- targetUserIds, false, null, null));
+ targetUserIds, false, null, null);
}
});
}