Fixed the behavior for HUNs with fullscreen intents
Now HUNs with full screen intents don't fire automatically when added and don't time out anymore when HUN'd Change-Id: Ic2d5033febe514760cbb4e6e028c3cea84d07cd8
This commit is contained in:
@@ -1116,11 +1116,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
if (shadeEntry == null) {
|
||||
return;
|
||||
}
|
||||
if (mUseHeadsUp && shouldInterrupt(notification)) {
|
||||
boolean isHeadsUped = mUseHeadsUp && shouldInterrupt(notification);
|
||||
if (isHeadsUped) {
|
||||
mHeadsUpManager.showNotification(shadeEntry);
|
||||
}
|
||||
|
||||
if (notification.getNotification().fullScreenIntent != null) {
|
||||
if (!isHeadsUped && notification.getNotification().fullScreenIntent != null) {
|
||||
// Stop screensaver if the notification has a full-screen intent.
|
||||
// (like an incoming phone call)
|
||||
awakenDreams();
|
||||
|
||||
@@ -464,15 +464,21 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
|
||||
|
||||
public void updateEntry() {
|
||||
long currentTime = mClock.currentTimeMillis();
|
||||
postTime = Math.max(postTime, currentTime);
|
||||
long finishTime = postTime + mHeadsUpNotificationDecay;
|
||||
long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime);
|
||||
earliestRemovaltime = currentTime + mMinimumDisplayTime;
|
||||
postTime = Math.max(postTime, currentTime);
|
||||
removeAutoCancelCallbacks();
|
||||
mHandler.postDelayed(mRemoveHeadsUpRunnable, removeDelay);
|
||||
if (canEntryDecay()) {
|
||||
long finishTime = postTime + mHeadsUpNotificationDecay;
|
||||
long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime);
|
||||
mHandler.postDelayed(mRemoveHeadsUpRunnable, removeDelay);
|
||||
}
|
||||
updateSortOrder(HeadsUpEntry.this);
|
||||
}
|
||||
|
||||
private boolean canEntryDecay() {
|
||||
return entry.notification.getNotification().fullScreenIntent == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(HeadsUpEntry o) {
|
||||
return postTime < o.postTime ? 1
|
||||
|
||||
Reference in New Issue
Block a user