From a4618b0268deb8d805b260e3864e457f17ce6290 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 11 Oct 2018 16:22:55 -0700 Subject: [PATCH] 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 --- .../core/java/com/android/server/AlarmManagerService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index af33cbc0ac1c8..622b5fe028af1 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -1455,6 +1455,10 @@ class AlarmManagerService extends SystemService { 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