diff options
| author | 2020-04-21 17:55:49 +0000 | |
|---|---|---|
| committer | 2020-04-21 17:55:49 +0000 | |
| commit | 346f1bcf9036b153cf8f225735e6717385904647 (patch) | |
| tree | bb4e98b5c05b8c07762c1e4de8ade98f0c2126cc | |
| parent | 094eafd471f0963a2e5341e4a5162928c3b18332 (diff) | |
| parent | 9704e1275af5840e38d61283955f09bc6879ca80 (diff) | |
Merge "AudioService: Focus: cleanup FocusOwner upon requestAudioFocus failure"
| -rw-r--r-- | services/core/java/com/android/server/audio/MediaFocusControl.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/audio/MediaFocusControl.java b/services/core/java/com/android/server/audio/MediaFocusControl.java index c845981fea7e..3ac37713a130 100644 --- a/services/core/java/com/android/server/audio/MediaFocusControl.java +++ b/services/core/java/com/android/server/audio/MediaFocusControl.java @@ -625,7 +625,12 @@ public class MediaFocusControl implements PlayerFocusEnforcer { return; } } - final FocusRequester fr = mFocusOwnersForFocusPolicy.get(afi.getClientId()); + final FocusRequester fr; + if (requestResult == AudioManager.AUDIOFOCUS_REQUEST_FAILED) { + fr = mFocusOwnersForFocusPolicy.remove(afi.getClientId()); + } else { + fr = mFocusOwnersForFocusPolicy.get(afi.getClientId()); + } if (fr != null) { fr.dispatchFocusResultFromExtPolicy(requestResult); } |