diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 5cd772d02841..37f744f67eba 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -18203,8 +18203,14 @@ public class ActivityManagerService extends IActivityManager.Stub intent.putExtra("reason", reason); } + final BroadcastOptions options = new BroadcastOptions() + .setDeliveryGroupPolicy(BroadcastOptions.DELIVERY_GROUP_POLICY_MOST_RECENT) + .setDeferUntilActive(true); + if (reason != null) { + options.setDeliveryGroupMatchingKey(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, reason); + } broadcastIntentLocked(null, null, null, intent, null, null, 0, null, null, null, - null, null, OP_NONE, null, false, false, -1, SYSTEM_UID, + null, null, OP_NONE, options.toBundle(), false, false, -1, SYSTEM_UID, Binder.getCallingUid(), Binder.getCallingPid(), UserHandle.USER_ALL); } } |