summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2022-05-24 01:53:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-05-24 01:53:22 +0000
commitc45a6dd61c18b15478e6df1bf4aeefc64de1828a (patch)
tree25c59eb5a496c3befb62412949dca9d50cbb76bf
parent606074be1843a572626d875d778fe2ef5fce42cc (diff)
parent3eaec4122d7444f8f290061fff525ee6a2c01b1f (diff)
Merge "[pm] skip sending PACKAGE_CHANGED broadcast if package has been deleted" into tm-dev
-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);
}
});
}