Binded call's settings

This commit is contained in:
Sylvain Berfini 2013-10-15 17:15:50 +02:00
parent 2b75d4c6ec
commit 5c31f7e3f6
3 changed files with 83 additions and 1 deletions

View file

@ -419,7 +419,21 @@ public class LinphonePreferences {
// End of video settings
// Call settings
public boolean useRfc2833Dtmfs() {
return getLc().getUseRfc2833ForDtmfs();
}
public void sendDtmfsAsRfc2833(boolean use) {
getLc().setUseRfc2833ForDtmfs(use);
}
public boolean useSipInfoDtmfs() {
return getLc().getUseSipInfoForDtmfs();
}
public void sendDTMFsAsSipInfo(boolean use) {
getLc().setUseSipInfoForDtmfs(use);
}
// End of call settings
// Network settings

View file

@ -79,6 +79,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
initAudioSettings();
initVideoSettings();
initCallSettings();
initNetworkSettings();
initAdvancedSettings();
@ -107,6 +108,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
private void setListeners() {
setAudioPreferencesListener();
setVideoPreferencesListener();
setCallPreferencesListener();
setNetworkPreferencesListener();
setAdvancedPreferencesListener();
}
@ -552,6 +554,72 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
});
}
private void initCallSettings() {
/*
setPreferenceDefaultValueAndSummary(R.string.pref_prefix_key, mPrefs.getPrefix());
((CheckBoxPreference) findPreference(getString(R.string.pref_escape_plus))).setChecked(mPrefs.replacePlusByZeroZero());
*/
CheckBoxPreference rfc2833 = (CheckBoxPreference) findPreference(getString(R.string.pref_rfc2833_dtmf_key));
CheckBoxPreference sipInfo = (CheckBoxPreference) findPreference(getString(R.string.pref_sipinfo_dtmf_key));
if (mPrefs.useRfc2833Dtmfs()) {
rfc2833.setChecked(true);
sipInfo.setChecked(false);
sipInfo.setEnabled(false);
} else if (mPrefs.useSipInfoDtmfs()) {
sipInfo.setChecked(true);
rfc2833.setChecked(false);
rfc2833.setEnabled(false);
}
}
private void setCallPreferencesListener() {
/*
findPreference(getString(R.string.pref_prefix_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String value = newValue.toString();
preference.setSummary(value);
mPrefs.setPrefix(value);
return true;
}
});
findPreference(getString(R.string.pref_escape_plus)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean value = (Boolean) newValue;
mPrefs.setReplacePlusByZeroZero(value);
return true;
}
});
*/
findPreference(getString(R.string.pref_rfc2833_dtmf_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean use = (Boolean) newValue;
CheckBoxPreference sipInfo = (CheckBoxPreference) findPreference(getString(R.string.pref_sipinfo_dtmf_key));
sipInfo.setEnabled(!use);
sipInfo.setChecked(false);
mPrefs.sendDtmfsAsRfc2833(use);
return true;
}
});
findPreference(getString(R.string.pref_sipinfo_dtmf_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean use = (Boolean) newValue;
CheckBoxPreference rfc2833 = (CheckBoxPreference) findPreference(getString(R.string.pref_rfc2833_dtmf_key));
rfc2833.setEnabled(!use);
rfc2833.setChecked(false);
mPrefs.sendDTMFsAsSipInfo(use);
return true;
}
});
}
private void initNetworkSettings() {
initMediaEncryptionPreference((ListPreference) findPreference(getString(R.string.pref_media_encryption_key)));
initializeTransportPreferences((ListPreference) findPreference(getString(R.string.pref_transport_key)));

@ -1 +1 @@
Subproject commit 712dd480ca6d9ce3c28e4089d3fe1ed5ee437e61
Subproject commit aaf2c2d0e8f16f7204e3a055d1f04e8645f071eb