@Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { Bundle args = getArguments(); config = ParseLoginConfig.fromBundle(args, getActivity()); minPasswordLength = DEFAULT_MIN_PASSWORD_LENGTH; if (config.getParseSignupMinPasswordLength() != null) { minPasswordLength = config.getParseSignupMinPasswordLength(); } String username = args.getString(USERNAME); String password = args.getString(PASSWORD); View v = inflater.inflate(R.layout.com_parse_ui_parse_signup_fragment, parent, false); v.setBackgroundColor(Color.parseColor("#FFFFFF")); ImageView appLogo = (ImageView) v.findViewById(R.id.app_logo); usernameField = (EditText) v.findViewById(R.id.signup_username_input); passwordField = (EditText) v.findViewById(R.id.signup_password_input); confirmPasswordField = (EditText) v.findViewById(R.id.signup_confirm_password_input); emailField = (EditText) v.findViewById(R.id.signup_email_input); nameField = (EditText) v.findViewById(R.id.signup_name_input); if (!config.isParseSignupNameFieldEnabled()) { nameField.setVisibility(View.INVISIBLE); } createAccountButton = (Button) v.findViewById(R.id.create_account); usernameField.setText(username); passwordField.setText(password); if (appLogo != null && config.getAppLogo() != null) { appLogo.setImageResource(config.getAppLogo()); } if (config.isParseLoginEmailAsUsername()) { usernameField.setHint(R.string.com_parse_ui_email_input_hint); usernameField.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); if (emailField != null) { emailField.setVisibility(View.GONE); } } if (config.getParseSignupSubmitButtonText() != null) { createAccountButton.setText(config.getParseSignupSubmitButtonText()); } createAccountButton.setOnClickListener(this); return v; }
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(); } }); }
@Override public void onClick(View v) { String username = usernameField.getText().toString(); String password = passwordField.getText().toString(); String passwordAgain = confirmPasswordField.getText().toString(); String email = null; if (config.isParseLoginEmailAsUsername()) { email = usernameField.getText().toString(); } else if (emailField != null) { email = emailField.getText().toString(); } String name = null; if (nameField != null) { name = nameField.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 if (password.length() < minPasswordLength) { showToast( getResources() .getQuantityString( R.plurals.com_parse_ui_password_too_short_toast, minPasswordLength, minPasswordLength)); } else if (passwordAgain.length() == 0) { showToast(R.string.com_parse_ui_reenter_password_toast); } else if (!password.equals(passwordAgain)) { showToast(R.string.com_parse_ui_mismatch_confirm_password_toast); confirmPasswordField.selectAll(); confirmPasswordField.requestFocus(); } else if (email != null && email.length() == 0) { showToast(R.string.com_parse_ui_no_email_toast); } else if (name != null && name.length() == 0) { showToast(R.string.com_parse_ui_no_name_toast); } else { ParseUser user = new ParseUser(); // Set standard fields user.setUsername(username); user.setPassword(password); user.setEmail(email); // Set additional custom fields only if the user filled it out if (name.length() != 0) { user.put(USER_OBJECT_NAME_FIELD, name); } loadingStart(); user.signUpInBackground( new SignUpCallback() { @Override public void done(ParseException e) { if (isActivityDestroyed()) { return; } if (e == null) { loadingFinish(); signupSuccess(); } else { loadingFinish(); if (e != null) { debugLog( getString(R.string.com_parse_ui_login_warning_parse_signup_failed) + e.toString()); switch (e.getCode()) { case ParseException.INVALID_EMAIL_ADDRESS: showToast(R.string.com_parse_ui_invalid_email_toast); break; case ParseException.USERNAME_TAKEN: showToast(R.string.com_parse_ui_username_taken_toast); break; case ParseException.EMAIL_TAKEN: showToast(R.string.com_parse_ui_email_taken_toast); break; default: showToast(R.string.com_parse_ui_signup_failed_unknown_toast); } } } } }); } }