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

Commit b6eaa864 authored by Matthew Williams's avatar Matthew Williams Committed by Android (Google) Code Review
Browse files

Merge "Remove a minimum wake-up time for a job" into lmp-dev

parents a2f945e2 a9f993cb
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -49,8 +49,6 @@ public class TimeController extends StateController {
    private final PendingIntent mDeadlineExpiredAlarmIntent;
    /** Set an alarm for the next job delay expiry. This*/
    private final PendingIntent mNextDelayExpiredAlarmIntent;
    /** Constant time determining how near in the future we'll set an alarm for. */
    private static final long MIN_WAKEUP_INTERVAL_MILLIS = 15 * 1000;

    private long mNextJobExpiredElapsedMillis;
    private long mNextDelayExpiredElapsedMillis;
@@ -218,11 +216,7 @@ public class TimeController extends StateController {
     * This alarm <b>will not</b> wake up the phone.
     */
    private void setDelayExpiredAlarm(long alarmTimeElapsedMillis) {
        final long earliestWakeupTimeElapsed =
                SystemClock.elapsedRealtime() + MIN_WAKEUP_INTERVAL_MILLIS;
        if (alarmTimeElapsedMillis < earliestWakeupTimeElapsed) {
            alarmTimeElapsedMillis = earliestWakeupTimeElapsed;
        }
        alarmTimeElapsedMillis = maybeAdjustAlarmTime(alarmTimeElapsedMillis);
        mNextDelayExpiredElapsedMillis = alarmTimeElapsedMillis;
        updateAlarmWithPendingIntent(mNextDelayExpiredAlarmIntent, mNextDelayExpiredElapsedMillis);
    }
@@ -233,15 +227,19 @@ public class TimeController extends StateController {
     * This alarm <b>will</b> wake up the phone.
     */
    private void setDeadlineExpiredAlarm(long alarmTimeElapsedMillis) {
        final long earliestWakeupTimeElapsed =
                SystemClock.elapsedRealtime() + MIN_WAKEUP_INTERVAL_MILLIS;
        if (alarmTimeElapsedMillis < earliestWakeupTimeElapsed) {
            alarmTimeElapsedMillis = earliestWakeupTimeElapsed;
        }
        alarmTimeElapsedMillis = maybeAdjustAlarmTime(alarmTimeElapsedMillis);
        mNextJobExpiredElapsedMillis = alarmTimeElapsedMillis;
        updateAlarmWithPendingIntent(mDeadlineExpiredAlarmIntent, mNextJobExpiredElapsedMillis);
    }

    private long maybeAdjustAlarmTime(long proposedAlarmTimeElapsedMillis) {
        final long earliestWakeupTimeElapsed = SystemClock.elapsedRealtime();
        if (proposedAlarmTimeElapsedMillis < earliestWakeupTimeElapsed) {
            return earliestWakeupTimeElapsed;
        }
        return proposedAlarmTimeElapsedMillis;
    }

    private void updateAlarmWithPendingIntent(PendingIntent pi, long alarmTimeElapsed) {
        ensureAlarmService();
        if (alarmTimeElapsed == Long.MAX_VALUE) {