diff options
author | Selim Cinek <cinek@google.com> | 2015-08-31 16:15:49 -0700 |
---|---|---|
committer | Selim Cinek <cinek@google.com> | 2015-08-31 23:24:28 +0000 |
commit | 6577cae4960c51e591d94c69e3747f0b1c6a36f4 (patch) | |
tree | d10f81ac9294a6a294a6e89ab3740f2467ddfa9c /packages/SystemUI | |
parent | e7078e181cd00d20ce7764efa9835e2604a3cb83 (diff) | |
download | frameworks_base-6577cae4960c51e591d94c69e3747f0b1c6a36f4.zip frameworks_base-6577cae4960c51e591d94c69e3747f0b1c6a36f4.tar.gz frameworks_base-6577cae4960c51e591d94c69e3747f0b1c6a36f4.tar.bz2 |
Fixed when the notification effects are being cleared
Previously the notification effects were not correctly cleared in certain
cases and the user could end up in a state where the notification light would
always blink.
Bug: 22931139
Change-Id: I9a71e56cf4479354a9d773b5b6f0edd7693f2b05
Diffstat (limited to 'packages/SystemUI')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java | 10 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 9 |
2 files changed, 9 insertions, 10 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 7065343..79174c9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -1632,11 +1632,13 @@ public abstract class BaseStatusBar extends SystemUI implements protected void handleVisibleToUserChanged(boolean visibleToUser) { try { if (visibleToUser) { - boolean clearNotificationEffects = !isPanelFullyCollapsed() && - (mShowLockscreenNotifications || - (mState == StatusBarState.SHADE || mState == StatusBarState.SHADE_LOCKED)); + boolean pinnedHeadsUp = mHeadsUpManager.hasPinnedHeadsUp(); + boolean clearNotificationEffects = + ((mShowLockscreenNotifications && mState == StatusBarState.KEYGUARD) || + (!pinnedHeadsUp && (mState == StatusBarState.SHADE + || mState == StatusBarState.SHADE_LOCKED))); int notificationLoad = mNotificationData.getActiveNotifications().size(); - if (mHeadsUpManager.hasPinnedHeadsUp() && isPanelFullyCollapsed()) { + if (pinnedHeadsUp && isPanelFullyCollapsed()) { notificationLoad = 1; } else { MetricsLogger.histogram(mContext, "note_load", notificationLoad); 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 18cf95b..a661ae6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -3661,12 +3661,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, // down on the lockscreen), clear notification LED, vibration, // ringing. // Other transitions are covered in handleVisibleToUserChanged(). - if (state != mState && mVisible && state == StatusBarState.SHADE_LOCKED) { - try { - mBarService.clearNotificationEffects(); - } catch (RemoteException e) { - // Ignore. - } + if (state != mState && mVisible && (state == StatusBarState.SHADE_LOCKED + || (state == StatusBarState.SHADE && isGoingToNotificationShade()))) { + clearNotificationEffects(); } mState = state; mGroupManager.setStatusBarState(state); |