diff options
author | 2025-03-24 13:34:03 -0700 | |
---|---|---|
committer | 2025-03-24 13:34:03 -0700 | |
commit | 5ba7eda220f3fcd8730ec517f2e66dda980a950f (patch) | |
tree | a085a967ef7f03313a9bb3548ec72ee48525b2c0 /services | |
parent | 658706cd371d5f48257aa2140d95eedc804d3c60 (diff) | |
parent | 881560a62212484fd5e1ffa00461ce3569b43093 (diff) |
Merge "Safeguard DreamManager in PhoneWindowManager" into main
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index d3aa0469435c..f46e6e08239a 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1225,7 +1225,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { mContext.getContentResolver(), Settings.Secure.GLANCEABLE_HUB_ENABLED, 1, mCurrentUserId) == 1; - if (mDreamManagerInternal.isDreaming() || isKeyguardShowing()) { + final DreamManagerInternal dreamManagerInternal = getDreamManagerInternal(); + if (dreamManagerInternal == null) { + break; + } + + if (dreamManagerInternal.isDreaming() || isKeyguardShowing()) { // If the device is already dreaming or on keyguard, go to sleep. sleepDefaultDisplayFromPowerButton(eventTime, 0); break; @@ -1236,7 +1241,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean keyguardAvailable = !mLockPatternUtils.isLockScreenDisabled( mCurrentUserId); if (mUserManagerInternal.isUserUnlocked(mCurrentUserId) && hubEnabled - && keyguardAvailable && mDreamManagerInternal.dreamConditionActive()) { + && keyguardAvailable && dreamManagerInternal.dreamConditionActive()) { // If the hub can be launched, send a message to keyguard. Bundle options = new Bundle(); options.putBoolean(EXTRA_TRIGGER_HUB, true); @@ -1945,7 +1950,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // but don't actually go home. final DreamManagerInternal dreamManagerInternal = getDreamManagerInternal(); if (dreamManagerInternal != null && dreamManagerInternal.isDreaming()) { - mDreamManagerInternal.stopDream(false /*immediate*/, "short press on home" /*reason*/); + dreamManagerInternal.stopDream(false /*immediate*/, "short press on home" /*reason*/); return; } |