Loading media/java/android/media/AudioManager.java +15 −6 Original line number Diff line number Diff line Loading @@ -4716,7 +4716,7 @@ public class AudioManager { focusReceiver = addClientIdToFocusReceiverLocked(clientFakeId); } return handleExternalAudioPolicyWaitIfNeeded(clientFakeId, focusReceiver); return handleExternalAudioPolicyWaitIfNeeded(clientFakeId, focusReceiver, afr); } /** Loading Loading @@ -4929,7 +4929,7 @@ public class AudioManager { focusReceiver = addClientIdToFocusReceiverLocked(clientId); } return handleExternalAudioPolicyWaitIfNeeded(clientId, focusReceiver); return handleExternalAudioPolicyWaitIfNeeded(clientId, focusReceiver, afr); } @GuardedBy("mFocusRequestsLock") Loading @@ -4945,12 +4945,21 @@ public class AudioManager { } private @FocusRequestResult int handleExternalAudioPolicyWaitIfNeeded(String clientId, BlockingFocusResultReceiver focusReceiver) { BlockingFocusResultReceiver focusReceiver, @NonNull AudioFocusRequest afr) { focusReceiver.waitForResult(EXT_FOCUS_POLICY_TIMEOUT_MS); if (DEBUG && !focusReceiver.receivedResult()) { if (!focusReceiver.receivedResult()) { if (DEBUG) { Log.e(TAG, "handleExternalAudioPolicyWaitIfNeeded" + " response from ext policy timed out, denying request"); } try { // To prevent from orphan focus holder, cleanup abandonAudioFocus(afr.getOnAudioFocusChangeListener()); } catch (Exception e) { Log.e(TAG, "handleExternalAudioPolicyWaitIfNeeded failed to abandon audio" +" focus after time out, error: " + e.getMessage()); } } synchronized (mFocusRequestsLock) { mFocusRequestsAwaitingResult.remove(clientId); Loading Loading
media/java/android/media/AudioManager.java +15 −6 Original line number Diff line number Diff line Loading @@ -4716,7 +4716,7 @@ public class AudioManager { focusReceiver = addClientIdToFocusReceiverLocked(clientFakeId); } return handleExternalAudioPolicyWaitIfNeeded(clientFakeId, focusReceiver); return handleExternalAudioPolicyWaitIfNeeded(clientFakeId, focusReceiver, afr); } /** Loading Loading @@ -4929,7 +4929,7 @@ public class AudioManager { focusReceiver = addClientIdToFocusReceiverLocked(clientId); } return handleExternalAudioPolicyWaitIfNeeded(clientId, focusReceiver); return handleExternalAudioPolicyWaitIfNeeded(clientId, focusReceiver, afr); } @GuardedBy("mFocusRequestsLock") Loading @@ -4945,12 +4945,21 @@ public class AudioManager { } private @FocusRequestResult int handleExternalAudioPolicyWaitIfNeeded(String clientId, BlockingFocusResultReceiver focusReceiver) { BlockingFocusResultReceiver focusReceiver, @NonNull AudioFocusRequest afr) { focusReceiver.waitForResult(EXT_FOCUS_POLICY_TIMEOUT_MS); if (DEBUG && !focusReceiver.receivedResult()) { if (!focusReceiver.receivedResult()) { if (DEBUG) { Log.e(TAG, "handleExternalAudioPolicyWaitIfNeeded" + " response from ext policy timed out, denying request"); } try { // To prevent from orphan focus holder, cleanup abandonAudioFocus(afr.getOnAudioFocusChangeListener()); } catch (Exception e) { Log.e(TAG, "handleExternalAudioPolicyWaitIfNeeded failed to abandon audio" +" focus after time out, error: " + e.getMessage()); } } synchronized (mFocusRequestsLock) { mFocusRequestsAwaitingResult.remove(clientId); Loading