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

Commit f6383ac3 authored by Justin Klaassen's avatar Justin Klaassen Committed by android-build-merger
Browse files

Make NightDisplayService robust to early alarms am: 4346f63d

am: 49b3fbab

Change-Id: I0e6038c6435883911501fab6b159c204807af18f
parents 16d2c267 49b3fbab
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.TypeEvaluator;
import android.animation.ValueAnimator;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.AlarmManager;
import android.content.BroadcastReceiver;
@@ -361,13 +362,12 @@ public final class NightDisplayService extends SystemService
            if (setActivated) {
                mController.setActivated(activated);
            }
            updateNextAlarm();
            updateNextAlarm(mIsActivated, now);
        }

        private void updateNextAlarm() {
            if (mIsActivated != null) {
                final Calendar now = Calendar.getInstance();
                final Calendar next = mIsActivated ? mEndTime.getDateTimeAfter(now)
        private void updateNextAlarm(@Nullable Boolean activated, @NonNull Calendar now) {
            if (activated != null) {
                final Calendar next = activated ? mEndTime.getDateTimeAfter(now)
                        : mStartTime.getDateTimeAfter(now);
                mAlarmManager.setExact(AlarmManager.RTC, next.getTimeInMillis(), TAG, this, null);
            }
@@ -396,10 +396,11 @@ public final class NightDisplayService extends SystemService

        @Override
        public void onActivated(boolean activated) {
            final Calendar now = Calendar.getInstance();
            if (mIsActivated != null) {
                mLastActivatedTime = Calendar.getInstance();
                mLastActivatedTime = now;
            }
            updateNextAlarm();
            updateNextAlarm(activated, now);
        }

        @Override