am 7ca3655d: Handle two new err codes:

Merge commit '7ca3655dcb620c8635ad84d1465ab2afc3ef31a0'

* commit '7ca3655dcb620c8635ad84d1465ab2afc3ef31a0':
  Handle two new err codes:
This commit is contained in:
Hung-ying Tyan
2009-08-27 20:31:17 -07:00
committed by Android Git Automerger
2 changed files with 55 additions and 85 deletions

View File

@@ -1883,6 +1883,8 @@ found in the list of installed applications.</string>
<string name="vpn_secret_not_set_dialog_msg">One or more secrets are missing in this VPN configuration. Do you want to check your secret setting?</string>
<string name="vpn_auth_error_dialog_msg">The username or password you entered is incorrect. Do you want to try again?</string>
<string name="vpn_remote_hung_up_error_dialog_msg">Server hung up. The username or password you entered could be incorrect. Do you want to try again?</string>
<string name="vpn_remote_ppp_hung_up_error_dialog_msg">Server hung up. It is possible that you are behind a firewall that prevents you from connecting to the server. Do you want to try again?</string>
<string name="vpn_ppp_negotiation_failed_dialog_msg">Server negotiation failed. The server may not agree with your encryption option. Do you want to check your encryption setting?</string>
<!-- VPN type selection activity title -->
<string name="vpn_type_title">Add VPN</string>

View File

