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

Commit 714a61cd authored by Selim Cinek's avatar Selim Cinek Committed by Android (Google) Code Review
Browse files

Merge "Ambient display now comes up immediately when a notification comes in" into mnc-dr-dev

parents 8461f2fa 01db67d9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -243,7 +243,7 @@
    <bool name="doze_pulse_on_notifications">true</bool>

    <!-- Doze: when to pulse after a buzzworthy notification arrives -->
    <string name="doze_pulse_schedule" translatable="false">1s,10s,30s,60s</string>
    <string name="doze_pulse_schedule" translatable="false">10s,30s,60s</string>

    <!-- Doze: maximum number of times the notification pulse schedule can be reset -->
    <integer name="doze_pulse_schedule_resets">2</integer>
+11 −2
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ public class DozeService extends DreamService {
    private boolean mPowerSaveActive;
    private boolean mCarMode;
    private long mNotificationPulseTime;
    private long mLastScheduleResetTime;
    private long mEarliestPulseDueToLight;
    private int mScheduleResetsRemaining;

@@ -356,13 +357,21 @@ public class DozeService extends DreamService {
            return;
        }
        final long pulseDuration = mDozeParameters.getPulseDuration(false /*pickup*/);
        if ((notificationTimeMs - mNotificationPulseTime) < pulseDuration) {
        boolean pulseImmediately = System.currentTimeMillis() >= notificationTimeMs;
        if ((notificationTimeMs - mLastScheduleResetTime) >= pulseDuration) {
            mScheduleResetsRemaining--;
            mLastScheduleResetTime = notificationTimeMs;
        } else if (!pulseImmediately){
            if (DEBUG) Log.d(mTag, "Recently updated, not resetting schedule");
            return;
        }
        mScheduleResetsRemaining--;
        if (DEBUG) Log.d(mTag, "mScheduleResetsRemaining = " + mScheduleResetsRemaining);
        mNotificationPulseTime = notificationTimeMs;
        if (pulseImmediately) {
            DozeLog.traceNotificationPulse(0);
            requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
        }
        // schedule the rest of the pulses
        rescheduleNotificationPulse(true /*predicate*/);
    }