diff --git a/services/core/java/com/android/server/power/hint/HintManagerService.java b/services/core/java/com/android/server/power/hint/HintManagerService.java index 6014d0cee1711..2491565dd3763 100644 --- a/services/core/java/com/android/server/power/hint/HintManagerService.java +++ b/services/core/java/com/android/server/power/hint/HintManagerService.java @@ -255,7 +255,11 @@ public final class HintManagerService extends SystemService { private boolean checkTidValid(int uid, int tgid, int [] tids) { // Make sure all tids belongs to the same UID (including isolated UID), // tids can belong to different application processes. - List eligiblePids = mAmInternal.getIsolatedProcesses(uid); + List eligiblePids = null; + // To avoid deadlock, do not call into AMS if the call is from system. + if (uid != Process.SYSTEM_UID) { + eligiblePids = mAmInternal.getIsolatedProcesses(uid); + } if (eligiblePids == null) { eligiblePids = new ArrayList<>(); }