diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-10-23 22:37:14 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-10-23 22:37:14 +0000 |
commit | 494381c87555c1dbeef5ed0d2cc7e496816ff84b (patch) | |
tree | 73c452fda63b35c784d6e680ec9990e12f4539d7 | |
parent | 8f74745e0a069c53bab4217baf4d4ec96e049c7b (diff) | |
parent | 157a391419962f794ffa86dd3b13ac06b180068b (diff) | |
download | base-494381c87555c1dbeef5ed0d2cc7e496816ff84b.tar.gz |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/25073114'] into udc-qpr1-release.
Change-Id: I436592642f8d2bc3bfd3713ef28dc72ce0c24690
-rw-r--r-- | services/core/java/com/android/server/display/DisplayManagerService.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 6466b440b3a0..bc7e15635035 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -2868,7 +2868,16 @@ public final class DisplayManagerService extends SystemService { // Check if the target app is in cached mode private boolean isUidCached(int uid) { - if (mActivityManagerInternal == null) { + // Only query procState and importance for Android apps, which have UIDs starting + // from FIRST_APPLICATION_UID. . + // + // Other processes with UID < FIRST_APPLICATION_UID can also register to DMS for + // display events. E.g. Android Studio executes a screen sharing process to provide + // display mirroring functionality. That process inherits the UID of adb. Depending + // on adb mode, it can be shell (2000) or root (0). Those processes are not Android + // apps and not managed by AMS. Treat them as non-cached so never ignore or defer + // display events to them. + if (mActivityManagerInternal == null || uid < FIRST_APPLICATION_UID) { return false; } int procState = mActivityManagerInternal.getUidProcessState(uid); |