package com.oc.mobilsecurity;
import java.util.ArrayList;
import java.util.regex.Pattern;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
public class RegisterActivity extends Activity {
private Button back;
private Button Ok;
private TextView userName;
private TextView passwd;
private TextView realName;
private TextView id;
private TextView mobile;
private TextView mail;
private String uname;
private String upasswd;
private String urname;
private String uid;
private String umobile;
private String umail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_register);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.titlebar_ok);
userName = (TextView) findViewById(R.id.registerUserNameEditText);
passwd = (TextView) findViewById(R.id.registerPasswordEditText);
realName = (TextView) findViewById(R.id.registerRealNameText);
id = (TextView) findViewById(R.id.registerIDText);
mobile = (TextView) findViewById(R.id.registerMobileText);
mail = (TextView) findViewById(R.id.registerMailText);
back = (Button) findViewById(R.id.TitleBarBack);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getIntent();
setResult(RESULT_CANCELED, intent);
finish();
}
});
Ok = (Button) findViewById(R.id.TitleBarOk);
Ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
attemptRegister();
}
});
}
private void attemptRegister() {
userName.setError(null);
passwd.setError(null);
realName.setError(null);
id.setError(null);
mobile.setError(null);
mail.setError(null);
boolean cancel = false;
View focusView = null;
uname = userName.getText().toString();
upasswd = passwd.getText().toString();
uid = id.getText().toString();
urname = realName.getText().toString();
umobile = mobile.getText().toString();
umail = mail.getText().toString();
// Check for a valid mail.
Pattern pattern = Pattern
.compile("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$");
if (TextUtils.isEmpty(umail)) {
mail.setError(getString(R.string.error_field_required));
focusView = mail;
cancel = true;
} else if (!pattern.matcher(umail).matches()) {
mail.setError(getString(R.string.error_invalid_mail));
focusView = mail;
cancel = true;
}
// Check for a valid mobile.
pattern = Pattern
.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
if (TextUtils.isEmpty(umobile)) {
mobile.setError(getString(R.string.error_field_required));
focusView = mobile;
cancel = true;
} else if (!pattern.matcher(umobile).matches()) {
mobile.setError(getString(R.string.error_invalid_mobile));
focusView = mobile;
cancel = true;
}
// Check for a valid id.
if (TextUtils.isEmpty(uid)) {
id.setError(getString(R.string.error_field_required));
focusView = id;
cancel = true;
} else if (uid.length() != PreferenceValue.IDCARDLENGTH) {
id.setError(getString(R.string.error_invalid_id));
focusView = id;
cancel = true;
}
// Check for a valid real name.
if (TextUtils.isEmpty(urname)) {
realName.setError(getString(R.string.error_field_required));
focusView = realName;
cancel = true;
} else if (urname.length() < PreferenceValue.NAMESHORTEST) {
realName.setError(getString(R.string.error_invalid_name));
focusView = realName;
cancel = true;
}
// Check for a valid password.
if (TextUtils.isEmpty(upasswd)) {
passwd.setError(getString(R.string.error_field_required));
focusView = passwd;
cancel = true;
} else if (upasswd.length() < PreferenceValue.PASSWORDSHORTEST) {
passwd.setError(getString(R.string.error_invalid_password));
focusView = passwd;
cancel = true;
}
// Check for a valid email address.
if (TextUtils.isEmpty(uname)) {
userName.setError(getString(R.string.error_field_required));
focusView = userName;
cancel = true;
} else if (uname.length() < PreferenceValue.USERNAMESHORTEST) {
userName.setError(getString(R.string.error_invalid_username));
focusView = userName;
cancel = true;
}
if (cancel) {
focusView.requestFocus();
} else {
ArrayList<String> list = new ArrayList<String>();
list.add(uname);
list.add(upasswd);
list.add(uid);
list.add(urname);
list.add(umobile);
list.add(umail);
Intent intent = getIntent();
Bundle bundle = new Bundle();
bundle.putStringArrayList("registerInfo", list);
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
finish();
}
}
}