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

This commit is contained in:
Selim Cinek
2015-10-06 01:59:50 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 3 deletions

View File

@@ -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>

View File

@@ -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*/);
}