am 714a61cd: Merge "Ambient display now comes up immediately when a notification comes in" into mnc-dr-dev
* commit '714a61cd586c789b18acfd0567cfea2b4ea170dd': Ambient display now comes up immediately when a notification comes in
This commit is contained in:
@@ -243,7 +243,7 @@
|
|||||||
<bool name="doze_pulse_on_notifications">true</bool>
|
<bool name="doze_pulse_on_notifications">true</bool>
|
||||||
|
|
||||||
<!-- Doze: when to pulse after a buzzworthy notification arrives -->
|
<!-- 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 -->
|
<!-- Doze: maximum number of times the notification pulse schedule can be reset -->
|
||||||
<integer name="doze_pulse_schedule_resets">2</integer>
|
<integer name="doze_pulse_schedule_resets">2</integer>
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ public class DozeService extends DreamService {
|
|||||||
private boolean mPowerSaveActive;
|
private boolean mPowerSaveActive;
|
||||||
private boolean mCarMode;
|
private boolean mCarMode;
|
||||||
private long mNotificationPulseTime;
|
private long mNotificationPulseTime;
|
||||||
|
private long mLastScheduleResetTime;
|
||||||
private long mEarliestPulseDueToLight;
|
private long mEarliestPulseDueToLight;
|
||||||
private int mScheduleResetsRemaining;
|
private int mScheduleResetsRemaining;
|
||||||
|
|
||||||
@@ -356,13 +357,21 @@ public class DozeService extends DreamService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final long pulseDuration = mDozeParameters.getPulseDuration(false /*pickup*/);
|
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");
|
if (DEBUG) Log.d(mTag, "Recently updated, not resetting schedule");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mScheduleResetsRemaining--;
|
|
||||||
if (DEBUG) Log.d(mTag, "mScheduleResetsRemaining = " + mScheduleResetsRemaining);
|
if (DEBUG) Log.d(mTag, "mScheduleResetsRemaining = " + mScheduleResetsRemaining);
|
||||||
mNotificationPulseTime = notificationTimeMs;
|
mNotificationPulseTime = notificationTimeMs;
|
||||||
|
if (pulseImmediately) {
|
||||||
|
DozeLog.traceNotificationPulse(0);
|
||||||
|
requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
|
||||||
|
}
|
||||||
|
// schedule the rest of the pulses
|
||||||
rescheduleNotificationPulse(true /*predicate*/);
|
rescheduleNotificationPulse(true /*predicate*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user