summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author jianzhou <jianzhou@codeaurora.org> 2018-05-11 14:47:12 +0800
committer Chris Tate <ctate@android.com> 2020-02-26 22:52:55 +0000
commitef2a4c38590d3aa3453be12b49a409249d0609f7 (patch)
tree72c1fe5ab772553ffcb93e93a8a0f5cbd509bd35
parentbe0d76d3823d12e5881fb999448c6eae971b913e (diff)
AlarmManagerService: Fix FWR before boot completed
Root cause: AlarmManagerService send broadcast of TIMEZONE_CHANGED before boot completed lead to IllegalStateException in AMS and system skip StartWindowManagerService, and finally got crashed. Modification: add flag Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT. Change-Id: Iab9cd5acfeabd114371a8aaaa406a4a1c5919f98 Test: Monkey Bug: 79550062
-rw-r--r--services/core/java/com/android/server/AlarmManagerService.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index bbb7c523bac9..ada118235cdb 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -1675,6 +1675,7 @@ class AlarmManagerService extends SystemService {
Intent intent = new Intent(Intent.ACTION_TIMEZONE_CHANGED);
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
| Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND
+ | Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT
| Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS);
intent.putExtra("time-zone", zone.getID());
getContext().sendBroadcastAsUser(intent, UserHandle.ALL);