Loading res/values/strings.xml +6 −4 Original line number Diff line number Diff line Loading @@ -2386,14 +2386,16 @@ found in the list of installed applications.</string> <string name="vpn_a_l2tp_secret">an L2TP secret</string> <string name="vpn_pptp_encryption_title">encryption</string> <string name="vpn_pptp_encryption">PPTP encryption</string> <string name="vpn_openvpn_port">Port for Server</string> <string name="vpn_openvpn_protocol">Protocol to use for Port</string> <string name="vpn_openvpn_port">Server port</string> <string name="vpn_openvpn_protocol">Protocol to use</string> <string name="vpn_openvpn_device">Device to use</string> <string name="vpn_openvpn_userauth">User Authentication</string> <string name="vpn_openvpn_userauth">User authentication</string> <string name="vpn_openvpn_userauth_summary">Set if additional username/password authentication needs to be used</string> <string name="vpn_openvpn_advanced_titlebar">Advanced Openvpn Settings</string> <string name="vpn_openvpn_comp_lzo">LZO Compression</string> <string name="vpn_openvpn_comp_lzo">LZO compression</string> <string name="vpn_openvpn_comp_lzo_summary">Force LZO compression to be set to on</string> <string name="vpn_openvpn_redirect_gateway_title">Redirect gateway</string> <string name="vpn_openvpn_redirect_gateway_summary">Force all traffic to berouted thru the VPN tunnel</string> <string name="vpn_openvpn_set_addr">Remote Sets Addresses</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> Loading res/xml/openvpn_advanced_settings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,12 @@ android:summary="@string/vpn_openvpn_comp_lzo_summary" /> <CheckBoxPreference android:key="set_redirect_gateway" android:title="@string/vpn_openvpn_redirect_gateway_title" android:summary="@string/vpn_openvpn_redirect_gateway_summary" /> <CheckBoxPreference android:key="set_addr" android:title="@string/vpn_openvpn_set_addr" Loading src/com/android/settings/vpn/OpenvpnEditor.java +247 −211 Original line number Diff line number Diff line Loading @@ -31,9 +31,9 @@ import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceGroup; import android.security.CertTool; import android.text.InputType; import android.text.TextUtils; import android.security.Credentials; import android.security.KeyStore; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; Loading @@ -45,14 +45,19 @@ import android.view.MenuItem; class OpenvpnEditor extends VpnProfileEditor { private static final String KEY_PROFILE = "openvpn_profile"; private static final int REQUEST_ADVANCED = 1; private static final String TAG = OpenvpnEditor.class.getSimpleName(); private int MENU_ID_ADVANCED; private KeyStore mKeyStore = KeyStore.getInstance(); private CheckBoxPreference mUserAuth; private ListPreference mCert; private ListPreference mCACert; public OpenvpnEditor(OpenvpnProfile p) { Loading @@ -67,10 +72,8 @@ class OpenvpnEditor extends VpnProfileEditor { mUserAuth.setTitle(R.string.vpn_openvpn_userauth); mUserAuth.setSummary(R.string.vpn_openvpn_userauth_summary); mUserAuth.setChecked(profile.getUserAuth()); mUserAuth.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange( Preference pref, Object newValue) { mUserAuth.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { boolean enabled = (Boolean) newValue; profile.setUserAuth(enabled); mUserAuth.setChecked(enabled); Loading @@ -78,15 +81,12 @@ class OpenvpnEditor extends VpnProfileEditor { } }); subpanel.addPreference(mUserAuth); mCACert = createList(c, R.string.vpn_ca_certificate_title, profile.getCAName(), CertTool.getInstance().getAllCaCertificateKeys(), new Preference.OnPreferenceChangeListener() { mCACert = createList(c, R.string.vpn_ca_certificate_title, profile.getCAName(), mKeyStore .saw(Credentials.CA_CERTIFICATE), new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String f = (String) newValue; profile.setCAName(f); setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); return true; } Loading @@ -94,15 +94,12 @@ class OpenvpnEditor extends VpnProfileEditor { setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); subpanel.addPreference(mCACert); mCert = createList(c, R.string.vpn_user_certificate_title, profile.getCertName(), CertTool.getInstance().getAllUserCertificateKeys(), new Preference.OnPreferenceChangeListener() { mCert = createList(c, R.string.vpn_user_certificate_title, profile.getCertName(), mKeyStore .saw(Credentials.USER_CERTIFICATE), new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String f = (String) newValue; profile.setCertName(f); setSummary(mCert, R.string.vpn_user_certificate, profile.getCertName()); setSummary(mCert, R.string.vpn_user_certificate, profile.getCertName()); return true; } Loading @@ -117,9 +114,11 @@ class OpenvpnEditor extends VpnProfileEditor { if (result != null) return result; if (!mUserAuth.isChecked()) { result = validate(mCert, R.string.vpn_a_user_certificate); if (result != null) return result; } return validate(mCert, R.string.vpn_a_ca_certificate); } Loading @@ -128,8 +127,8 @@ class OpenvpnEditor extends VpnProfileEditor { protected void onCreateOptionsMenu(Menu menu, int last_item) { MENU_ID_ADVANCED = last_item + 1; menu.add(0, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced) .setIcon(android.R.drawable.ic_menu_manage); menu.add(0, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced).setIcon( android.R.drawable.ic_menu_manage); } @Override Loading @@ -145,8 +144,7 @@ class OpenvpnEditor extends VpnProfileEditor { } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { if (requestCode != REQUEST_ADVANCED) return; Loading @@ -159,14 +157,15 @@ class OpenvpnEditor extends VpnProfileEditor { // manually copy across all advanced settings p.setPort(newP.getPort()); p.setProto(newP.getProto()); p.setDevice(newP.getDevice()); p.setUseCompLzo(newP.getUseCompLzo()); p.setRedirectGateway(newP.getRedirectGateway()); p.setSupplyAddr(newP.getSupplyAddr()); p.setLocalAddr(newP.getLocalAddr()); p.setRemoteAddr(newP.getRemoteAddr()); } private ListPreference createList(Context c, int titleResId, String selection, String[] keys, private ListPreference createList(Context c, int titleResId, String selection, String[] keys, Preference.OnPreferenceChangeListener listener) { ListPreference pref = new ListPreference(c); pref.setTitle(titleResId); Loading @@ -181,18 +180,37 @@ class OpenvpnEditor extends VpnProfileEditor { public static class AdvancedSettings extends PreferenceActivity { private static final String KEY_PORT = "set_port"; private static final String KEY_PROTO = "set_protocol"; private static final String KEY_DEVICE = "set_device"; private static final String KEY_COMP_LZO = "set_comp_lzo"; private static final String KEY_REDIRECT_GATEWAY = "set_redirect_gateway"; private static final String KEY_SET_ADDR = "set_addr"; private static final String KEY_LOCAL_ADDR = "set_local_addr"; private static final String KEY_REMOTE_ADDR = "set_remote_addr"; private EditTextPreference mPort; private ListPreference mProto; private ListPreference mDevice; private CheckBoxPreference mCompLzo; private CheckBoxPreference mRedirectGateway; private CheckBoxPreference mSetAddr; private EditTextPreference mLocalAddr; private EditTextPreference mRemoteAddr; private OpenvpnProfile profile; @Override Loading @@ -205,15 +223,16 @@ class OpenvpnEditor extends VpnProfileEditor { mPort = (EditTextPreference) findPreference(KEY_PORT); mProto = (ListPreference) findPreference(KEY_PROTO); mDevice = (ListPreference) findPreference(KEY_DEVICE); mCompLzo = (CheckBoxPreference) findPreference(KEY_COMP_LZO); mRedirectGateway = (CheckBoxPreference) findPreference(KEY_REDIRECT_GATEWAY); mSetAddr = (CheckBoxPreference) findPreference(KEY_SET_ADDR); mLocalAddr = (EditTextPreference) findPreference(KEY_LOCAL_ADDR); mRemoteAddr = (EditTextPreference) findPreference(KEY_REMOTE_ADDR); mPort.setSummary(profile.getPort()); mPort.setText(profile.getPort()); mPort.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -226,8 +245,7 @@ class OpenvpnEditor extends VpnProfileEditor { mProto.setSummary(profile.getProto()); mProto.setValue(profile.getProto()); mProto.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mProto.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -238,9 +256,21 @@ class OpenvpnEditor extends VpnProfileEditor { } }); mDevice.setSummary(profile.getDevice()); mDevice.setValue(profile.getDevice()); mDevice.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setDevice(name); mDevice.setSummary(profile.getDevice()); return true; } }); mCompLzo.setChecked(profile.getUseCompLzo()); mCompLzo.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mCompLzo.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setUseCompLzo(b); Loading @@ -249,10 +279,19 @@ class OpenvpnEditor extends VpnProfileEditor { } }); mRedirectGateway.setChecked(profile.getRedirectGateway()); mRedirectGateway.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setRedirectGateway(b); return true; } }); // This is inverted to cope with the way dependencies work mSetAddr.setChecked(!profile.getSupplyAddr()); mSetAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mSetAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setSupplyAddr(!b); Loading @@ -263,8 +302,7 @@ class OpenvpnEditor extends VpnProfileEditor { mLocalAddr.setSummary(profile.getLocalAddr()); mLocalAddr.setText(profile.getLocalAddr()); mLocalAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mLocalAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -277,8 +315,7 @@ class OpenvpnEditor extends VpnProfileEditor { mRemoteAddr.setSummary(profile.getRemoteAddr()); mRemoteAddr.setText(profile.getRemoteAddr()); mRemoteAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mRemoteAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -304,6 +341,5 @@ class OpenvpnEditor extends VpnProfileEditor { return super.onKeyDown(keyCode, event); } } } Loading
res/values/strings.xml +6 −4 Original line number Diff line number Diff line Loading @@ -2386,14 +2386,16 @@ found in the list of installed applications.</string> <string name="vpn_a_l2tp_secret">an L2TP secret</string> <string name="vpn_pptp_encryption_title">encryption</string> <string name="vpn_pptp_encryption">PPTP encryption</string> <string name="vpn_openvpn_port">Port for Server</string> <string name="vpn_openvpn_protocol">Protocol to use for Port</string> <string name="vpn_openvpn_port">Server port</string> <string name="vpn_openvpn_protocol">Protocol to use</string> <string name="vpn_openvpn_device">Device to use</string> <string name="vpn_openvpn_userauth">User Authentication</string> <string name="vpn_openvpn_userauth">User authentication</string> <string name="vpn_openvpn_userauth_summary">Set if additional username/password authentication needs to be used</string> <string name="vpn_openvpn_advanced_titlebar">Advanced Openvpn Settings</string> <string name="vpn_openvpn_comp_lzo">LZO Compression</string> <string name="vpn_openvpn_comp_lzo">LZO compression</string> <string name="vpn_openvpn_comp_lzo_summary">Force LZO compression to be set to on</string> <string name="vpn_openvpn_redirect_gateway_title">Redirect gateway</string> <string name="vpn_openvpn_redirect_gateway_summary">Force all traffic to berouted thru the VPN tunnel</string> <string name="vpn_openvpn_set_addr">Remote Sets Addresses</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> Loading
res/xml/openvpn_advanced_settings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,12 @@ android:summary="@string/vpn_openvpn_comp_lzo_summary" /> <CheckBoxPreference android:key="set_redirect_gateway" android:title="@string/vpn_openvpn_redirect_gateway_title" android:summary="@string/vpn_openvpn_redirect_gateway_summary" /> <CheckBoxPreference android:key="set_addr" android:title="@string/vpn_openvpn_set_addr" Loading
src/com/android/settings/vpn/OpenvpnEditor.java +247 −211 Original line number Diff line number Diff line Loading @@ -31,9 +31,9 @@ import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceGroup; import android.security.CertTool; import android.text.InputType; import android.text.TextUtils; import android.security.Credentials; import android.security.KeyStore; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; Loading @@ -45,14 +45,19 @@ import android.view.MenuItem; class OpenvpnEditor extends VpnProfileEditor { private static final String KEY_PROFILE = "openvpn_profile"; private static final int REQUEST_ADVANCED = 1; private static final String TAG = OpenvpnEditor.class.getSimpleName(); private int MENU_ID_ADVANCED; private KeyStore mKeyStore = KeyStore.getInstance(); private CheckBoxPreference mUserAuth; private ListPreference mCert; private ListPreference mCACert; public OpenvpnEditor(OpenvpnProfile p) { Loading @@ -67,10 +72,8 @@ class OpenvpnEditor extends VpnProfileEditor { mUserAuth.setTitle(R.string.vpn_openvpn_userauth); mUserAuth.setSummary(R.string.vpn_openvpn_userauth_summary); mUserAuth.setChecked(profile.getUserAuth()); mUserAuth.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange( Preference pref, Object newValue) { mUserAuth.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { boolean enabled = (Boolean) newValue; profile.setUserAuth(enabled); mUserAuth.setChecked(enabled); Loading @@ -78,15 +81,12 @@ class OpenvpnEditor extends VpnProfileEditor { } }); subpanel.addPreference(mUserAuth); mCACert = createList(c, R.string.vpn_ca_certificate_title, profile.getCAName(), CertTool.getInstance().getAllCaCertificateKeys(), new Preference.OnPreferenceChangeListener() { mCACert = createList(c, R.string.vpn_ca_certificate_title, profile.getCAName(), mKeyStore .saw(Credentials.CA_CERTIFICATE), new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String f = (String) newValue; profile.setCAName(f); setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); return true; } Loading @@ -94,15 +94,12 @@ class OpenvpnEditor extends VpnProfileEditor { setSummary(mCACert, R.string.vpn_ca_certificate, profile.getCAName()); subpanel.addPreference(mCACert); mCert = createList(c, R.string.vpn_user_certificate_title, profile.getCertName(), CertTool.getInstance().getAllUserCertificateKeys(), new Preference.OnPreferenceChangeListener() { mCert = createList(c, R.string.vpn_user_certificate_title, profile.getCertName(), mKeyStore .saw(Credentials.USER_CERTIFICATE), new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String f = (String) newValue; profile.setCertName(f); setSummary(mCert, R.string.vpn_user_certificate, profile.getCertName()); setSummary(mCert, R.string.vpn_user_certificate, profile.getCertName()); return true; } Loading @@ -117,9 +114,11 @@ class OpenvpnEditor extends VpnProfileEditor { if (result != null) return result; if (!mUserAuth.isChecked()) { result = validate(mCert, R.string.vpn_a_user_certificate); if (result != null) return result; } return validate(mCert, R.string.vpn_a_ca_certificate); } Loading @@ -128,8 +127,8 @@ class OpenvpnEditor extends VpnProfileEditor { protected void onCreateOptionsMenu(Menu menu, int last_item) { MENU_ID_ADVANCED = last_item + 1; menu.add(0, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced) .setIcon(android.R.drawable.ic_menu_manage); menu.add(0, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced).setIcon( android.R.drawable.ic_menu_manage); } @Override Loading @@ -145,8 +144,7 @@ class OpenvpnEditor extends VpnProfileEditor { } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { if (requestCode != REQUEST_ADVANCED) return; Loading @@ -159,14 +157,15 @@ class OpenvpnEditor extends VpnProfileEditor { // manually copy across all advanced settings p.setPort(newP.getPort()); p.setProto(newP.getProto()); p.setDevice(newP.getDevice()); p.setUseCompLzo(newP.getUseCompLzo()); p.setRedirectGateway(newP.getRedirectGateway()); p.setSupplyAddr(newP.getSupplyAddr()); p.setLocalAddr(newP.getLocalAddr()); p.setRemoteAddr(newP.getRemoteAddr()); } private ListPreference createList(Context c, int titleResId, String selection, String[] keys, private ListPreference createList(Context c, int titleResId, String selection, String[] keys, Preference.OnPreferenceChangeListener listener) { ListPreference pref = new ListPreference(c); pref.setTitle(titleResId); Loading @@ -181,18 +180,37 @@ class OpenvpnEditor extends VpnProfileEditor { public static class AdvancedSettings extends PreferenceActivity { private static final String KEY_PORT = "set_port"; private static final String KEY_PROTO = "set_protocol"; private static final String KEY_DEVICE = "set_device"; private static final String KEY_COMP_LZO = "set_comp_lzo"; private static final String KEY_REDIRECT_GATEWAY = "set_redirect_gateway"; private static final String KEY_SET_ADDR = "set_addr"; private static final String KEY_LOCAL_ADDR = "set_local_addr"; private static final String KEY_REMOTE_ADDR = "set_remote_addr"; private EditTextPreference mPort; private ListPreference mProto; private ListPreference mDevice; private CheckBoxPreference mCompLzo; private CheckBoxPreference mRedirectGateway; private CheckBoxPreference mSetAddr; private EditTextPreference mLocalAddr; private EditTextPreference mRemoteAddr; private OpenvpnProfile profile; @Override Loading @@ -205,15 +223,16 @@ class OpenvpnEditor extends VpnProfileEditor { mPort = (EditTextPreference) findPreference(KEY_PORT); mProto = (ListPreference) findPreference(KEY_PROTO); mDevice = (ListPreference) findPreference(KEY_DEVICE); mCompLzo = (CheckBoxPreference) findPreference(KEY_COMP_LZO); mRedirectGateway = (CheckBoxPreference) findPreference(KEY_REDIRECT_GATEWAY); mSetAddr = (CheckBoxPreference) findPreference(KEY_SET_ADDR); mLocalAddr = (EditTextPreference) findPreference(KEY_LOCAL_ADDR); mRemoteAddr = (EditTextPreference) findPreference(KEY_REMOTE_ADDR); mPort.setSummary(profile.getPort()); mPort.setText(profile.getPort()); mPort.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -226,8 +245,7 @@ class OpenvpnEditor extends VpnProfileEditor { mProto.setSummary(profile.getProto()); mProto.setValue(profile.getProto()); mProto.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mProto.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -238,9 +256,21 @@ class OpenvpnEditor extends VpnProfileEditor { } }); mDevice.setSummary(profile.getDevice()); mDevice.setValue(profile.getDevice()); mDevice.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); profile.setDevice(name); mDevice.setSummary(profile.getDevice()); return true; } }); mCompLzo.setChecked(profile.getUseCompLzo()); mCompLzo.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mCompLzo.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setUseCompLzo(b); Loading @@ -249,10 +279,19 @@ class OpenvpnEditor extends VpnProfileEditor { } }); mRedirectGateway.setChecked(profile.getRedirectGateway()); mRedirectGateway.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setRedirectGateway(b); return true; } }); // This is inverted to cope with the way dependencies work mSetAddr.setChecked(!profile.getSupplyAddr()); mSetAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mSetAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { Boolean b = (Boolean) newValue; profile.setSupplyAddr(!b); Loading @@ -263,8 +302,7 @@ class OpenvpnEditor extends VpnProfileEditor { mLocalAddr.setSummary(profile.getLocalAddr()); mLocalAddr.setText(profile.getLocalAddr()); mLocalAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mLocalAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -277,8 +315,7 @@ class OpenvpnEditor extends VpnProfileEditor { mRemoteAddr.setSummary(profile.getRemoteAddr()); mRemoteAddr.setText(profile.getRemoteAddr()); mRemoteAddr.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { mRemoteAddr.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference pref, Object newValue) { String name = (String) newValue; name.trim(); Loading @@ -304,6 +341,5 @@ class OpenvpnEditor extends VpnProfileEditor { return super.onKeyDown(keyCode, event); } } }