Added setting for input audio device + use extended audio devices list for now
This commit is contained in:
parent
d7642dabef
commit
b414dfcbeb
3 changed files with 40 additions and 1 deletions
|
@ -85,6 +85,18 @@ class AudioSettingsViewModel : GenericSettingsViewModel() {
|
|||
}
|
||||
val adaptiveRateControl = MutableLiveData<Boolean>()
|
||||
|
||||
val inputAudioDeviceListener = object : SettingListenerStub() {
|
||||
override fun onListValueChanged(position: Int) {
|
||||
val values = inputAudioDeviceValues.value.orEmpty()
|
||||
if (values.size > position) {
|
||||
core.defaultInputAudioDevice = values[position]
|
||||
}
|
||||
}
|
||||
}
|
||||
val inputAudioDeviceIndex = MutableLiveData<Int>()
|
||||
val inputAudioDeviceLabels = MutableLiveData<ArrayList<String>>()
|
||||
private val inputAudioDeviceValues = MutableLiveData<ArrayList<AudioDevice>>()
|
||||
|
||||
val outputAudioDeviceListener = object : SettingListenerStub() {
|
||||
override fun onListValueChanged(position: Int) {
|
||||
val values = outputAudioDeviceValues.value.orEmpty()
|
||||
|
@ -135,6 +147,7 @@ class AudioSettingsViewModel : GenericSettingsViewModel() {
|
|||
prefs.getString(R.string.audio_settings_echo_canceller_calibration_summary)
|
||||
}
|
||||
echoTesterStatus.value = prefs.getString(R.string.audio_settings_echo_tester_summary)
|
||||
initInputAudioDevicesList()
|
||||
initOutputAudioDevicesList()
|
||||
initCodecBitrateList()
|
||||
microphoneGain.value = core.micGainDb
|
||||
|
@ -181,10 +194,26 @@ class AudioSettingsViewModel : GenericSettingsViewModel() {
|
|||
core.stopEchoTester()
|
||||
}
|
||||
|
||||
private fun initInputAudioDevicesList() {
|
||||
val labels = arrayListOf<String>()
|
||||
val values = arrayListOf<AudioDevice>()
|
||||
for (audioDevice in core.extendedAudioDevices) {
|
||||
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityRecord)) {
|
||||
labels.add(audioDevice.id)
|
||||
values.add(audioDevice)
|
||||
}
|
||||
}
|
||||
inputAudioDeviceLabels.value = labels
|
||||
inputAudioDeviceValues.value = values
|
||||
|
||||
val default = core.defaultInputAudioDevice
|
||||
inputAudioDeviceIndex.value = values.indexOf(default)
|
||||
}
|
||||
|
||||
private fun initOutputAudioDevicesList() {
|
||||
val labels = arrayListOf<String>()
|
||||
val values = arrayListOf<AudioDevice>()
|
||||
for (audioDevice in core.audioDevices) {
|
||||
for (audioDevice in core.extendedAudioDevices) {
|
||||
if (audioDevice.hasCapability(AudioDevice.Capabilities.CapabilityPlay)) {
|
||||
labels.add(audioDevice.id)
|
||||
values.add(audioDevice)
|
||||
|
|
|
@ -91,6 +91,14 @@
|
|||
linphone:listener="@{viewModel.adaptiveRateControlListener}"
|
||||
linphone:checked="@={viewModel.adaptiveRateControl}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/settings_widget_list"
|
||||
linphone:title="@{@string/audio_settings_input_device_title}"
|
||||
linphone:subtitle="@{@string/audio_settings_input_device_summary}"
|
||||
linphone:listener="@{viewModel.inputAudioDeviceListener}"
|
||||
linphone:selectedIndex="@{viewModel.inputAudioDeviceIndex}"
|
||||
linphone:labels="@{viewModel.inputAudioDeviceLabels}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/settings_widget_list"
|
||||
linphone:title="@{@string/audio_settings_output_device_title}"
|
||||
|
|
|
@ -297,6 +297,8 @@
|
|||
<string name="audio_settings_echo_tester_summary_is_running">Echo tester is running</string>
|
||||
<string name="audio_settings_adaptive_rate_control_title">Adaptive rate control</string>
|
||||
<string name="audio_settings_adaptive_rate_control_summary"></string>
|
||||
<string name="audio_settings_input_device_title">Default input audio device</string>
|
||||
<string name="audio_settings_input_device_summary">Changes will take effect starting next call</string>
|
||||
<string name="audio_settings_output_device_title">Default output audio device</string>
|
||||
<string name="audio_settings_output_device_summary">Changes will take effect starting next call</string>
|
||||
<string name="audio_settings_codec_bitrate_title">Codec bitrate limit</string>
|
||||
|
|
Loading…
Reference in a new issue