package com.luna.anytime;
import com.avos.avoscloud.AVException;
import com.avos.avoscloud.SignUpCallback;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class RegisterActivity extends AnyTimeActivity {
Button registerButton;
EditText userName;
EditText userEmail;
EditText userPassword;
EditText userPasswordAgain;
private ProgressDialog progressDialog;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
this.getActionBar().setDisplayHomeAsUpEnabled(true);
registerButton = (Button) findViewById(R.id.button_i_need_register);
userName = (EditText) findViewById(R.id.editText_register_userName);
userEmail = (EditText) findViewById(R.id.editText_register_email);
userPassword = (EditText) findViewById(R.id.editText_register_userPassword);
userPasswordAgain = (EditText) findViewById(R.id.editText_register_userPassword_again);
registerButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (userPassword.getText().toString()
.equals(userPasswordAgain.getText().toString())) {
if (!userPassword.getText().toString().isEmpty()) {
if (!userName.getText().toString().isEmpty()) {
if (!userEmail.getText().toString().isEmpty()) {
progressDialogShow();
register();
} else {
showError(activity
.getString(R.string.error_register_email_address_null));
}
} else {
showError(activity
.getString(R.string.error_register_user_name_null));
}
} else {
showError(activity
.getString(R.string.error_register_password_null));
}
} else {
showError(activity
.getString(R.string.error_register_password_not_equals));
}
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
Intent LoginIntent = new Intent(this, LoginActivity.class);
startActivity(LoginIntent);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
public void register() {
SignUpCallback signUpCallback = new SignUpCallback() {
public void done(AVException e) {
progressDialogDismiss();
if (e == null) {
showRegisterSuccess();
Intent mainIntent = new Intent(activity, MainActivity.class);
startActivity(mainIntent);
activity.finish();
} else {
switch (e.getCode()) {
case 202:
showError(activity
.getString(R.string.error_register_user_name_repeat));
break;
case 203:
showError(activity
.getString(R.string.error_register_email_repeat));
break;
default:
showError(activity
.getString(R.string.network_error));
break;
}
}
}
};
String username = userName.getText().toString();
String password = userPassword.getText().toString();
String email = userEmail.getText().toString();
AVService.signUp(username, password, email, signUpCallback);
}
private void progressDialogDismiss() {
if (progressDialog != null)
progressDialog.dismiss();
}
private void progressDialogShow() {
progressDialog = ProgressDialog
.show(activity,
activity.getResources().getText(
R.string.dialog_message_title),
activity.getResources().getText(
R.string.dialog_text_wait), true, false);
}
private void showRegisterSuccess() {
new AlertDialog.Builder(activity)
.setTitle(
activity.getResources().getString(
R.string.dialog_message_title))
.setMessage(
activity.getResources().getString(
R.string.success_register_success))
.setNegativeButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
}).show();
}
}