From 013255d704c8ce06e361df16593516a70b811d5a Mon Sep 17 00:00:00 2001
From: pknellore <pavankoushik.nellore@savoirfairelinux.com>
Date: Tue, 29 Apr 2025 15:45:00 -0400
Subject: [PATCH] fix Bluetooth routing condition

update the logic to check isBluetoothScoOn instead,
which more accurately reflects whether Bluetooth SCO
audio is active and available for routing.

Change-Id: I9d47876fd0440a38d2235da9dc8a24439b898c23
---
 .../app/src/main/java/cx/ring/services/HardwareServiceImpl.kt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/jami-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.kt b/jami-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.kt
index 61bcd4c9e..91edaf772 100644
--- a/jami-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.kt
+++ b/jami-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.kt
@@ -270,8 +270,8 @@ class HardwareServiceImpl(
     private fun setAudioRouting(requestSpeakerOn: Boolean) {
         // prioritize bluetooth by checking for bluetooth device first
         val bt = mBluetoothWrapper
-        Log.w(TAG, "setAudioRouting requestSpeakerOn:$requestSpeakerOn isBTHeadsetConnected:${bt?.isBTHeadsetConnected} isWiredHeadsetOn:${mAudioManager.isWiredHeadsetOn}")
-        if (bt != null && bt.canBluetooth() && bt.isBTHeadsetConnected) {
+        Log.w(TAG, "setAudioRouting requestSpeakerOn:$requestSpeakerOn isBluetoothScoOn:${mAudioManager.isBluetoothScoOn} isWiredHeadsetOn:${mAudioManager.isWiredHeadsetOn}")
+        if (bt != null && bt.canBluetooth() && mAudioManager.isBluetoothScoOn) {
             routeToBTHeadset()
         } else if (!mAudioManager.isWiredHeadsetOn && mHasSpeakerPhone && requestSpeakerOn) {
             routeToSpeaker()
-- 
GitLab