diff options
author | Selim Cinek <cinek@google.com> | 2015-04-15 19:29:49 -0700 |
---|---|---|
committer | Selim Cinek <cinek@google.com> | 2015-04-16 11:58:41 -0700 |
commit | 31d9ef7a402b58b10758da1d71ff5e2181abe8a4 (patch) | |
tree | 133394ed0f225152dd5945cee02ef18f11944da3 | |
parent | 2aab2fb76e0d3cbc8457aaaf92f49da2be6e14cc (diff) | |
download | frameworks_base-31d9ef7a402b58b10758da1d71ff5e2181abe8a4.zip frameworks_base-31d9ef7a402b58b10758da1d71ff5e2181abe8a4.tar.gz frameworks_base-31d9ef7a402b58b10758da1d71ff5e2181abe8a4.tar.bz2 |
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
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 5 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java | 14 |
2 files changed, 13 insertions, 6 deletions
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 61e679a..a5dad92 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -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(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index 920a0a1..dccf2e2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -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 |