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_user_name_key">pref_user_name_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_sipinfo_dtmf_key">pref_sipinfo_dtmf_key</string>
|
||||
|
|
|
@ -400,6 +400,8 @@
|
|||
<string name="pref_display_name_title">Display name</string>
|
||||
<string name="pref_user_name_title">Username</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_sipinfo_dtmf">Send SIP INFO DTMFs</string>
|
||||
|
|
|
@ -59,6 +59,15 @@
|
|||
android:title="@string/pref_prefix"
|
||||
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
|
||||
android:title="@string/pref_escape_plus"
|
||||
android:key="@string/pref_escape_plus_key"/>
|
||||
|
|
|
@ -141,6 +141,29 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
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() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
|
@ -234,7 +257,16 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
prefix.setText(prefixValue);
|
||||
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.setOnPreferenceChangeListener(escapeChangedListener);
|
||||
|
||||
|
|
|
@ -525,6 +525,28 @@ public class LinphonePreferences {
|
|||
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) {
|
||||
return getProxyConfig(n).getDialEscapePlus();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue