Eliminate next-alarm-clock broadcast flapping am: 76389c00d3 am: 0115b9f185

am: f861e0df17

Change-Id: I1a2267303072e32b20889986d4edbabeefd2b8d9
This commit is contained in:
Christopher Tate
2016-08-04 00:01:05 +00:00
committed by android-build-merger

View File

@@ -1732,9 +1732,10 @@ class AlarmManagerService extends SystemService {
Alarm a = alarms.get(j);
if (a.alarmClock != null) {
final int userId = UserHandle.getUserId(a.uid);
AlarmManager.AlarmClockInfo current = mNextAlarmClockForUser.get(userId);
if (DEBUG_ALARM_CLOCK) {
Log.v(TAG, "Found AlarmClockInfo at " +
Log.v(TAG, "Found AlarmClockInfo " + a.alarmClock + " at " +
formatNextAlarm(getContext(), a.alarmClock, userId) +
" for user " + userId);
}
@@ -1742,6 +1743,10 @@ class AlarmManagerService extends SystemService {
// Alarms and batches are sorted by time, no need to compare times here.
if (nextForUser.get(userId) == null) {
nextForUser.put(userId, a.alarmClock);
} else if (a.alarmClock.equals(current)
&& current.getTriggerTime() <= nextForUser.get(userId).getTriggerTime()) {
// same/earlier time and it's the one we cited before, so stick with it
nextForUser.put(userId, current);
}
}
}