Prevent crashes when int or float setting field is emptied
This commit is contained in:
parent
03d8cb54f9
commit
bc40aabe13
7 changed files with 47 additions and 13 deletions
|
@ -22,6 +22,7 @@ package org.linphone.activities.main.settings.viewmodels
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||||
|
@ -236,14 +237,20 @@ class AccountSettingsViewModel(val proxyConfig: ProxyConfig) : GenericSettingsVi
|
||||||
|
|
||||||
val avpfRrIntervalListener = object : SettingListenerStub() {
|
val avpfRrIntervalListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
proxyConfig.avpfRrInterval = newValue.toInt()
|
try {
|
||||||
|
proxyConfig.avpfRrInterval = newValue.toInt()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val avpfRrInterval = MutableLiveData<Int>()
|
val avpfRrInterval = MutableLiveData<Int>()
|
||||||
|
|
||||||
val expiresListener = object : SettingListenerStub() {
|
val expiresListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
proxyConfig.expires = newValue.toInt()
|
try {
|
||||||
|
proxyConfig.expires = newValue.toInt()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val expires = MutableLiveData<Int>()
|
val expires = MutableLiveData<Int>()
|
||||||
|
|
|
@ -21,6 +21,7 @@ package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.databinding.ViewDataBinding
|
import androidx.databinding.ViewDataBinding
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
import org.linphone.core.AudioDevice
|
import org.linphone.core.AudioDevice
|
||||||
|
@ -124,14 +125,20 @@ class AudioSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val microphoneGainListener = object : SettingListenerStub() {
|
val microphoneGainListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
core.micGainDb = newValue.toFloat()
|
try {
|
||||||
|
core.micGainDb = newValue.toFloat()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val microphoneGain = MutableLiveData<Float>()
|
val microphoneGain = MutableLiveData<Float>()
|
||||||
|
|
||||||
val playbackGainListener = object : SettingListenerStub() {
|
val playbackGainListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
core.playbackGainDb = newValue.toFloat()
|
try {
|
||||||
|
core.playbackGainDb = newValue.toFloat()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val playbackGain = MutableLiveData<Float>()
|
val playbackGain = MutableLiveData<Float>()
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.linphone.activities.main.settings.viewmodels
|
package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
import org.linphone.core.MediaEncryption
|
import org.linphone.core.MediaEncryption
|
||||||
|
@ -99,14 +100,20 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val autoAnswerDelayListener = object : SettingListenerStub() {
|
val autoAnswerDelayListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
prefs.autoAnswerDelay = newValue.toInt()
|
try {
|
||||||
|
prefs.autoAnswerDelay = newValue.toInt()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val autoAnswerDelay = MutableLiveData<Int>()
|
val autoAnswerDelay = MutableLiveData<Int>()
|
||||||
|
|
||||||
val incomingTimeoutListener = object : SettingListenerStub() {
|
val incomingTimeoutListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
core.incTimeout = newValue.toInt()
|
try {
|
||||||
|
core.incTimeout = newValue.toInt()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val incomingTimeout = MutableLiveData<Int>()
|
val incomingTimeout = MutableLiveData<Int>()
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.linphone.activities.main.settings.viewmodels
|
package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
import org.linphone.utils.Event
|
import org.linphone.utils.Event
|
||||||
|
@ -54,10 +55,11 @@ class ChatSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val autoDownloadMaxSizeListener = object : SettingListenerStub() {
|
val autoDownloadMaxSizeListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
if (newValue.isNotEmpty()) {
|
try {
|
||||||
val maxSize = newValue.toInt()
|
val maxSize = newValue.toInt()
|
||||||
core.maxSizeForAutoDownloadIncomingFiles = maxSize
|
core.maxSizeForAutoDownloadIncomingFiles = maxSize
|
||||||
updateAutoDownloadIndexFromMaxSize(maxSize)
|
updateAutoDownloadIndexFromMaxSize(maxSize)
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.linphone.activities.main.settings.viewmodels
|
package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
|
|
||||||
class NetworkSettingsViewModel : GenericSettingsViewModel() {
|
class NetworkSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
@ -56,8 +57,11 @@ class NetworkSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val sipPortListener = object : SettingListenerStub() {
|
val sipPortListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
val port = newValue.toInt()
|
try {
|
||||||
setSipPort(port)
|
val port = newValue.toInt()
|
||||||
|
setSipPort(port)
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val sipPort = MutableLiveData<Int>()
|
val sipPort = MutableLiveData<Int>()
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.linphone.activities.main.settings.viewmodels
|
package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
import org.linphone.core.Factory
|
import org.linphone.core.Factory
|
||||||
|
@ -38,10 +39,11 @@ class TunnelSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val portListener = object : SettingListenerStub() {
|
val portListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
if (newValue.isNotEmpty()) {
|
try {
|
||||||
val config = getTunnelConfig()
|
val config = getTunnelConfig()
|
||||||
config.port = newValue.toInt()
|
config.port = newValue.toInt()
|
||||||
updateTunnelConfig(config)
|
updateTunnelConfig(config)
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,10 +68,11 @@ class TunnelSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val port2Listener = object : SettingListenerStub() {
|
val port2Listener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
if (newValue.isNotEmpty()) {
|
try {
|
||||||
val config = getTunnelConfig()
|
val config = getTunnelConfig()
|
||||||
config.port2 = newValue.toInt()
|
config.port2 = newValue.toInt()
|
||||||
updateTunnelConfig(config)
|
updateTunnelConfig(config)
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
import androidx.databinding.ViewDataBinding
|
import androidx.databinding.ViewDataBinding
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import java.lang.NumberFormatException
|
||||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.settings.SettingListenerStub
|
import org.linphone.activities.main.settings.SettingListenerStub
|
||||||
|
@ -97,8 +98,11 @@ class VideoSettingsViewModel : GenericSettingsViewModel() {
|
||||||
|
|
||||||
val bandwidthLimitListener = object : SettingListenerStub() {
|
val bandwidthLimitListener = object : SettingListenerStub() {
|
||||||
override fun onTextValueChanged(newValue: String) {
|
override fun onTextValueChanged(newValue: String) {
|
||||||
core.downloadBandwidth = newValue.toInt()
|
try {
|
||||||
core.uploadBandwidth = newValue.toInt()
|
core.downloadBandwidth = newValue.toInt()
|
||||||
|
core.uploadBandwidth = newValue.toInt()
|
||||||
|
} catch (nfe: NumberFormatException) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val bandwidthLimit = MutableLiveData<Int>()
|
val bandwidthLimit = MutableLiveData<Int>()
|
||||||
|
|
Loading…
Reference in a new issue