diff options
| author | 2024-06-11 16:09:29 +0800 | |
|---|---|---|
| committer | 2024-06-11 16:24:27 +0800 | |
| commit | a743da3edcea41377521f8c1ce8c19796593bd42 (patch) | |
| tree | f5538d7404eb7f166cf22c01716a62a8b09addd3 | |
| parent | fa98986bcf397bc7333b8553b016e8d969c98f90 (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.java | 10 |
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 { |