summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
author Darrell Shi <darrellshi@google.com> 2025-03-24 13:34:03 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-24 13:34:03 -0700
commit5ba7eda220f3fcd8730ec517f2e66dda980a950f (patch)
treea085a967ef7f03313a9bb3548ec72ee48525b2c0 /services
parent658706cd371d5f48257aa2140d95eedc804d3c60 (diff)
parent881560a62212484fd5e1ffa00461ce3569b43093 (diff)
Merge "Safeguard DreamManager in PhoneWindowManager" into main
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java11
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;
}