OSDN Git Service

Visual interruptions: stop more full screen intents.
authorJulia Reynolds <juliacr@google.com>
Tue, 26 Jan 2016 22:00:22 +0000 (17:00 -0500)
committerJulia Reynolds <juliacr@google.com>
Tue, 26 Jan 2016 22:00:22 +0000 (17:00 -0500)
The user options for 'no screen interruptions' needs to stop
peeks and full screen intents when the screen is on.

Bug: 25423508
Change-Id: I49b1c40552c3506fae259364a4d5e49168c8de36

packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

index 2592486..ddffb5e 100644 (file)
@@ -186,7 +186,7 @@ public abstract class BaseStatusBar extends SystemUI implements
 
     protected DevicePolicyManager mDevicePolicyManager;
     protected IDreamManager mDreamManager;
-    PowerManager mPowerManager;
+    protected PowerManager mPowerManager;
     protected StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
 
     // public mode, private notifications, etc
index e2a6184..d3aa8ed 100644 (file)
@@ -1256,7 +1256,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
         }
 
         if (!isHeadsUped && notification.getNotification().fullScreenIntent != null) {
-            if (mNotificationData.shouldSuppressScreenOn(notification.getKey())) {
+            if (shouldSupressFullScreenIntent(notification.getKey())) {
                 if (DEBUG) {
                     Log.d(TAG, "No Fullscreen intent: suppressed by DND: " + notification.getKey());
                 }
@@ -1283,6 +1283,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
         setAreThereNotifications();
     }
 
+    private boolean shouldSupressFullScreenIntent(String key) {
+        if (mPowerManager.isInteractive()) {
+            return mNotificationData.shouldSuppressPeek(key);
+        } else {
+            return mNotificationData.shouldSuppressScreenOn(key);
+        }
+    }
+
     @Override
     protected void updateNotificationRanking(RankingMap ranking) {
         mNotificationData.updateRanking(ranking);