diff options
| author | 2014-02-26 18:08:09 -0500 | |
|---|---|---|
| committer | 2014-02-27 11:38:22 -0500 | |
| commit | 22ae46efddd9ea708c977a33e22279531e26a39c (patch) | |
| tree | e910bb4e846cbca5a3973061ee9859543e28f945 | |
| parent | 9924e130373455899ecb4f0d78d6b607fb40e866 (diff) | |
use ticker text as a criterion for heads up
Bug: 13208692
Change-Id: I83831c059cb4582b16ce877af58be9fb3a5bec8d
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 7ff52de0c1b0..74e9704b0bb8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -97,6 +97,7 @@ public abstract class BaseStatusBar extends SystemUI implements // scores above this threshold should be displayed in heads up mode. protected static final int INTERRUPTION_THRESHOLD = 11; protected static final String SETTING_HEADS_UP = "heads_up_enabled"; + protected static final String SETTING_HEADS_UP_TICKER = "ticker_gets_heads_up"; // Should match the value in PhoneWindowManager public static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps"; @@ -128,6 +129,7 @@ public abstract class BaseStatusBar extends SystemUI implements protected int mLayoutDirection = -1; // invalid private Locale mLocale; protected boolean mUseHeadsUp = false; + protected boolean mHeadsUpTicker = false; protected IDreamManager mDreamManager; PowerManager mPowerManager; @@ -1219,11 +1221,12 @@ public abstract class BaseStatusBar extends SystemUI implements || notification.vibrate != null; boolean isHighPriority = sbn.getScore() >= INTERRUPTION_THRESHOLD; boolean isFullscreen = notification.fullScreenIntent != null; + boolean hasTicker = mHeadsUpTicker && !TextUtils.isEmpty(notification.tickerText); boolean isAllowed = notification.extras.getInt(Notification.EXTRA_AS_HEADS_UP, Notification.HEADS_UP_ALLOWED) != Notification.HEADS_UP_NEVER; final KeyguardTouchDelegate keyguard = KeyguardTouchDelegate.getInstance(mContext); - boolean interrupt = (isFullscreen || (isHighPriority && isNoisy)) + boolean interrupt = (isFullscreen || (isHighPriority && (isNoisy || hasTicker))) && isAllowed && mPowerManager.isScreenOn() && !keyguard.isShowingAndNotHidden() 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 f5f61f4991b7..db871867473b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -312,6 +312,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { boolean wasUsing = mUseHeadsUp; mUseHeadsUp = ENABLE_HEADS_UP && 0 != Settings.Global.getInt( mContext.getContentResolver(), SETTING_HEADS_UP, 0); + mHeadsUpTicker = mUseHeadsUp && 0 != Settings.Global.getInt( + mContext.getContentResolver(), SETTING_HEADS_UP_TICKER, 0); Log.d(TAG, "heads up is " + (mUseHeadsUp ? "enabled" : "disabled")); if (wasUsing != mUseHeadsUp) { if (!mUseHeadsUp) { @@ -358,6 +360,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor(SETTING_HEADS_UP), true, mHeadsUpObserver); + mContext.getContentResolver().registerContentObserver( + Settings.Global.getUriFor(SETTING_HEADS_UP_TICKER), true, + mHeadsUpObserver); } } |