summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Yu <jackyu@google.com>2015-09-29 14:07:33 -0700
committerJack Yu <jackyu@google.com>2015-10-14 20:24:42 +0000
commit170b39b30ef6340a99fde0e1e6a46cf935e4cde6 (patch)
tree3eebc5c9c9ce87610dd7a6c5f7f2804a1f5e1c42
parent0564f700425f767fa5c86e7828ec4f16554c220e (diff)
downloadandroid_packages_apps_CellBroadcastReceiver-170b39b30ef6340a99fde0e1e6a46cf935e4cde6.tar.gz
android_packages_apps_CellBroadcastReceiver-170b39b30ef6340a99fde0e1e6a46cf935e4cde6.tar.bz2
android_packages_apps_CellBroadcastReceiver-170b39b30ef6340a99fde0e1e6a46cf935e4cde6.zip
Fixed that emergency alert reminder does not trigger every 2 minutes.
The alert was not triggered because the device was in deep sleep. The OS shifts the alarms in order to minimize wakeups and battery use. Since this is emergency scenario, we use AlarmManager.setExact to trigger the alarm in every 2 or 15 minutes precisely. bug: 24391040 Change-Id: I7a3812b48543a6e4dfc0efe4791d21da9feab771 (cherry picked from commit 2c71594ba2d74e37a2e80948c3bb36150ff9ad6d)
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastAlertReminder.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertReminder.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertReminder.java
index b2cdef7d..6bb981cf 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertReminder.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertReminder.java
@@ -139,7 +139,9 @@ public class CellBroadcastAlertReminder extends Service {
// remind user after 2 minutes or 15 minutes
long triggerTime = SystemClock.elapsedRealtime() + (interval * 60000);
- alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, sPlayReminderIntent);
+ // We use setExact instead of set because this is for emergency reminder.
+ alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
+ triggerTime, sPlayReminderIntent);
return true;
}