diff options
| author | 2023-09-26 17:37:59 +0000 | |
|---|---|---|
| committer | 2023-09-27 13:47:35 +0000 | |
| commit | 5a255ffc0324b94e2a33cf22d66b3b24e65bea74 (patch) | |
| tree | 621dea3e198d558ca326980fc63c41918f608e7a | |
| parent | d62cfd94edb9c017ac9f6cb175e818e07b7c8661 (diff) | |
Run TaskDisplayArea recovery during sleep tokens
In AOD we can have a showWhenLocked activity visible but
put to sleep by the Keyguard sleep token. Checking for
isSleeping stops us from recovering display area visibility
when:
- AOD is active
- A showWhenLocked, non-turnScreenOn app starts to launch
- Post-collect, app calls recreate(), adds FLAG_TURN_SCREEN_ON
- App becomes visible in relayout
Change-Id: I660967a2eed3ea1c0ef1845afbdf416c26fa82ae
Test: atest --iterations 10 CtsWindowManagerDeviceKeyguard:KeyguardTests
Test: atest --iterations 10 CtsWindowManagerDeviceKeyguard:KeyguardLockedTests
Bug: 292571302
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index a0c78702fec5..831c8fd2f98b 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -5365,7 +5365,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Finish should only ever commit visibility=false, so we can check full containment // rather than just direct membership. inFinishingTransition = mTransitionController.inFinishingTransition(this); - if (!inFinishingTransition && !mDisplayContent.isSleeping()) { + if (!inFinishingTransition && (visible || !mDisplayContent.isSleeping())) { Slog.e(TAG, "setVisibility=" + visible + " while transition is not collecting or finishing " + this + " caller=" + Debug.getCallers(8)); |