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

Commit 2117f6fa authored by Mike Lockwood's avatar Mike Lockwood
Browse files

Only pulse notification light if a new notification has been received since...


Only pulse notification light if a new notification has been received since the screen was last turned off

BUG: 2980248

Change-Id: I4dca527a191fae4ad87eeff8ad32594fd6aeb417
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent f6936a3a
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -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;