summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TYM Tsai <tymtsai@google.com> 2024-06-11 16:09:29 +0800
committer TYM Tsai <tymtsai@google.com> 2024-06-11 16:24:27 +0800
commita743da3edcea41377521f8c1ce8c19796593bd42 (patch)
treef5538d7404eb7f166cf22c01716a62a8b09addd3
parentfa98986bcf397bc7333b8553b016e8d969c98f90 (diff)
Skip to wait app killed mechanism if no active uid
Bug: 31009094 Test: atest CtsPackageManagerTestCases:PackageManagerTest#testSetSystemAppHiddenUntilInstalled Change-Id: Ie0a014d8192088e968e700ad190c832baae6fc8f
-rw-r--r--services/core/java/com/android/server/pm/KillAppBlocker.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/KillAppBlocker.java b/services/core/java/com/android/server/pm/KillAppBlocker.java
index e2901c39e612..7f5ad9d32e6b 100644
--- a/services/core/java/com/android/server/pm/KillAppBlocker.java
+++ b/services/core/java/com/android/server/pm/KillAppBlocker.java
@@ -83,13 +83,13 @@ final class KillAppBlocker {
}
}
- void waitAppProcessGone(ActivityManagerInternal mAmi, Computer snapshot,
+ void waitAppProcessGone(ActivityManagerInternal ami, Computer snapshot,
UserManagerService userManager, String packageName) {
if (!mRegistered) {
return;
}
synchronized (this) {
- if (mAmi != null) {
+ if (ami != null) {
int[] users = userManager.getUserIds();
for (int i = 0; i < users.length; i++) {
@@ -97,12 +97,16 @@ final class KillAppBlocker {
final int uid = snapshot.getPackageUidInternal(
packageName, MATCH_ALL, userId, Process.SYSTEM_UID);
if (uid != INVALID_UID) {
- if (mAmi.getUidProcessState(uid) != PROCESS_STATE_NONEXISTENT) {
+ if (ami.getUidProcessState(uid) != PROCESS_STATE_NONEXISTENT) {
mActiveUids.add(uid);
}
}
}
}
+ if (mActiveUids.size() == 0) {
+ // no active uid
+ return;
+ }
}
try {