mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 03:18:06 +00:00
Improved audio device name in advanced settings
This commit is contained in:
parent
da581c3737
commit
bb81957aab
6 changed files with 54 additions and 56 deletions
|
|
@ -734,39 +734,17 @@ class CurrentCallViewModel
|
||||||
for (device in audioDevices) {
|
for (device in audioDevices) {
|
||||||
// Only list output audio devices
|
// Only list output audio devices
|
||||||
if (!device.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) continue
|
if (!device.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) continue
|
||||||
|
when (device.type) {
|
||||||
val name = when (device.type) {
|
|
||||||
AudioDevice.Type.Earpiece -> {
|
AudioDevice.Type.Earpiece -> {
|
||||||
earpieceFound = true
|
earpieceFound = true
|
||||||
AppUtils.getString(R.string.call_audio_device_type_earpiece)
|
|
||||||
}
|
}
|
||||||
AudioDevice.Type.Speaker -> {
|
AudioDevice.Type.Speaker -> {
|
||||||
speakerFound = true
|
speakerFound = true
|
||||||
AppUtils.getString(R.string.call_audio_device_type_speaker)
|
|
||||||
}
|
}
|
||||||
AudioDevice.Type.Headset -> {
|
else -> {}
|
||||||
AppUtils.getString(R.string.call_audio_device_type_headset)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Headphones -> {
|
|
||||||
AppUtils.getString(R.string.call_audio_device_type_headphones)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Bluetooth -> {
|
|
||||||
AppUtils.getFormattedString(
|
|
||||||
R.string.call_audio_device_type_bluetooth,
|
|
||||||
device.deviceName
|
|
||||||
)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.HearingAid -> {
|
|
||||||
AppUtils.getFormattedString(
|
|
||||||
R.string.call_audio_device_type_hearing_aid,
|
|
||||||
device.deviceName
|
|
||||||
)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Hdmi -> {
|
|
||||||
AppUtils.getString(R.string.call_audio_device_type_hdmi)
|
|
||||||
}
|
|
||||||
else -> device.deviceName
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val name = LinphoneUtils.getAudioDeviceName(device)
|
||||||
val isCurrentlyInUse = device.type == currentDevice?.type && device.deviceName == currentDevice.deviceName
|
val isCurrentlyInUse = device.type == currentDevice?.type && device.deviceName == currentDevice.deviceName
|
||||||
val model = AudioDeviceModel(device, name, device.type, isCurrentlyInUse, true) {
|
val model = AudioDeviceModel(device, name, device.type, isCurrentlyInUse, true) {
|
||||||
// onSelected
|
// onSelected
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ import org.linphone.core.tools.Log
|
||||||
import org.linphone.ui.GenericViewModel
|
import org.linphone.ui.GenericViewModel
|
||||||
import org.linphone.ui.call.model.AudioDeviceModel
|
import org.linphone.ui.call.model.AudioDeviceModel
|
||||||
import org.linphone.ui.main.contacts.model.ContactAvatarModel
|
import org.linphone.ui.main.contacts.model.ContactAvatarModel
|
||||||
import org.linphone.utils.AppUtils
|
|
||||||
import org.linphone.utils.Event
|
import org.linphone.utils.Event
|
||||||
|
import org.linphone.utils.LinphoneUtils
|
||||||
import org.linphone.utils.TimestampUtils
|
import org.linphone.utils.TimestampUtils
|
||||||
|
|
||||||
class MeetingWaitingRoomViewModel
|
class MeetingWaitingRoomViewModel
|
||||||
|
|
@ -324,40 +324,17 @@ class MeetingWaitingRoomViewModel
|
||||||
for (device in audioDevices) {
|
for (device in audioDevices) {
|
||||||
// Only list output audio devices
|
// Only list output audio devices
|
||||||
if (!device.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) continue
|
if (!device.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) continue
|
||||||
|
when (device.type) {
|
||||||
val name = when (device.type) {
|
|
||||||
AudioDevice.Type.Earpiece -> {
|
AudioDevice.Type.Earpiece -> {
|
||||||
earpieceAudioDevice = device
|
earpieceAudioDevice = device
|
||||||
AppUtils.getString(R.string.call_audio_device_type_earpiece)
|
|
||||||
}
|
}
|
||||||
AudioDevice.Type.Speaker -> {
|
AudioDevice.Type.Speaker -> {
|
||||||
speakerAudioDevice = device
|
speakerAudioDevice = device
|
||||||
AppUtils.getString(R.string.call_audio_device_type_speaker)
|
|
||||||
}
|
}
|
||||||
AudioDevice.Type.Headset -> {
|
else -> {}
|
||||||
AppUtils.getString(R.string.call_audio_device_type_headset)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Headphones -> {
|
|
||||||
AppUtils.getString(R.string.call_audio_device_type_headphones)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Bluetooth -> {
|
|
||||||
AppUtils.getFormattedString(
|
|
||||||
R.string.call_audio_device_type_bluetooth,
|
|
||||||
device.deviceName
|
|
||||||
)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.HearingAid -> {
|
|
||||||
AppUtils.getFormattedString(
|
|
||||||
R.string.call_audio_device_type_hearing_aid,
|
|
||||||
device.deviceName
|
|
||||||
)
|
|
||||||
}
|
|
||||||
AudioDevice.Type.Hdmi -> {
|
|
||||||
AppUtils.getString(R.string.call_audio_device_type_hdmi)
|
|
||||||
}
|
|
||||||
else -> device.deviceName
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val name = LinphoneUtils.getAudioDeviceName(device)
|
||||||
val currentDevice = if (::selectedOutputAudioDevice.isInitialized) {
|
val currentDevice = if (::selectedOutputAudioDevice.isInitialized) {
|
||||||
selectedOutputAudioDevice
|
selectedOutputAudioDevice
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ import org.linphone.ui.main.settings.model.CardDavLdapModel
|
||||||
import org.linphone.ui.main.settings.model.CodecModel
|
import org.linphone.ui.main.settings.model.CodecModel
|
||||||
import org.linphone.utils.AppUtils
|
import org.linphone.utils.AppUtils
|
||||||
import org.linphone.utils.Event
|
import org.linphone.utils.Event
|
||||||
|
import org.linphone.utils.LinphoneUtils
|
||||||
|
|
||||||
class SettingsViewModel
|
class SettingsViewModel
|
||||||
@UiThread
|
@UiThread
|
||||||
|
|
@ -1031,10 +1032,11 @@ class SettingsViewModel
|
||||||
|
|
||||||
var inputIndex = 0
|
var inputIndex = 0
|
||||||
val defaultInputAudioDevice = core.defaultInputAudioDevice
|
val defaultInputAudioDevice = core.defaultInputAudioDevice
|
||||||
Log.i("$TAG Current default input audio device is [${defaultInputAudioDevice?.id}]")
|
Log.i("$TAG Current default input audio device ID is [${defaultInputAudioDevice?.id}]")
|
||||||
for (audioDevice in core.extendedAudioDevices) {
|
for (audioDevice in core.extendedAudioDevices) {
|
||||||
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityRecord)) {
|
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityRecord)) {
|
||||||
inputAudioDeviceLabels.add(audioDevice.id)
|
Log.i("$TAG Found record device [${audioDevice.deviceName}] with audio driver [${audioDevice.driverName}] and type [${audioDevice.type}]")
|
||||||
|
inputAudioDeviceLabels.add(LinphoneUtils.getAudioDeviceName(audioDevice))
|
||||||
inputAudioDeviceValues.add(audioDevice)
|
inputAudioDeviceValues.add(audioDevice)
|
||||||
if (audioDevice.id == defaultInputAudioDevice?.id) {
|
if (audioDevice.id == defaultInputAudioDevice?.id) {
|
||||||
inputAudioDeviceIndex.postValue(inputIndex)
|
inputAudioDeviceIndex.postValue(inputIndex)
|
||||||
|
|
@ -1048,7 +1050,8 @@ class SettingsViewModel
|
||||||
Log.i("$TAG Current default output audio device is [${defaultOutputAudioDevice?.id}]")
|
Log.i("$TAG Current default output audio device is [${defaultOutputAudioDevice?.id}]")
|
||||||
for (audioDevice in core.extendedAudioDevices) {
|
for (audioDevice in core.extendedAudioDevices) {
|
||||||
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) {
|
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) {
|
||||||
outputAudioDeviceLabels.add(audioDevice.id)
|
Log.i("$TAG Found playback device [${audioDevice.deviceName}] with audio driver [${audioDevice.driverName}] and type [${audioDevice.type}]")
|
||||||
|
outputAudioDeviceLabels.add(LinphoneUtils.getAudioDeviceName(audioDevice))
|
||||||
outputAudioDeviceValues.add(audioDevice)
|
outputAudioDeviceValues.add(audioDevice)
|
||||||
if (audioDevice.id == defaultOutputAudioDevice?.id) {
|
if (audioDevice.id == defaultOutputAudioDevice?.id) {
|
||||||
outputAudioDeviceIndex.postValue(outputIndex)
|
outputAudioDeviceIndex.postValue(outputIndex)
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import org.linphone.R
|
||||||
import org.linphone.contacts.getListOfSipAddresses
|
import org.linphone.contacts.getListOfSipAddresses
|
||||||
import org.linphone.core.Account
|
import org.linphone.core.Account
|
||||||
import org.linphone.core.Address
|
import org.linphone.core.Address
|
||||||
|
import org.linphone.core.AudioDevice
|
||||||
import org.linphone.core.Call
|
import org.linphone.core.Call
|
||||||
import org.linphone.core.Call.Dir
|
import org.linphone.core.Call.Dir
|
||||||
import org.linphone.core.Call.Status
|
import org.linphone.core.Call.Status
|
||||||
|
|
@ -667,5 +668,42 @@ class LinphoneUtils {
|
||||||
|
|
||||||
return avatarModel
|
return avatarModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WorkerThread
|
||||||
|
fun getAudioDeviceName(device: AudioDevice): String {
|
||||||
|
return when (device.type) {
|
||||||
|
AudioDevice.Type.Microphone -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_microphone)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Earpiece -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_earpiece)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Speaker -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_speaker)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Headset -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_headset)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Headphones -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_headphones)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Bluetooth -> {
|
||||||
|
AppUtils.getFormattedString(
|
||||||
|
R.string.call_audio_device_type_bluetooth,
|
||||||
|
device.deviceName
|
||||||
|
)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.HearingAid -> {
|
||||||
|
AppUtils.getFormattedString(
|
||||||
|
R.string.call_audio_device_type_hearing_aid,
|
||||||
|
device.deviceName
|
||||||
|
)
|
||||||
|
}
|
||||||
|
AudioDevice.Type.Hdmi -> {
|
||||||
|
AppUtils.getString(R.string.call_audio_device_type_hdmi)
|
||||||
|
}
|
||||||
|
else -> "${device.deviceName}(${device.type})"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -708,6 +708,7 @@
|
||||||
<string name="call_dialog_zrtp_security_alert_try_again">Réessayer</string>
|
<string name="call_dialog_zrtp_security_alert_try_again">Réessayer</string>
|
||||||
<string name="call_dialog_zrtp_security_alert_message">La confidentialité de votre appel peut être compromise !</string>
|
<string name="call_dialog_zrtp_security_alert_message">La confidentialité de votre appel peut être compromise !</string>
|
||||||
|
|
||||||
|
<string name="call_audio_device_type_microphone">Microphone</string>
|
||||||
<string name="call_audio_device_type_earpiece">Oreillette</string>
|
<string name="call_audio_device_type_earpiece">Oreillette</string>
|
||||||
<string name="call_audio_device_type_speaker">Haut parleur</string>
|
<string name="call_audio_device_type_speaker">Haut parleur</string>
|
||||||
<string name="call_audio_device_type_bluetooth">Bluetooth (%s)</string>
|
<string name="call_audio_device_type_bluetooth">Bluetooth (%s)</string>
|
||||||
|
|
|
||||||
|
|
@ -750,6 +750,7 @@
|
||||||
<string name="call_dialog_zrtp_security_alert_try_again">Try again</string>
|
<string name="call_dialog_zrtp_security_alert_try_again">Try again</string>
|
||||||
<string name="call_dialog_zrtp_security_alert_message">This call confidentiality may be compromise!</string>
|
<string name="call_dialog_zrtp_security_alert_message">This call confidentiality may be compromise!</string>
|
||||||
|
|
||||||
|
<string name="call_audio_device_type_microphone">Microphone</string>
|
||||||
<string name="call_audio_device_type_earpiece">Earpiece</string>
|
<string name="call_audio_device_type_earpiece">Earpiece</string>
|
||||||
<string name="call_audio_device_type_speaker">Speaker</string>
|
<string name="call_audio_device_type_speaker">Speaker</string>
|
||||||
<string name="call_audio_device_type_bluetooth">Bluetooth (%s)</string>
|
<string name="call_audio_device_type_bluetooth">Bluetooth (%s)</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue