private void setUpParseLoginAndSignup() { parseLogin.setVisibility(View.VISIBLE); if (config.isParseLoginEmailAsUsername()) { usernameField.setHint(R.string.com_parse_ui_email_input_hint); usernameField.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); } if (config.getParseLoginButtonText() != null) { parseLoginButton.setText(config.getParseLoginButtonText()); } parseLoginButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { String username = usernameField.getText().toString(); String password = passwordField.getText().toString(); if (username.length() == 0) { if (config.isParseLoginEmailAsUsername()) { showToast(R.string.com_parse_ui_no_email_toast); } else { showToast(R.string.com_parse_ui_no_username_toast); } } else if (password.length() == 0) { showToast(R.string.com_parse_ui_no_password_toast); } else { loadingStart(true); ParseUser.logInInBackground( username, password, new LogInCallback() { @Override public void done(ParseUser user, ParseException e) { if (isActivityDestroyed()) { return; } if (user != null) { loadingFinish(); loginSuccess(); } else { loadingFinish(); if (e != null) { debugLog( getString(R.string.com_parse_ui_login_warning_parse_login_failed) + e.toString()); if (e.getCode() == ParseException.OBJECT_NOT_FOUND) { if (config.getParseLoginInvalidCredentialsToastText() != null) { showToast(config.getParseLoginInvalidCredentialsToastText()); } else { showToast( R.string.com_parse_ui_parse_login_invalid_credentials_toast); } passwordField.selectAll(); passwordField.requestFocus(); } else { showToast(R.string.com_parse_ui_parse_login_failed_unknown_toast); } } } } }); } } }); if (config.getParseSignupButtonText() != null) { parseSignupButton.setText(config.getParseSignupButtonText()); } parseSignupButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { String username = usernameField.getText().toString(); String password = passwordField.getText().toString(); loginFragmentListener.onSignUpClicked(username, password); } }); if (config.getParseLoginHelpText() != null) { parseLoginHelpButton.setText(config.getParseLoginHelpText()); } parseLoginHelpButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { loginFragmentListener.onLoginHelpClicked(); } }); }