am e97f90b9: on screen off: convert heads up to full screen intent.

* commit 'e97f90b9bbe3e75db058827887a842c5f4a0dda0':
  on screen off: convert heads up to full screen intent.
This commit is contained in:
Chris Wren
2013-08-08 15:55:25 -07:00
committed by Android Git Automerger
2 changed files with 29 additions and 0 deletions

View File

@@ -89,6 +89,7 @@ public abstract class BaseStatusBar extends SystemUI implements
protected static final int MSG_CLOSE_SEARCH_PANEL = 1025;
protected static final int MSG_SHOW_HEADS_UP = 1026;
protected static final int MSG_HIDE_HEADS_UP = 1027;
protected static final int MSG_ESCALATE_HEADS_UP = 1028;
protected static final boolean ENABLE_HEADS_UP = true;
// scores above this threshold should be displayed in heads up mode.
@@ -1035,6 +1036,12 @@ public abstract class BaseStatusBar extends SystemUI implements
}
}
protected void notifyHeadsUpScreenOn(boolean screenOn) {
if (!screenOn && mInterruptingNotificationEntry != null) {
mHandler.sendEmptyMessage(MSG_ESCALATE_HEADS_UP);
}
}
protected boolean shouldInterrupt(StatusBarNotification sbn) {
Notification notification = sbn.getNotification();
// some predicates to make the boolean logic legible

View File

@@ -1354,6 +1354,27 @@ public class PhoneStatusBar extends BaseStatusBar {
setHeadsUpVisibility(false);
mInterruptingNotificationEntry = null;
break;
case MSG_ESCALATE_HEADS_UP:
escalateHeadsUp();
setHeadsUpVisibility(false);
mInterruptingNotificationEntry = null;
break;
}
}
}
/** if the interrupting notification had a fullscreen intent, fire it now. */
private void escalateHeadsUp() {
if (mInterruptingNotificationEntry != null) {
final StatusBarNotification sbn = mInterruptingNotificationEntry.notification;
final Notification notification = sbn.getNotification();
if (notification.fullScreenIntent != null) {
if (DEBUG)
Log.d(TAG, "converting a heads up to fullScreen");
try {
notification.fullScreenIntent.send();
} catch (PendingIntent.CanceledException e) {
}
}
}
}
@@ -2516,6 +2537,7 @@ public class PhoneStatusBar extends BaseStatusBar {
// no waiting!
makeExpandedInvisible();
notifyNavigationBarScreenOn(false);
notifyHeadsUpScreenOn(false);
}
else if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) {
if (DEBUG) {