Add AVPF settings.
This commit is contained in:
parent
a93b78217a
commit
dd67b1f185
5 changed files with 70 additions and 3 deletions
|
@ -113,6 +113,8 @@
|
||||||
<string name="pref_display_name_key">pref_display_name_key</string>
|
<string name="pref_display_name_key">pref_display_name_key</string>
|
||||||
<string name="pref_user_name_key">pref_user_name_key</string>
|
<string name="pref_user_name_key">pref_user_name_key</string>
|
||||||
<string name="pref_expire_key">pref_expire_key</string>
|
<string name="pref_expire_key">pref_expire_key</string>
|
||||||
|
<string name="pref_avpf_key">pref_avpf_key</string>
|
||||||
|
<string name="pref_avpf_rr_interval_key">pref_avpf_rr_interval_key</string>
|
||||||
|
|
||||||
<string name="pref_rfc2833_dtmf_key">pref_rfc2833_dtmf_key</string>
|
<string name="pref_rfc2833_dtmf_key">pref_rfc2833_dtmf_key</string>
|
||||||
<string name="pref_sipinfo_dtmf_key">pref_sipinfo_dtmf_key</string>
|
<string name="pref_sipinfo_dtmf_key">pref_sipinfo_dtmf_key</string>
|
||||||
|
|
|
@ -400,6 +400,8 @@
|
||||||
<string name="pref_display_name_title">Display name</string>
|
<string name="pref_display_name_title">Display name</string>
|
||||||
<string name="pref_user_name_title">Username</string>
|
<string name="pref_user_name_title">Username</string>
|
||||||
<string name="pref_expire_title">Expire</string>
|
<string name="pref_expire_title">Expire</string>
|
||||||
|
<string name="pref_avpf">AVPF</string>
|
||||||
|
<string name="pref_avpf_rr_interval"> AVPF regular RTCP interval in seconds (between 1 and 5)</string>
|
||||||
|
|
||||||
<string name="pref_rfc2833_dtmf">Send RFC2833 DTMFs</string>
|
<string name="pref_rfc2833_dtmf">Send RFC2833 DTMFs</string>
|
||||||
<string name="pref_sipinfo_dtmf">Send SIP INFO DTMFs</string>
|
<string name="pref_sipinfo_dtmf">Send SIP INFO DTMFs</string>
|
||||||
|
|
|
@ -59,6 +59,15 @@
|
||||||
android:title="@string/pref_prefix"
|
android:title="@string/pref_prefix"
|
||||||
android:key="@string/pref_prefix_key"/>
|
android:key="@string/pref_prefix_key"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:title="@string/pref_avpf"
|
||||||
|
android:key="@string/pref_avpf_key"/>
|
||||||
|
|
||||||
|
<EditTextPreference
|
||||||
|
android:title="@string/pref_avpf_rr_interval"
|
||||||
|
android:key="@string/pref_avpf_rr_interval_key"
|
||||||
|
android:numeric="integer"/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:title="@string/pref_escape_plus"
|
android:title="@string/pref_escape_plus"
|
||||||
android:key="@string/pref_escape_plus_key"/>
|
android:key="@string/pref_escape_plus_key"/>
|
||||||
|
|
|
@ -141,6 +141,29 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
OnPreferenceChangeListener avpfChangedListener = new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
boolean value = (Boolean) newValue;
|
||||||
|
mPrefs.enableAvpf(n, value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
OnPreferenceChangeListener avpfRRIntervalChangedListener = new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
String value = newValue.toString();
|
||||||
|
try {
|
||||||
|
int intValue = Integer.parseInt(value);
|
||||||
|
if ((intValue < 1) || (intValue > 5)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException nfe) { }
|
||||||
|
mPrefs.setAvpfRRInterval(n, value);
|
||||||
|
preference.setSummary(value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
OnPreferenceChangeListener escapeChangedListener = new OnPreferenceChangeListener() {
|
OnPreferenceChangeListener escapeChangedListener = new OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
@ -233,8 +256,17 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
||||||
prefix.setSummary(prefixValue);
|
prefix.setSummary(prefixValue);
|
||||||
prefix.setText(prefixValue);
|
prefix.setText(prefixValue);
|
||||||
prefix.setOnPreferenceChangeListener(prefixChangedListener);
|
prefix.setOnPreferenceChangeListener(prefixChangedListener);
|
||||||
|
|
||||||
CheckBoxPreference escape = (CheckBoxPreference) advanced.getPreference(5);
|
CheckBoxPreference avpf = (CheckBoxPreference) advanced.getPreference(5);
|
||||||
|
avpf.setChecked(mPrefs.avpfEnabled(n));
|
||||||
|
avpf.setOnPreferenceChangeListener(avpfChangedListener);
|
||||||
|
|
||||||
|
EditTextPreference avpfRRInterval = (EditTextPreference) advanced.getPreference(6);
|
||||||
|
avpfRRInterval.setText(mPrefs.getAvpfRRInterval(n));
|
||||||
|
avpfRRInterval.setOnPreferenceChangeListener(avpfRRIntervalChangedListener);
|
||||||
|
avpfRRInterval.setSummary(mPrefs.getAvpfRRInterval(n));
|
||||||
|
|
||||||
|
CheckBoxPreference escape = (CheckBoxPreference) advanced.getPreference(7);
|
||||||
escape.setChecked(mPrefs.getReplacePlusByZeroZero(n));
|
escape.setChecked(mPrefs.getReplacePlusByZeroZero(n));
|
||||||
escape.setOnPreferenceChangeListener(escapeChangedListener);
|
escape.setOnPreferenceChangeListener(escapeChangedListener);
|
||||||
|
|
||||||
|
|
|
@ -524,7 +524,29 @@ public class LinphonePreferences {
|
||||||
prxCfg.setDialPrefix(prefix);
|
prxCfg.setDialPrefix(prefix);
|
||||||
prxCfg.done();
|
prxCfg.done();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean avpfEnabled(int n) {
|
||||||
|
return getProxyConfig(n).avpfEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void enableAvpf(int n, boolean enable) {
|
||||||
|
LinphoneProxyConfig prxCfg = getProxyConfig(n);
|
||||||
|
prxCfg.enableAvpf(enable);
|
||||||
|
prxCfg.done();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAvpfRRInterval(int n) {
|
||||||
|
return String.valueOf(getProxyConfig(n).getAvpfRRInterval());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAvpfRRInterval(int n, String interval) {
|
||||||
|
try {
|
||||||
|
LinphoneProxyConfig prxCfg = getProxyConfig(n);
|
||||||
|
prxCfg.setAvpfRRInterval(Integer.parseInt(interval));
|
||||||
|
prxCfg.done();
|
||||||
|
} catch (NumberFormatException nfe) { }
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getReplacePlusByZeroZero(int n) {
|
public boolean getReplacePlusByZeroZero(int n) {
|
||||||
return getProxyConfig(n).getDialEscapePlus();
|
return getProxyConfig(n).getDialEscapePlus();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue