Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31d9ef7a authored by Selim Cinek's avatar Selim Cinek
Browse files

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
parent 2aab2fb7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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();
+10 −4
Original line number Diff line number Diff line
@@ -464,15 +464,21 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL

        public void updateEntry() {
            long currentTime = mClock.currentTimeMillis();
            earliestRemovaltime = currentTime + mMinimumDisplayTime;
            postTime = Math.max(postTime, currentTime);
            removeAutoCancelCallbacks();
            if (canEntryDecay()) {
                long finishTime = postTime + mHeadsUpNotificationDecay;
                long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime);
            earliestRemovaltime = currentTime + mMinimumDisplayTime;
            removeAutoCancelCallbacks();
                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