@@ -104,16 +104,10 @@ public class VpnSettings extends PreferenceActivity implements
private static final int CONNECT_BUTTON = DialogInterface.BUTTON1;
private static final int OK_BUTTON = DialogInterface.BUTTON1;
private static final int DIALOG_CONNECT = 1;
private static final int DIALOG_RECONNECT = 2;
private static final int DIALOG_AUTH_ERROR = 3;
private static final int DIALOG_UNKNOWN_SERVER = 4;
private static final int DIALOG_SECRET_NOT_SET = 5;
private static final int DIALOG_CHALLENGE_ERROR = 6;
private static final int DIALOG_REMOTE_HUNG_UP_ERROR = 7;
private static final int DIALOG_CONNECTION_LOST = 8;
private static final int DIALOG_CONNECT = VpnManager.VPN_ERROR_LARGEST + 1;
private static final int DIALOG_SECRET_NOT_SET = DIALOG_CONNECT + 1;
private static final int NO_ERROR = 0;
private static final int NO_ERROR = VpnManager.VPN_ERROR_NO_ERROR;
private static final String NAMESPACE_VPN = "vpn";
private static final String KEY_PREFIX_IPSEC_PSK = "ipsk000";
@@ -201,29 +195,17 @@ public class VpnSettings extends PreferenceActivity implements
case DIALOG_CONNECT:
return createConnectDialog();
case DIALOG_RECONNECT:
return createReconnectDialog();
case DIALOG_AUTH_ERROR:
return createAuthErrorDialog();
case DIALOG_REMOTE_HUNG_UP_ERROR:
return createRemoteHungUpErrorDialog();
case DIALOG_CHALLENGE_ERROR:
return createChallengeErrorDialog();
case DIALOG_UNKNOWN_SERVER:
return createUnknownServerDialog();
case DIALOG_SECRET_NOT_SET:
return createSecretNotSetDialog();
case DIALOG_CONNECTION_LOST:
return createConnectionLostDialog();
case VpnManager.VPN_ERROR_CHALLENGE:
case VpnManager.VPN_ERROR_UNKNOWN_SERVER:
case VpnManager.VPN_ERROR_PPP_NEGOTIATION_FAILED:
return createEditDialog(id);
default:
return super.onCreateDialog(id);
Log.d(TAG, "create reconnect dialog for event " + id);
return createReconnectDialog(id);
}
}
@@ -245,34 +227,50 @@ public class VpnSettings extends PreferenceActivity implements
.create();
}
private Dialog createReconnectDialog() {
return createCommonDialogBuilder()
.setMessage(R.string.vpn_confirm_reconnect)
.create();
private Dialog createReconnectDialog(int id) {
int msgId;
switch (id) {
case VpnManager.VPN_ERROR_AUTH:
msgId = R.string.vpn_auth_error_dialog_msg;
break;
case VpnManager.VPN_ERROR_REMOTE_HUNG_UP:
msgId = R.string.vpn_remote_hung_up_error_dialog_msg;
break;
case VpnManager.VPN_ERROR_CONNECTION_LOST:
msgId = R.string.vpn_reconnect_from_lost;
break;
case VpnManager.VPN_ERROR_REMOTE_PPP_HUNG_UP:
msgId = R.string.vpn_remote_ppp_hung_up_error_dialog_msg;
break;
default:
msgId = R.string.vpn_confirm_reconnect;
}
return createCommonDialogBuilder().setMessage(msgId).create();
}
private Dialog createAuthErrorDialog() {
return createCommonDialogBuilder()
.setMessage(R.string.vpn_auth_error_dialog_msg)
.create();
}
private Dialog createEditDialog(int id) {
int msgId;
switch (id) {
case VpnManager.VPN_ERROR_CHALLENGE:
msgId = R.string.vpn_challenge_error_dialog_msg;
break;
private Dialog createRemoteHungUpErrorDialog() {
return createCommonDialogBuilder()
.setMessage(R.string.vpn_remote_hung_up_error_dialog_msg)
.create();
}
case VpnManager.VPN_ERROR_UNKNOWN_SERVER:
msgId = R.string.vpn_unknown_server_dialog_msg;
break;
private Dialog createChallengeErrorDialog() {
return createCommonEditDialogBuilder()
.setMessage(R.string.vpn_challenge_error_dialog_msg)
.create();
}
case VpnManager.VPN_ERROR_PPP_NEGOTIATION_FAILED:
msgId = R.string.vpn_ppp_negotiation_failed_dialog_msg;
break;
private Dialog createUnknownServerDialog() {
return createCommonEditDialogBuilder()
.setMessage(R.string.vpn_unknown_server_dialog_msg)
.create();
default:
return null;
}
return createCommonEditDialogBuilder().setMessage(msgId).create();
}
private Dialog createSecretNotSetDialog() {
@@ -299,12 +297,6 @@ public class VpnSettings extends PreferenceActivity implements
});
}
private Dialog createConnectionLostDialog() {
return createCommonDialogBuilder()
.setMessage(R.string.vpn_reconnect_from_lost)
.create();
}
private AlertDialog.Builder createCommonDialogBuilder() {
return new AlertDialog.Builder(this)
.setTitle(android.R.string.dialog_alert_title)
@@ -748,36 +740,12 @@ public class VpnSettings extends PreferenceActivity implements
case IDLE:
assert(mActiveProfile == p);
switch (mConnectingErrorCode) {
case NO_ERROR:
onIdle();
break;
case VpnManager.VPN_ERROR_AUTH:
showDialog(DIALOG_AUTH_ERROR);
break;
case VpnManager.VPN_ERROR_REMOTE_HUNG_UP:
showDialog(DIALOG_REMOTE_HUNG_UP_ERROR);
break;
case VpnManager.VPN_ERROR_CHALLENGE:
showDialog(DIALOG_CHALLENGE_ERROR);
break;
case VpnManager.VPN_ERROR_UNKNOWN_SERVER:
showDialog(DIALOG_UNKNOWN_SERVER);
break;
case VpnManager.VPN_ERROR_CONNECTION_LOST:
showDialog(DIALOG_CONNECTION_LOST);
break;
default:
showDialog(DIALOG_RECONNECT);
break;
if (mConnectingErrorCode == NO_ERROR) {
onIdle();
} else {
showDialog(mConnectingErrorCode);
mConnectingErrorCode = NO_ERROR;
}
mConnectingErrorCode = NO_ERROR;
break;
}
}