summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2013-10-25 20:18:03 -0700
committerChristopher Tate <ctate@google.com>2013-10-28 10:34:54 -0700
commit7d57ed88c9f5fec37fa149230d836fd11f6192df (patch)
tree18e50e87915ddc5a30c636eaffb37e7c06b328dc /services/java
parent6364c26cb385ea654b7c8af8a1ef2f5cb4a556c2 (diff)
downloadframeworks_base-7d57ed88c9f5fec37fa149230d836fd11f6192df.zip
frameworks_base-7d57ed88c9f5fec37fa149230d836fd11f6192df.tar.gz
frameworks_base-7d57ed88c9f5fec37fa149230d836fd11f6192df.tar.bz2
Always re-evaluate kernel alarm setpoints when a new alarm is added
...even if the new one is later than some other existing alarms. Bug 11392699 Change-Id: I80dccd76300acb4729f0337665b91e897a770571
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/AlarmManagerService.java11
1 files changed, 3 insertions, 8 deletions
diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java
index b70a34e..5ae9a6d 100644
--- a/services/java/com/android/server/AlarmManagerService.java
+++ b/services/java/com/android/server/AlarmManagerService.java
@@ -577,16 +577,14 @@ class AlarmManagerService extends IAlarmManager.Stub {
operation, workSource);
removeLocked(operation);
- boolean reschedule;
int whichBatch = (isStandalone) ? -1 : attemptCoalesceLocked(whenElapsed, maxWhen);
if (whichBatch < 0) {
Batch batch = new Batch(a);
batch.standalone = isStandalone;
- reschedule = addBatchLocked(mAlarmBatches, batch);
+ addBatchLocked(mAlarmBatches, batch);
} else {
Batch batch = mAlarmBatches.get(whichBatch);
- reschedule = batch.add(a);
- if (reschedule) {
+ if (batch.add(a)) {
// The start time of this batch advanced, so batch ordering may
// have just been broken. Move it to where it now belongs.
mAlarmBatches.remove(whichBatch);
@@ -602,13 +600,10 @@ class AlarmManagerService extends IAlarmManager.Stub {
+ " interval=" + interval + " op=" + operation
+ " standalone=" + isStandalone);
rebatchAllAlarmsLocked(false);
- reschedule = true;
}
}
- if (reschedule) {
- rescheduleKernelAlarmsLocked();
- }
+ rescheduleKernelAlarmsLocked();
}
private void logBatchesLocked() {