Hidden vibrator setting if the device has no vibrator
This commit is contained in:
parent
48fb7dfa92
commit
a2535cef56
2 changed files with 10 additions and 2 deletions
|
@ -19,10 +19,11 @@
|
||||||
*/
|
*/
|
||||||
package org.linphone.activities.main.settings.viewmodels
|
package org.linphone.activities.main.settings.viewmodels
|
||||||
|
|
||||||
|
import android.os.Vibrator
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
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
|
||||||
import org.linphone.core.MediaEncryption
|
import org.linphone.core.MediaEncryption
|
||||||
|
@ -60,6 +61,7 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val vibrateOnIncomingCall = MutableLiveData<Boolean>()
|
val vibrateOnIncomingCall = MutableLiveData<Boolean>()
|
||||||
|
val canVibrate = MutableLiveData<Boolean>()
|
||||||
|
|
||||||
val encryptionListener = object : SettingListenerStub() {
|
val encryptionListener = object : SettingListenerStub() {
|
||||||
override fun onListValueChanged(position: Int) {
|
override fun onListValueChanged(position: Int) {
|
||||||
|
@ -233,6 +235,11 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
||||||
showRingtonesList.value = prefs.showAllRingtones
|
showRingtonesList.value = prefs.showAllRingtones
|
||||||
|
|
||||||
vibrateOnIncomingCall.value = core.isVibrationOnIncomingCallEnabled
|
vibrateOnIncomingCall.value = core.isVibrationOnIncomingCallEnabled
|
||||||
|
val vibrator = coreContext.context.getSystemService(Vibrator::class.java)
|
||||||
|
canVibrate.value = vibrator.hasVibrator()
|
||||||
|
if (canVibrate.value == false) {
|
||||||
|
Log.w("[Call Settings] Device doesn't seem to have a vibrator, hiding related setting")
|
||||||
|
}
|
||||||
|
|
||||||
initEncryptionList()
|
initEncryptionList()
|
||||||
encryptionMandatory.value = core.isMediaEncryptionMandatory
|
encryptionMandatory.value = core.isMediaEncryptionMandatory
|
||||||
|
|
|
@ -84,7 +84,8 @@
|
||||||
layout="@layout/settings_widget_switch"
|
layout="@layout/settings_widget_switch"
|
||||||
linphone:title="@{@string/call_settings_vibrate_title}"
|
linphone:title="@{@string/call_settings_vibrate_title}"
|
||||||
linphone:listener="@{viewModel.vibrateOnIncomingCallListener}"
|
linphone:listener="@{viewModel.vibrateOnIncomingCallListener}"
|
||||||
linphone:checked="@={viewModel.vibrateOnIncomingCall}"/>
|
linphone:checked="@={viewModel.vibrateOnIncomingCall}"
|
||||||
|
android:visibility="@{viewModel.canVibrate ? View.VISIBLE : View.GONE}"/>
|
||||||
|
|
||||||
<include
|
<include
|
||||||
layout="@layout/settings_widget_list"
|
layout="@layout/settings_widget_list"
|
||||||
|
|
Loading…
Reference in a new issue