Skip to content

Commit 757725d

Browse files
committed
Try to make audio device switching work on Android <= 11 too
1 parent 022e334 commit 757725d

File tree

1 file changed

+24
-0
lines changed
  • features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui

1 file changed

+24
-0
lines changed

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,30 @@ private fun OutputAudioDeviceSelector() {
269269
audioManager?.setCommunicationDevice(device)
270270
selected = device
271271
expanded = false
272+
} else {
273+
when (device.type) {
274+
AudioDeviceInfo.TYPE_BUILTIN_SPEAKER -> {
275+
audioManager?.isSpeakerphoneOn = true
276+
selected = device
277+
}
278+
AudioDeviceInfo.TYPE_BUILTIN_EARPIECE -> {
279+
audioManager?.isSpeakerphoneOn = false
280+
selected = device
281+
}
282+
AudioDeviceInfo.TYPE_BLUETOOTH_SCO -> {
283+
audioManager?.isBluetoothScoOn = true
284+
selected = device
285+
}
286+
AudioDeviceInfo.TYPE_WIRED_HEADSET, AudioDeviceInfo.TYPE_WIRED_HEADPHONES, AudioDeviceInfo.TYPE_USB_HEADSET -> {
287+
Timber.d("Audio device selected but it's not compatible, type: ${device.type}")
288+
// TODO use MediaRouter maybe?
289+
290+
}
291+
else -> {
292+
Timber.d("Audio device selected but it's not compatible, type: ${device.type}")
293+
}
294+
}
295+
expanded = false
272296
}
273297
})
274298
}

0 commit comments

Comments
 (0)