Update internal change-of-date alarm whenever timezone changes
We weren't updating the next-midnight alarm when the device time
zone was changed, meaning that the date-change broadcast did not
happen appropriately.
Bug: 117577062
Test: manual
Test: atest CtsAlarmManagerTestCases
Change-Id: I8d565f5c7da58a99e984b11d7745698e15bf47ef
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index af33cbc..622b5fe 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -1455,6 +1455,10 @@
TimeZone.setDefault(null);
if (timeZoneWasChanged) {
+ // Don't wait for broadcasts to update our midnight alarm
+ mClockReceiver.scheduleDateChangedEvent();
+
+ // And now let everyone else know
Intent intent = new Intent(Intent.ACTION_TIMEZONE_CHANGED);
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
| Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND