From 5c31f7e3f6fc76d259728af9766715126cd8b6b6 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 15 Oct 2013 17:15:50 +0200 Subject: [PATCH] Binded call's settings --- src/org/linphone/LinphonePreferences.java | 14 +++++ src/org/linphone/SettingsFragment.java | 68 +++++++++++++++++++++++ submodules/linphone | 2 +- 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index 169f106a1..08a36413a 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -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 diff --git a/src/org/linphone/SettingsFragment.java b/src/org/linphone/SettingsFragment.java index f8b056d50..ee823963c 100644 --- a/src/org/linphone/SettingsFragment.java +++ b/src/org/linphone/SettingsFragment.java @@ -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))); diff --git a/submodules/linphone b/submodules/linphone index 712dd480c..aaf2c2d0e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 712dd480ca6d9ce3c28e4089d3fe1ed5ee437e61 +Subproject commit aaf2c2d0e8f16f7204e3a055d1f04e8645f071eb