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 a8cb955f677e8..e8b8dc1869dfd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -939,7 +939,8 @@ public class PhoneStatusBar extends BaseStatusBar { @Override public void resetHeadsUpDecayTimer() { mHandler.removeMessages(MSG_HIDE_HEADS_UP); - if (mHeadsUpNotificationDecay > 0) { + if (mUseHeadsUp && mHeadsUpNotificationDecay > 0 + && !mHeadsUpNotificationView.isInsistent()) { mHandler.sendEmptyMessageDelayed(MSG_HIDE_HEADS_UP, mHeadsUpNotificationDecay); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java index 038eba1902240..7a8ce4f8a6ef9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.policy; +import android.app.Notification; import android.content.Context; import android.content.res.Configuration; import android.graphics.Rect; @@ -199,4 +200,9 @@ public class HeadsUpNotificationView extends LinearLayout implements SwipeHelper mHeadsUp.row.setUserLocked(userLocked); } } + + public boolean isInsistent() { + return mHeadsUp != null + && (mHeadsUp.notification.getNotification().flags & Notification.FLAG_INSISTENT) != 0; + } } \ No newline at end of file