summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/server/telecom/CallAudioManager.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/server/telecom/CallAudioManager.java b/src/com/android/server/telecom/CallAudioManager.java
index dcfb42ce..a946d809 100644
--- a/src/com/android/server/telecom/CallAudioManager.java
+++ b/src/com/android/server/telecom/CallAudioManager.java
@@ -586,7 +586,10 @@ final class CallAudioManager extends CallsManagerListenerBase
AudioManager.STREAM_VOICE_CALL, mMostRecentlyUsedMode);
} else if (!hasRingingForegroundCall() && mCallsManager.hasOnlyDisconnectedCalls()) {
Log.v(this, "updateAudioStreamAndMode : no ringing call");
- abandonAudioFocus();
+ // Request to set audio mode normal. Here confirm if any call exist.
+ if (!hasAnyCalls()) {
+ abandonAudioFocus();
+ }
} else {
// mIsRinging is false, but there is a foreground ringing call present. Don't
// abandon audio focus immediately to prevent audio focus from getting lost between
@@ -779,6 +782,10 @@ final class CallAudioManager extends CallsManagerListenerBase
return UserHandle.USER_OWNER;
}
+ private boolean hasAnyCalls() {
+ return mCallsManager.hasAnyCalls();
+ }
+
/**
* Translates an {@link AudioManager} stream type to a human-readable string description.
*