Added setting to disable vibration while incoming call is ringing

This commit is contained in:
Sylvain Berfini 2018-11-20 11:00:16 +01:00
parent f6880797a3
commit 0f2bd3a52a
7 changed files with 29 additions and 7 deletions

View file

@ -24,6 +24,8 @@ Group changes to describe their impact on the project, as follows:
- Asynchronous fetch of native contacts.
- Removed unused graphical resources.
- Updated translations.
- Updated sliders used to answer or hangup incoming call so they can be used with accessibility tools.
- Added setting to disable vibration while incoming call is ringing.
### Features
- Added new end to end LIME encryption for instant messaging, both for single chat rooms and group ones.

View file

@ -1366,7 +1366,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
try {
if ((mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE || mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL)
&& mVibrator != null) {
&& mVibrator != null && LinphonePreferences.instance().isIncomingCallVibrationEnabled()) {
long[] patern = {0, 1000, 1000};
mVibrator.vibrate(patern, 1);
}

View file

@ -1611,6 +1611,14 @@ public class LinphonePreferences {
getConfig().setBool("app", "device_ringtone", enable);
}
public boolean isIncomingCallVibrationEnabled() {
return getConfig().getBool("app", "incoming_call_vibration", true);
}
public void enableIncomingCallVibration(boolean enable) {
getConfig().setBool("app", "incoming_call_vibration", enable);
}
public boolean isBisFeatureEnabled() {
return getConfig().getBool("app", "bis_feature", true);
}

View file

@ -934,6 +934,7 @@ public class SettingsFragment extends PreferencesListFragment {
private void initCallSettings() {
CheckBoxPreference deviceRingtone = (CheckBoxPreference) findPreference(getString(R.string.pref_device_ringtone_key));
CheckBoxPreference incomingCallVibration = (CheckBoxPreference) findPreference(getString(R.string.pref_incoming_call_vibration_key));
CheckBoxPreference autoAnswer = (CheckBoxPreference) findPreference(getString(R.string.pref_auto_answer_key));
CheckBoxPreference rfc2833 = (CheckBoxPreference) findPreference(getString(R.string.pref_rfc2833_dtmf_key));
CheckBoxPreference sipInfo = (CheckBoxPreference) findPreference(getString(R.string.pref_sipinfo_dtmf_key));
@ -945,6 +946,7 @@ public class SettingsFragment extends PreferencesListFragment {
rfc2833.setChecked(mPrefs.useRfc2833Dtmfs());
sipInfo.setChecked(mPrefs.useSipInfoDtmfs());
deviceRingtone.setChecked(mPrefs.isDeviceRingtoneEnabled());
incomingCallVibration.setChecked(mPrefs.isIncomingCallVibrationEnabled());
autoAnswer.setChecked(mPrefs.isAutoAnswerEnabled());
incTimeout.setText(String.valueOf(mPrefs.getIncTimeout()));
incTimeout.setSummary(String.valueOf(mPrefs.getIncTimeout()));
@ -960,12 +962,6 @@ public class SettingsFragment extends PreferencesListFragment {
dialerCall.setChecked(mPrefs.getNativeDialerCall());
}
public void enableDeviceRingtone(boolean enabled) {
LinphonePreferences.instance().enableDeviceRingtone(enabled);
LinphoneManager.getInstance().enableDeviceRingtone(enabled);
((CheckBoxPreference) findPreference(getString(R.string.pref_device_ringtone_key))).setChecked(enabled);
}
private void setCallPreferencesListener() {
findPreference(getString(R.string.pref_device_ringtone_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
@ -988,6 +984,15 @@ public class SettingsFragment extends PreferencesListFragment {
}
});
findPreference(getString(R.string.pref_incoming_call_vibration_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean use = (Boolean) newValue;
mPrefs.enableIncomingCallVibration(use);
return true;
}
});
findPreference(getString(R.string.pref_media_encryption_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {

View file

@ -30,6 +30,7 @@
<string name="pref_audio_hacks_use_routing_api_key">pref_audio_hacks_use_routing_api_key</string>
<string name="pref_audio_soft_volume_key">pref_audio_soft_volume_key</string>
<string name="pref_audio_ringtone">pref_audio_ringtone</string>
<string name="pref_incoming_call_vibration_key">pref_incoming_call_vibration_key</string>
<string name="pref_ipv6_key">pref_ipv6_key</string>

View file

@ -406,6 +406,7 @@
<!-- Call settings -->
<string name="pref_call_title">Call</string>
<string name="pref_device_ringtone">Use device ringtone</string>
<string name="pref_vibrate_on_incoming_calls">Vibrate while incoming call is ringing</string>
<string name="pref_auto_answer">Auto answer incoming calls</string>
<string name="pref_auto_answer_time">Auto answer time (in milliseconds)</string>
<string name="pref_rfc2833_dtmf">Send in-band DTMFs (RFC2833)</string>

View file

@ -188,6 +188,11 @@
android:key="@string/pref_device_ringtone_key"
android:persistent="false"/>
<CheckBoxPreference
android:title="@string/pref_vibrate_on_incoming_calls"
android:key="@string/pref_incoming_call_vibration_key"
android:persistent="false"/>
<ListPreference
android:title="@string/pref_media_encryption"
android:key="@string/pref_media_encryption_key"