package com.talk.demo.account; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.EditText; import com.talk.demo.R; import com.talk.demo.util.NetworkUtilities; public class SignupActivity extends Activity { private static String TAG = "SignupActivity"; private EditText username; private AutoCompleteTextView email; private EditText password; private Button signupButton; private UserRegisterTask mRegisterTask = null; private String mUserName; private String mEmail; private String mPassword; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); username = (EditText)findViewById(R.id.et_username); email = (AutoCompleteTextView)findViewById(R.id.et_mail); password = (EditText)findViewById(R.id.et_password); signupButton = (Button)findViewById(R.id.bt_signup); TextWatcher watcher = new TextWatcher() { @Override public void afterTextChanged(Editable gitDirEditText) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } }; username.addTextChangedListener(watcher); email.addTextChangedListener(watcher); password.addTextChangedListener(watcher); signupButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { handleSignup(); } }); } /** * Register with username, email and password */ public void handleSignup() { mUserName = username.getText().toString(); mEmail = email.getText().toString(); mPassword = password.getText().toString(); mRegisterTask = new UserRegisterTask(); mRegisterTask.execute(); } public void onRegisterResult(String authToken) { boolean success = ((authToken != null) && (authToken.length() > 0)); Log.i(TAG, "onRegisterResult(" + success + ")"); finish(); } public void onRegisterCancel() { Log.i(TAG, "onRegisterCancel()"); // Our task is complete, so clear it out mRegisterTask = null; } private class UserRegisterTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... params) { return NetworkUtilities.signup(mUserName, mEmail, mPassword); } @Override protected void onPostExecute(final String authToken) { // On a successful authentication, call back into the Activity to // communicate the authToken (or null for an error). onRegisterResult(authToken); } @Override protected void onCancelled() { // If the action was canceled (by the user clicking the cancel // button in the progress dialog), then call back into the // activity to let it know. onRegisterCancel(); } } }