diff options
| author | Mike Lockwood <lockwood@android.com> | 2010-09-09 14:02:19 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-09 14:02:19 -0700 |
| commit | 76e4fa19264793e3ed7e2ee7afccfc808a1a7458 (patch) | |
| tree | 41b8715b16752fda312c074e7c335e0df26624e0 | |
| parent | 47fa8e800ca3ce56733f7b3a54bace86ad37a1f4 (diff) | |
| parent | 2117f6fa3880e55e6a90fbd8b3a12d469c9b738b (diff) | |
| download | frameworks_base-76e4fa19264793e3ed7e2ee7afccfc808a1a7458.zip frameworks_base-76e4fa19264793e3ed7e2ee7afccfc808a1a7458.tar.gz frameworks_base-76e4fa19264793e3ed7e2ee7afccfc808a1a7458.tar.bz2 | |
Merge "Only pulse notification light if a new notification has been received since the screen was last turned off" into gingerbread
| -rwxr-xr-x | services/java/com/android/server/NotificationManagerService.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java index 63325dd..0a5b72b 100755 --- a/services/java/com/android/server/NotificationManagerService.java +++ b/services/java/com/android/server/NotificationManagerService.java @@ -112,6 +112,10 @@ public class NotificationManagerService extends INotificationManager.Stub private boolean mScreenOn = true; private boolean mInCall = false; private boolean mNotificationPulseEnabled; + // This is true if we have received a new notification while the screen is off + // (that is, if mLedNotification was set while the screen was off) + // This is reset to false when the screen is turned on. + private boolean mPendingPulseNotification; // for adb connected notifications private boolean mAdbNotificationShown = false; @@ -1082,6 +1086,11 @@ public class NotificationManagerService extends INotificationManager.Stub mBatteryLight.turnOff(); } + // clear pending pulse notification if screen is on + if (mScreenOn || mLedNotification == null) { + mPendingPulseNotification = false; + } + // handle notification lights if (mLedNotification == null) { // get next notification, if any @@ -1089,11 +1098,14 @@ public class NotificationManagerService extends INotificationManager.Stub if (n > 0) { mLedNotification = mLights.get(n-1); } + if (mLedNotification != null && !mScreenOn) { + mPendingPulseNotification = true; + } } // we only flash if screen is off and persistent pulsing is enabled // and we are not currently in a call - if (mLedNotification == null || mScreenOn || mInCall) { + if (!mPendingPulseNotification || mScreenOn || mInCall) { mNotificationLight.turnOff(); } else { int ledARGB = mLedNotification.notification.ledARGB; |
