Loading res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -2417,6 +2417,12 @@ found in the list of installed applications.</string> <string name="vpn_openvpn_set_addr_summary">Uncheck to set tunnel addresses manually</string> <string name="vpn_openvpn_set_local_addr">Local IP Address</string> <string name="vpn_openvpn_set_remote_addr">Remote IP Address</string> <string name="vpn_openvpn_set_cipher">Cipher algorithm</string> <string name="vpn_openvpn_set_cipher_message">Leave empty to use default cipher</string> <string name="vpn_openvpn_set_keysize">Size of cipher key</string> <string name="vpn_openvpn_set_keysize_message">Leave empty to use cipher-specific default</string> <string name="vpn_openvpn_set_extra">Extra arguments</string> <string name="vpn_openvpn_set_extra_message">Enter the extra command line arguments</string> <!-- Preference title --> <string name="vpn_ipsec_presharedkey_title">Set IPSec pre-shared key</string> Loading res/xml/openvpn_advanced_settings.xml +29 −2 Original line number Diff line number Diff line Loading @@ -76,4 +76,31 @@ android:singleLine="true" /> <EditTextPreference android:key="set_cipher" android:title="@string/vpn_openvpn_set_cipher" android:dialogTitle="@string/vpn_openvpn_set_cipher" android:dialogMessage="@string/vpn_openvpn_set_cipher_message" android:singleLine="true" android:inputType="textCapCharacters" /> <EditTextPreference android:key="set_keysize" android:title="@string/vpn_openvpn_set_keysize" android:dialogTitle="@string/vpn_openvpn_set_keysize" android:dialogMessage="@string/vpn_openvpn_set_keysize_message" android:singleLine="true" android:inputType="number" /> <EditTextPreference android:key="set_extra" android:title="@string/vpn_openvpn_set_extra" android:dialogTitle="@string/vpn_openvpn_set_extra" android:dialogMessage="@string/vpn_openvpn_set_extra_message" android:singleLine="true" android:inputType="text" /> </PreferenceScreen> src/com/android/settings/vpn/OpenvpnEditor.java +75 −3 Original line number Diff line number Diff line Loading @@ -163,6 +163,9 @@ class OpenvpnEditor extends VpnProfileEditor { p.setSupplyAddr(newP.getSupplyAddr()); p.setLocalAddr(newP.getLocalAddr()); p.setRemoteAddr(newP.getRemoteAddr()); p.setCipher(newP.getCipher()); p.setKeySize(newP.getKeySize()); p.setExtra(newP.getExtra()); } private ListPreference createList(Context c, int titleResId, String selection, String[] keys, Loading Loading @@ -195,6 +198,12 @@ class OpenvpnEditor extends VpnProfileEditor { private static final String KEY_REMOTE_ADDR = "set_remote_addr"; private static final String KEY_CIPHER = "set_cipher"; private static final String KEY_KEYSIZE = "set_keysize"; private static final String KEY_EXTRA = "set_extra"; private EditTextPreference mPort; private ListPreference mProto; Loading @@ -211,6 +220,12 @@ class OpenvpnEditor extends VpnProfileEditor { private EditTextPreference mRemoteAddr; private EditTextPreference mCipher; private EditTextPreference mKeySize; private EditTextPreference mExtra; private OpenvpnProfile profile; @Override Loading @@ -229,6 +244,9 @@ class OpenvpnEditor extends VpnProfileEditor { mSetAddr = (CheckBoxPreference) findPreference(KEY_SET_ADDR); mLocalAddr = (EditTextPreference) findPreference(KEY_LOCAL_ADDR); mRemoteAddr = (EditTextPreference) findPreference(KEY_REMOTE_ADDR); mCipher = (EditTextPreference) findPreference(KEY_CIPHER); mKeySize = (EditTextPreference) findPreference(KEY_KEYSIZE); mExtra = (EditTextPreference) findPreference(KEY_EXTRA); mPort.setSummary(profile.getPort()); mPort.setText(profile.getPort()); Loading Loading @@ -325,6 +343,60 @@ class OpenvpnEditor extends VpnProfileEditor { return true; } }); if (profile.getCipher() == null || profile.getCipher().equals("")) mCipher.setSummary("default"); else mCipher.setSummary(profile.getCipher()); mCipher.setText(profile.getCipher()); mCipher.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setCipher(name); if (profile.getCipher().equals("")) mCipher.setSummary("default"); else mCipher.setSummary(profile.getCipher()); return true; } }); if (profile.getKeySize() == null || profile.getKeySize().equals("0")) { mKeySize.setSummary("default"); mKeySize.setText(""); } else { mKeySize.setSummary(profile.getKeySize()); mKeySize.setText(profile.getKeySize()); } mKeySize.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); if (name.equals("")) name = "0"; profile.setKeySize(name); if (profile.getKeySize().equals("0")) mKeySize.setSummary("default"); else mKeySize.setSummary(profile.getKeySize()); return true; } }); mExtra.setSummary(profile.getExtra()); mExtra.setText(profile.getExtra()); mExtra.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setExtra(name); mExtra.setSummary(profile.getExtra()); return true; } }); } @Override Loading Loading
res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -2417,6 +2417,12 @@ found in the list of installed applications.</string> <string name="vpn_openvpn_set_addr_summary">Uncheck to set tunnel addresses manually</string> <string name="vpn_openvpn_set_local_addr">Local IP Address</string> <string name="vpn_openvpn_set_remote_addr">Remote IP Address</string> <string name="vpn_openvpn_set_cipher">Cipher algorithm</string> <string name="vpn_openvpn_set_cipher_message">Leave empty to use default cipher</string> <string name="vpn_openvpn_set_keysize">Size of cipher key</string> <string name="vpn_openvpn_set_keysize_message">Leave empty to use cipher-specific default</string> <string name="vpn_openvpn_set_extra">Extra arguments</string> <string name="vpn_openvpn_set_extra_message">Enter the extra command line arguments</string> <!-- Preference title --> <string name="vpn_ipsec_presharedkey_title">Set IPSec pre-shared key</string> Loading
res/xml/openvpn_advanced_settings.xml +29 −2 Original line number Diff line number Diff line Loading @@ -76,4 +76,31 @@ android:singleLine="true" /> <EditTextPreference android:key="set_cipher" android:title="@string/vpn_openvpn_set_cipher" android:dialogTitle="@string/vpn_openvpn_set_cipher" android:dialogMessage="@string/vpn_openvpn_set_cipher_message" android:singleLine="true" android:inputType="textCapCharacters" /> <EditTextPreference android:key="set_keysize" android:title="@string/vpn_openvpn_set_keysize" android:dialogTitle="@string/vpn_openvpn_set_keysize" android:dialogMessage="@string/vpn_openvpn_set_keysize_message" android:singleLine="true" android:inputType="number" /> <EditTextPreference android:key="set_extra" android:title="@string/vpn_openvpn_set_extra" android:dialogTitle="@string/vpn_openvpn_set_extra" android:dialogMessage="@string/vpn_openvpn_set_extra_message" android:singleLine="true" android:inputType="text" /> </PreferenceScreen>
src/com/android/settings/vpn/OpenvpnEditor.java +75 −3 Original line number Diff line number Diff line Loading @@ -163,6 +163,9 @@ class OpenvpnEditor extends VpnProfileEditor { p.setSupplyAddr(newP.getSupplyAddr()); p.setLocalAddr(newP.getLocalAddr()); p.setRemoteAddr(newP.getRemoteAddr()); p.setCipher(newP.getCipher()); p.setKeySize(newP.getKeySize()); p.setExtra(newP.getExtra()); } private ListPreference createList(Context c, int titleResId, String selection, String[] keys, Loading Loading @@ -195,6 +198,12 @@ class OpenvpnEditor extends VpnProfileEditor { private static final String KEY_REMOTE_ADDR = "set_remote_addr"; private static final String KEY_CIPHER = "set_cipher"; private static final String KEY_KEYSIZE = "set_keysize"; private static final String KEY_EXTRA = "set_extra"; private EditTextPreference mPort; private ListPreference mProto; Loading @@ -211,6 +220,12 @@ class OpenvpnEditor extends VpnProfileEditor { private EditTextPreference mRemoteAddr; private EditTextPreference mCipher; private EditTextPreference mKeySize; private EditTextPreference mExtra; private OpenvpnProfile profile; @Override Loading @@ -229,6 +244,9 @@ class OpenvpnEditor extends VpnProfileEditor { mSetAddr = (CheckBoxPreference) findPreference(KEY_SET_ADDR); mLocalAddr = (EditTextPreference) findPreference(KEY_LOCAL_ADDR); mRemoteAddr = (EditTextPreference) findPreference(KEY_REMOTE_ADDR); mCipher = (EditTextPreference) findPreference(KEY_CIPHER); mKeySize = (EditTextPreference) findPreference(KEY_KEYSIZE); mExtra = (EditTextPreference) findPreference(KEY_EXTRA); mPort.setSummary(profile.getPort()); mPort.setText(profile.getPort()); Loading Loading @@ -325,6 +343,60 @@ class OpenvpnEditor extends VpnProfileEditor { return true; } }); if (profile.getCipher() == null || profile.getCipher().equals("")) mCipher.setSummary("default"); else mCipher.setSummary(profile.getCipher()); mCipher.setText(profile.getCipher()); mCipher.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setCipher(name); if (profile.getCipher().equals("")) mCipher.setSummary("default"); else mCipher.setSummary(profile.getCipher()); return true; } }); if (profile.getKeySize() == null || profile.getKeySize().equals("0")) { mKeySize.setSummary("default"); mKeySize.setText(""); } else { mKeySize.setSummary(profile.getKeySize()); mKeySize.setText(profile.getKeySize()); } mKeySize.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); if (name.equals("")) name = "0"; profile.setKeySize(name); if (profile.getKeySize().equals("0")) mKeySize.setSummary("default"); else mKeySize.setSummary(profile.getKeySize()); return true; } }); mExtra.setSummary(profile.getExtra()); mExtra.setText(profile.getExtra()); mExtra.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setExtra(name); mExtra.setSummary(profile.getExtra()); return true; } }); } @Override Loading