@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); if (AppUserSingleton.getInstance().getUser() != null) { AppUserSingleton.getInstance().logOut(); } buttonSignup = (Button) findViewById(R.id.buttonSignup); buttonLogin = (Button) findViewById(R.id.buttonLogin); /** Wire up the edit texts used for signing up or logging in. */ editTextFullName = (EditText) findViewById(R.id.editTextFullName); editTextUserNameSignup = (EditText) findViewById(R.id.editTextUserNameSignup); editTextUserNameLogin = (EditText) findViewById(R.id.editTextUserNameLogin); editTextEmail = (EditText) findViewById(R.id.editTextEmail); editTextMotto = (EditText) findViewById(R.id.editTextMotto); editTextUserNameLogin = (EditText) findViewById(R.id.editTextUserNameLogin); buttonSignup.setOnClickListener(this); buttonLogin.setOnClickListener(this); }
@Override protected List<Thing> doInBackground(String... params) { List<Thing> res = ShareoData.getInstance().getGamesByField(mSearchField, mQueryText); List<Thing> filtered = new ArrayList<>(); for (Thing t : res) { if (t.getOwner().getJestID().equals(AppUserSingleton.getInstance().getUser().getJestID()) || t.getStatus() == Thing.Status.BORROWED) { continue; } filtered.add(t); } return filtered; }
/** * Sign up or login user depending on button clicked. Notify user if login/create fail. * * @param v */ public void onClick(View v) { final Intent mainIntent = new Intent(this, MainActivity.class); switch (v.getId()) { /** They clicked on button signup, so parse the signup of a new user. */ case R.id.buttonSignup: Log.d(TAG, "Clicked Button Signup"); /** * Store the fields userNameSignup, fullName, email, and motto based upon what the user * entered. */ parseSignUp(); /** * Only if the email is valid(i.e. they entered in [email protected]), do we parse the signup. */ if (isValidEmail(email)) { /** * Create a new user by calling the relevant backend call after collecting the fields * inputted. */ AppUserSingleton.getInstance() .createUser( userNameSignup, fullName, email, motto, new CallbackInterface() { @Override public void onSuccess() { startActivity(mainIntent); } @Override public void onFailure() { runOnUiThread( new Runnable() { @Override public void run() { Toast z = Toast.makeText( LoginActivity.this, "User already exists. Please choose a different username.", Toast.LENGTH_SHORT); z.show(); } }); } }); } else { Log.d(TAG, "Invalid Email"); Toast z = Toast.makeText(this, "Invalid Email Inputted", Toast.LENGTH_SHORT); z.show(); } break; /** * They clicked the login button, so get their username and log them in if the ID exists. */ case R.id.buttonLogin: Log.d(TAG, "Clicked Button Login"); /** Store the relevant field userNameLogin based upon what the user entered. */ parseLogin(); AppUserSingleton.getInstance() .logIn( userNameLogin, new CallbackInterface() { @Override public void onSuccess() { startActivity(mainIntent); } @Override public void onFailure() { runOnUiThread( new Runnable() { @Override public void run() { Toast z = Toast.makeText( LoginActivity.this, "No user exists. Please check spelling and try again.", Toast.LENGTH_SHORT); z.show(); } }); } }); break; } }