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
|
||||
|
||||
import android.os.Vibrator
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||
import org.linphone.R
|
||||
import org.linphone.activities.main.settings.SettingListenerStub
|
||||
import org.linphone.core.MediaEncryption
|
||||
|
@ -60,6 +61,7 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
|||
}
|
||||
}
|
||||
val vibrateOnIncomingCall = MutableLiveData<Boolean>()
|
||||
val canVibrate = MutableLiveData<Boolean>()
|
||||
|
||||
val encryptionListener = object : SettingListenerStub() {
|
||||
override fun onListValueChanged(position: Int) {
|
||||
|
@ -233,6 +235,11 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
|||
showRingtonesList.value = prefs.showAllRingtones
|
||||
|
||||
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()
|
||||
encryptionMandatory.value = core.isMediaEncryptionMandatory
|
||||
|
|
|
@ -84,7 +84,8 @@
|
|||
layout="@layout/settings_widget_switch"
|
||||
linphone:title="@{@string/call_settings_vibrate_title}"
|
||||
linphone:listener="@{viewModel.vibrateOnIncomingCallListener}"
|
||||
linphone:checked="@={viewModel.vibrateOnIncomingCall}"/>
|
||||
linphone:checked="@={viewModel.vibrateOnIncomingCall}"
|
||||
android:visibility="@{viewModel.canVibrate ? View.VISIBLE : View.GONE}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/settings_widget_list"
|
||||
|
|
Loading…
Reference in a new issue