Merge "IMS: Abandon audio focus if no other call exist."
diff --git a/src/com/android/server/telecom/CallAudioManager.java b/src/com/android/server/telecom/CallAudioManager.java
index 2d3937d..ac6b01c 100644
--- a/src/com/android/server/telecom/CallAudioManager.java
+++ b/src/com/android/server/telecom/CallAudioManager.java
@@ -560,7 +560,10 @@
                         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
@@ -737,6 +740,10 @@
         return UserHandle.USER_OWNER;
     }
 
+    private boolean hasAnyCalls() {
+        return mCallsManager.hasAnyCalls();
+    }
+
     /**
      * Translates an {@link AudioManager} stream type to a human-readable string description.
      *