Nullability safety for getCommunicationDevice().

This commit is contained in:
Nicholas
2022-10-03 10:50:55 -04:00
committed by GitHub
parent 04822bacdc
commit 6c56ef470f
2 changed files with 7 additions and 1 deletions

View File

@@ -103,6 +103,7 @@ public abstract class AudioManagerCompat {
}
@RequiresApi(31)
@Nullable
public AudioDeviceInfo getCommunicationDevice() {
return audioManager.getCommunicationDevice();
}

View File

@@ -166,7 +166,12 @@ class FullSignalAudioManagerApi31(context: Context, eventListener: EventListener
private fun updateAudioDeviceState() {
handler.assertHandlerThread()
currentAudioDevice = AudioDeviceMapping.fromPlatformType(androidAudioManager.communicationDevice.type)
val communicationDevice: AudioDeviceInfo? = androidAudioManager.communicationDevice
currentAudioDevice = if (communicationDevice == null) {
AudioDevice.NONE
} else {
AudioDeviceMapping.fromPlatformType(communicationDevice.type)
}
val availableCommunicationDevices: List<AudioDeviceInfo> = androidAudioManager.availableCommunicationDevices
hasBluetoothHeadset = availableCommunicationDevices.any { AudioDeviceMapping.fromPlatformType(it.type) == AudioDevice.BLUETOOTH }
hasWiredHeadset = availableCommunicationDevices.any { AudioDeviceMapping.fromPlatformType(it.type) == AudioDevice.WIRED_HEADSET }