diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-04-10 01:14:35 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-04-10 01:14:35 +0000 |
| commit | 95baff256e2771f70a3e3a92a6db94de670bf53f (patch) | |
| tree | 7ee714fe31000fabb176148ad534063afb2441f5 | |
| parent | c2615ed21863d54ea485e99c3ac84e8cb18b5db4 (diff) | |
| parent | 8f6fcdf5b94b05368032a98e00378752c7c40035 (diff) | |
Merge "AudioService: fix broadcast of ACTION_SPEAKERPHONE_STATE_CHANGED" into qt-dev
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 3fc2d3712fed..39dae0b139ad 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -3368,8 +3368,14 @@ public class AudioService extends IAudioService.Stub .append(Binder.getCallingPid()).toString(); final boolean stateChanged = mDeviceBroker.setSpeakerphoneOn(on, eventSource); if (stateChanged) { - mContext.sendBroadcast(new Intent(AudioManager.ACTION_SPEAKERPHONE_STATE_CHANGED) - .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY)); + final long ident = Binder.clearCallingIdentity(); + try { + mContext.sendBroadcastAsUser( + new Intent(AudioManager.ACTION_SPEAKERPHONE_STATE_CHANGED) + .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY), UserHandle.ALL); + } finally { + Binder.restoreCallingIdentity(ident); + } } } |
