diff options
author | 2016-10-25 22:48:36 +0000 | |
---|---|---|
committer | 2016-10-25 22:48:40 +0000 | |
commit | 0f7cc4dc2c49a30c072cbc7aa6c0c5d5c31496d4 (patch) | |
tree | 1dcd82a46b942b09a326e38aae7e4199f1e17080 | |
parent | f3409ceee59a006155915010b11af81a822225aa (diff) | |
parent | 2fbf4d5e42590a896a94cbb5e151539316a5c540 (diff) |
Merge "Move UiMode broadcasts to foreground"
-rw-r--r-- | services/core/java/com/android/server/UiModeManagerService.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java index bb5f62bd4abf..2825cf9d867b 100644 --- a/services/core/java/com/android/server/UiModeManagerService.java +++ b/services/core/java/com/android/server/UiModeManagerService.java @@ -466,9 +466,8 @@ final class UiModeManagerService extends SystemService { if (mCarModeEnabled) { if (mLastBroadcastState != Intent.EXTRA_DOCK_STATE_CAR) { adjustStatusBarCarModeLocked(); - if (oldAction != null) { - getContext().sendBroadcastAsUser(new Intent(oldAction), UserHandle.ALL); + sendForegroundBroadcastToAllUsers(oldAction); } mLastBroadcastState = Intent.EXTRA_DOCK_STATE_CAR; action = UiModeManager.ACTION_ENTER_CAR_MODE; @@ -476,7 +475,7 @@ final class UiModeManagerService extends SystemService { } else if (isDeskDockState(mDockState)) { if (!isDeskDockState(mLastBroadcastState)) { if (oldAction != null) { - getContext().sendBroadcastAsUser(new Intent(oldAction), UserHandle.ALL); + sendForegroundBroadcastToAllUsers(oldAction); } mLastBroadcastState = mDockState; action = UiModeManager.ACTION_ENTER_DESK_MODE; @@ -502,6 +501,7 @@ final class UiModeManagerService extends SystemService { Intent intent = new Intent(action); intent.putExtra("enableFlags", enableFlags); intent.putExtra("disableFlags", disableFlags); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); getContext().sendOrderedBroadcastAsUser(intent, UserHandle.CURRENT, null, mResultReceiver, null, Activity.RESULT_OK, null, null); @@ -550,6 +550,11 @@ final class UiModeManagerService extends SystemService { } } + private void sendForegroundBroadcastToAllUsers(String action) { + getContext().sendBroadcastAsUser(new Intent(action) + .addFlags(Intent.FLAG_RECEIVER_FOREGROUND), UserHandle.ALL); + } + private void updateAfterBroadcastLocked(String action, int enableFlags, int disableFlags) { // Launch a dock activity String category = null; |