diff --git a/src/com/android/settings/vpn2/VpnDialog.java b/src/com/android/settings/vpn2/VpnDialog.java index 2914b1be283..b3609a641ad 100644 --- a/src/com/android/settings/vpn2/VpnDialog.java +++ b/src/com/android/settings/vpn2/VpnDialog.java @@ -218,10 +218,10 @@ class VpnDialog extends AlertDialog implements TextWatcher, OnItemSelectedListen mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE); // fall through case VpnProfile.TYPE_IPSEC_XAUTH_RSA: - mView.findViewById(R.id.ipsec_ca).setVisibility(View.VISIBLE); + mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE); // fall through case VpnProfile.TYPE_IPSEC_HYBRID_RSA: - mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE); + mView.findViewById(R.id.ipsec_ca).setVisibility(View.VISIBLE); break; } } @@ -243,7 +243,6 @@ class VpnDialog extends AlertDialog implements TextWatcher, OnItemSelectedListen case VpnProfile.TYPE_L2TP_IPSEC_RSA: case VpnProfile.TYPE_IPSEC_XAUTH_RSA: - case VpnProfile.TYPE_IPSEC_HYBRID_RSA: return mIpsecUserCert.getSelectedItemPosition() != 0; } return false; @@ -308,13 +307,13 @@ class VpnDialog extends AlertDialog implements TextWatcher, OnItemSelectedListen profile.l2tpSecret = getSecret(mProfile.l2tpSecret, mL2tpSecret); // fall through case VpnProfile.TYPE_IPSEC_XAUTH_RSA: - if (mIpsecCaCert.getSelectedItemPosition() != 0) { - profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem(); + if (mIpsecUserCert.getSelectedItemPosition() != 0) { + profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem(); } // fall through case VpnProfile.TYPE_IPSEC_HYBRID_RSA: - if (mIpsecUserCert.getSelectedItemPosition() != 0) { - profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem(); + if (mIpsecCaCert.getSelectedItemPosition() != 0) { + profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem(); } break; } diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java index 56fb983f2c2..d3e8ac099ce 100644 --- a/src/com/android/settings/vpn2/VpnSettings.java +++ b/src/com/android/settings/vpn2/VpnSettings.java @@ -37,8 +37,10 @@ import android.view.MenuItem; import android.view.View; import android.widget.AdapterView.AdapterContextMenuInfo; +import com.android.internal.net.VpnConfig; import com.android.settings.SettingsPreferenceFragment; +import java.util.Arrays; import java.util.HashMap; public class VpnSettings extends SettingsPreferenceFragment implements @@ -328,7 +330,7 @@ public class VpnSettings extends SettingsPreferenceFragment implements "name", profile.username, "password", profile.password, "linkname", "vpn", "refuse-eap", "nodefaultroute", "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400", - (profile.mppe ? "+mppe" : "nomppe"), + "ipparam", profile.routes, (profile.mppe ? "+mppe" : "nomppe"), }; break; case VpnProfile.TYPE_L2TP_IPSEC_PSK: @@ -338,12 +340,20 @@ public class VpnSettings extends SettingsPreferenceFragment implements "name", profile.username, "password", profile.password, "linkname", "vpn", "refuse-eap", "nodefaultroute", "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400", + "ipparam", profile.routes, }; break; } + VpnConfig config = new VpnConfig(); + config.sessionName = profile.name; + config.routes = profile.routes; + if (!profile.searchDomains.isEmpty()) { + config.searchDomains = Arrays.asList(profile.searchDomains.split(" ")); + } + try { -// getService().doLegacyVpn(racoon, mtpd); + getService().doLegacyVpn(config, racoon, mtpd); } catch (Exception e) { Log.e(TAG, "connect", e); }