mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-19 07:15:25 +02:00
feat: Return empty list on error for fetchDeviceMicrophones
This commit is contained in:
parent
dc7a5648a5
commit
07f3c49a88
@ -4,6 +4,7 @@ import android.content.Context
|
|||||||
import android.media.AudioDeviceInfo
|
import android.media.AudioDeviceInfo
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.util.Log
|
||||||
|
|
||||||
val ALLOWED_MICROPHONE_TYPES =
|
val ALLOWED_MICROPHONE_TYPES =
|
||||||
setOf(
|
setOf(
|
||||||
@ -52,14 +53,20 @@ data class MicrophoneInfo(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun fetchDeviceMicrophones(context: Context): List<MicrophoneInfo> {
|
fun fetchDeviceMicrophones(context: Context): List<MicrophoneInfo> {
|
||||||
|
return try {
|
||||||
val audioManager = context.getSystemService(Context.AUDIO_SERVICE)!! as AudioManager
|
val audioManager = context.getSystemService(Context.AUDIO_SERVICE)!! as AudioManager
|
||||||
return (if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
audioManager.availableCommunicationDevices.map(::fromDeviceInfo)
|
audioManager.availableCommunicationDevices.map(::fromDeviceInfo)
|
||||||
} else {
|
} else {
|
||||||
audioManager.getDevices(AudioManager.GET_DEVICES_INPUTS).map(::fromDeviceInfo)
|
audioManager.getDevices(AudioManager.GET_DEVICES_INPUTS).map(::fromDeviceInfo)
|
||||||
}).filter {
|
}).filter {
|
||||||
ALLOWED_MICROPHONE_TYPES.contains(it.deviceInfo.type) && it.deviceInfo.isSink
|
ALLOWED_MICROPHONE_TYPES.contains(it.deviceInfo.type) && it.deviceInfo.isSink
|
||||||
}
|
}
|
||||||
|
} catch (error: Exception) {
|
||||||
|
Log.getStackTraceString(error)
|
||||||
|
|
||||||
|
emptyList()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user