Merge "Resolve baseline call audio routing" into main
diff --git a/src/com/android/server/telecom/CallAudioRouteController.java b/src/com/android/server/telecom/CallAudioRouteController.java
index efd00f2..6f205c2 100644
--- a/src/com/android/server/telecom/CallAudioRouteController.java
+++ b/src/com/android/server/telecom/CallAudioRouteController.java
@@ -911,7 +911,7 @@
     }
 
     private void handleSwitchBaselineRoute(boolean includeBluetooth, String btAddressToExclude) {
-        routeTo(mIsActive, getBaseRoute(includeBluetooth, btAddressToExclude));
+        routeTo(mIsActive, calculateBaselineRoute(includeBluetooth, btAddressToExclude));
     }
 
     private void handleSpeakerOn() {
@@ -1225,6 +1225,16 @@
         return destRoute;
     }
 
+    private AudioRoute calculateBaselineRoute(boolean includeBluetooth, String btAddressToExclude) {
+        AudioRoute destRoute = getPreferredAudioRouteFromDefault(
+                includeBluetooth, btAddressToExclude);
+        if (destRoute != null && !getCallSupportedRoutes().contains(destRoute)) {
+            destRoute = null;
+        }
+        Log.i(this, "getBaseRoute - audio routing to %s", destRoute);
+        return destRoute;
+    }
+
     /**
      * Don't add additional AudioRoute when a hearing aid pair is detected. The devices have
      * separate addresses, so we need to perform explicit handling to ensure we don't