From f701954d4eca5b6d62c819ed934397f2bc152ee2 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 31 Jul 2014 12:42:25 -0400 Subject: [PATCH] Disable heads up when DISABLE_NOTIFICATION_ALERT When notification alerts are disabled also turn off heads up. This will fall back to the old behavior, which can allow the fullscreen intent to be triggered instead. Bug: 14157742 Change-Id: I4b6e3d9383894b1674d600c374ff8968ca53513e --- .../com/android/systemui/statusbar/BaseStatusBar.java | 1 + .../android/systemui/statusbar/phone/PhoneStatusBar.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index af92e49415b1d..a33fb3ae4525f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -152,6 +152,7 @@ public abstract class BaseStatusBar extends SystemUI implements private Locale mLocale; protected boolean mUseHeadsUp = false; protected boolean mHeadsUpTicker = false; + protected boolean mDisableNotificationAlerts = false; protected IDreamManager mDreamManager; PowerManager mPowerManager; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index ae7d500bd1e8c..e7a9779c03ad9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -367,7 +367,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override public void onChange(boolean selfChange) { boolean wasUsing = mUseHeadsUp; - mUseHeadsUp = ENABLE_HEADS_UP && Settings.Global.HEADS_UP_OFF != Settings.Global.getInt( + mUseHeadsUp = ENABLE_HEADS_UP && !mDisableNotificationAlerts + && Settings.Global.HEADS_UP_OFF != Settings.Global.getInt( mContext.getContentResolver(), Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, Settings.Global.HEADS_UP_OFF); mHeadsUpTicker = mUseHeadsUp && 0 != Settings.Global.getInt( @@ -1930,6 +1931,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, animateStatusBarShow(mNotificationIconArea, animate); } } + + if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0) { + mDisableNotificationAlerts = + (state & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) != 0; + mHeadsUpObserver.onChange(true); + } } /**