AudioService: Fix ring over SCO sequence.

The active communication device cached in AudioService must be updated
before the ring over SCO condition is evaluated in muteRingerModeStreams().

Inverse the message posting order in
AudioDeviceBroker.onUpdatePhoneStrategyDevice()

Bug: 374111953
Bug: 319515324
Test: receive a call in vibrate mode with an HFP device connected
Flag: EXEMPT bug fix
Change-Id: Id9f27d27864b9195f5aa76033e8e3116aa6d0837
diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
index dbdc614..906e584 100644
--- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java
+++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
@@ -2641,8 +2641,8 @@
                 Log.w(TAG, "failed to broadcast ACTION_SPEAKERPHONE_STATE_CHANGED: " + e);
             }
         }
-        mAudioService.postUpdateRingerModeServiceInt();
         dispatchCommunicationDevice();
+        mAudioService.postUpdateRingerModeServiceInt();
     }
 
     @GuardedBy("mDeviceStateLock")