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

Commit 6e772588 authored by Annie Chin's avatar Annie Chin
Browse files

Cherry-pick NPE fix for AlarmStateManager.

Bug: 23016665
Bug: 23048187
Change-Id: Id2c8089a78052de0d7419ca3464f24b7cfd32e77
parent a9bb55e5
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -763,6 +763,11 @@ public final class AlarmStateManager extends BroadcastReceiver {
        final Calendar currentTime = getCurrentTime();
        final Calendar currentTime = getCurrentTime();
        for (AlarmInstance instance : AlarmInstance.getInstances(contentResolver, null)) {
        for (AlarmInstance instance : AlarmInstance.getInstances(contentResolver, null)) {
            final Alarm alarm = Alarm.getAlarm(contentResolver, instance.mAlarmId);
            final Alarm alarm = Alarm.getAlarm(contentResolver, instance.mAlarmId);
            if (alarm == null) {
                AlarmInstance.deleteInstance(contentResolver, instance.mId);
                LogUtils.e("Found instance without matching alarm; deleting instance %s", instance);
                continue;
            }
            final Calendar priorAlarmTime = alarm.getPreviousAlarmTime(instance.getAlarmTime());
            final Calendar priorAlarmTime = alarm.getPreviousAlarmTime(instance.getAlarmTime());
            final Calendar missedTTLTime = instance.getMissedTimeToLive();
            final Calendar missedTTLTime = instance.getMissedTimeToLive();
            if (currentTime.before(priorAlarmTime) || currentTime.after(missedTTLTime)) {
            if (currentTime.before(priorAlarmTime) || currentTime.after(missedTTLTime)) {