diff options
author | Jack Yu <jackyu@google.com> | 2015-09-29 14:07:33 -0700 |
---|---|---|
committer | Jack Yu <jackyu@google.com> | 2015-10-14 20:24:42 +0000 |
commit | 170b39b30ef6340a99fde0e1e6a46cf935e4cde6 (patch) | |
tree | 3eebc5c9c9ce87610dd7a6c5f7f2804a1f5e1c42 | |
parent | 0564f700425f767fa5c86e7828ec4f16554c220e (diff) | |
download | android_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.java | 4 |
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; } |