summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eric Laurent <elaurent@google.com> 2020-04-21 17:55:49 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-04-21 17:55:49 +0000
commit346f1bcf9036b153cf8f225735e6717385904647 (patch)
treebb4e98b5c05b8c07762c1e4de8ade98f0c2126cc
parent094eafd471f0963a2e5341e4a5162928c3b18332 (diff)
parent9704e1275af5840e38d61283955f09bc6879ca80 (diff)
Merge "AudioService: Focus: cleanup FocusOwner upon requestAudioFocus failure"
-rw-r--r--services/core/java/com/android/server/audio/MediaFocusControl.java7
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);
}