// region Responders for buttons
  public void loginResponder(View v) {
    // Show the progress bar
    showProgress(true);
    // Check to see if any inputs are invalid
    String username = usernameField.getText().toString();
    String password = passwordField.getText().toString();
    if (TextUtils.isEmpty(username)) {
      // NOTIFY USER OF EMPTY FIELD
      Log.d(LOG_TAG, "Username cannot be empty");
      showProgress(false);
      usernameField.setError("Cannot be left blank");
      usernameField.requestFocus();
      return;
    } else if (TextUtils.isEmpty(password)) {
      // NOTIFY USER OF EMPTY FIELD
      Log.d(LOG_TAG, "Password cannot be empty");
      showProgress(false);
      passwordField.setError("Cannot be left blank");
      passwordField.requestFocus();
      return;
    } else if (username.length() > 30 || username.length() < 4) {
      // NOTIFY USER OF EMPTY FIELD
      Log.d(LOG_TAG, "Username must be between 4 and 30 characters.");
      showProgress(false);
      usernameField.setError("Must be between 4 and 30 characters");
      usernameField.requestFocus();
      return;
    } else if (password.length() < 6) {
      // NOTIFY USER OF EMPTY FIELD
      Log.d(LOG_TAG, "Password must be more than 6 characters.");
      showProgress(false);
      passwordField.setError("Must be greater than 6 characters");
      passwordField.requestFocus();
      return;
    }
    // Create a current user object - not synced with server yet
    CurrentUser u = new CurrentUser(username, password);

    // Attempt to login the user
    signInRT = u.getBaasUser().login(onComplete);
  }