Skip to content

Commit 2db4219

Browse files
committed
Merge pull request #97 from ParsePlatform/wangmengyan.allow_disable_name_field_in_signup_form
Allow disable name field in signup form
2 parents 462ca97 + e7a58e4 commit 2db4219

File tree

3 files changed

+39
-4
lines changed

3 files changed

+39
-4
lines changed

ParseUI-Login/src/main/java/com/parse/ui/ParseLoginBuilder.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,18 @@ public ParseLoginBuilder setParseSignupSubmitButtonText(int id) {
210210
return setParseSignupSubmitButtonText(maybeGetString(id));
211211
}
212212

213+
/**
214+
* Whether to show the name field in the signup form. Default is true.
215+
*
216+
* @param enabled
217+
* Whether to show the name field in the signup form.
218+
* @return The caller instance to allow chaining.
219+
*/
220+
public ParseLoginBuilder setParseSignupNameFieldEnabled(boolean enabled) {
221+
config.setParseSignupNameFieldEnabled(enabled);
222+
return this;
223+
}
224+
213225
/**
214226
* Whether to show the Facebook login option on the login screen. Default is
215227
* false.

ParseUI-Login/src/main/java/com/parse/ui/ParseLoginConfig.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class ParseLoginConfig {
4747
public static final String PARSE_LOGIN_EMAIL_AS_USERNAME = "com.parse.ui.ParseLoginActivity.PARSE_LOGIN_EMAIL_AS_USERNAME";
4848
public static final String PARSE_SIGNUP_MIN_PASSWORD_LENGTH = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_MIN_PASSWORD_LENGTH";
4949
public static final String PARSE_SIGNUP_SUBMIT_BUTTON_TEXT = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_SUBMIT_BUTTON_TEXT";
50+
public static final String PARSE_SIGNUP_NAME_FIELD_ENABLED = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_NAME_FIELD_ENABLED";
5051
public static final String FACEBOOK_LOGIN_ENABLED = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_ENABLED";
5152
public static final String FACEBOOK_LOGIN_BUTTON_TEXT = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_BUTTON_TEXT";
5253
public static final String FACEBOOK_LOGIN_PERMISSIONS = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_PERMISSIONS";
@@ -70,6 +71,7 @@ public class ParseLoginConfig {
7071
private Boolean parseLoginEmailAsUsername;
7172
private Integer parseSignupMinPasswordLength;
7273
private CharSequence parseSignupSubmitButtonText;
74+
private Boolean parseSignupNameFieldEnabled;
7375

7476
private Boolean facebookLoginEnabled;
7577
private CharSequence facebookLoginButtonText;
@@ -160,6 +162,18 @@ public void setParseSignupSubmitButtonText(
160162
this.parseSignupSubmitButtonText = parseSignupSubmitButtonText;
161163
}
162164

165+
public Boolean isParseSignupNameFieldEnabled() {
166+
if (parseSignupNameFieldEnabled != null) {
167+
return parseSignupNameFieldEnabled;
168+
} else {
169+
return true;
170+
}
171+
}
172+
173+
public void setParseSignupNameFieldEnabled(Boolean parseSignupNameFieldEnabled) {
174+
this.parseSignupNameFieldEnabled = parseSignupNameFieldEnabled;
175+
}
176+
163177
public boolean isFacebookLoginEnabled() {
164178
if (facebookLoginEnabled != null) {
165179
return facebookLoginEnabled;
@@ -267,6 +281,9 @@ public Bundle toBundle() {
267281
bundle.putCharSequence(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT,
268282
parseSignupSubmitButtonText);
269283
}
284+
if (parseSignupNameFieldEnabled != null) {
285+
bundle.putBoolean(PARSE_SIGNUP_NAME_FIELD_ENABLED, parseSignupNameFieldEnabled);
286+
}
270287

271288
if (facebookLoginEnabled != null) {
272289
bundle.putBoolean(FACEBOOK_LOGIN_ENABLED, facebookLoginEnabled);
@@ -336,6 +353,9 @@ public static ParseLoginConfig fromBundle(Bundle bundle, Context context) {
336353
if (keys.contains(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT)) {
337354
config.setParseSignupSubmitButtonText(bundle.getCharSequence(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT));
338355
}
356+
if (keys.contains(PARSE_SIGNUP_NAME_FIELD_ENABLED)) {
357+
config.setParseSignupNameFieldEnabled(bundle.getBoolean(PARSE_SIGNUP_NAME_FIELD_ENABLED));
358+
}
339359

340360
if (keys.contains(FACEBOOK_LOGIN_ENABLED)) {
341361
config.setFacebookLoginEnabled(bundle.getBoolean(FACEBOOK_LOGIN_ENABLED));

ParseUI-Login/src/main/java/com/parse/ui/ParseSignupFragment.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup parent,
7979
minPasswordLength = config.getParseSignupMinPasswordLength();
8080
}
8181

82-
String username = (String) args.getString(USERNAME);
83-
String password = (String) args.getString(PASSWORD);
82+
String username = args.getString(USERNAME);
83+
String password = args.getString(PASSWORD);
8484

8585
View v = inflater.inflate(R.layout.com_parse_ui_parse_signup_fragment,
8686
parent, false);
@@ -91,6 +91,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup parent,
9191
.findViewById(R.id.signup_confirm_password_input);
9292
emailField = (EditText) v.findViewById(R.id.signup_email_input);
9393
nameField = (EditText) v.findViewById(R.id.signup_name_input);
94+
if (!config.isParseSignupNameFieldEnabled()) {
95+
nameField.setVisibility(View.INVISIBLE);
96+
}
9497
createAccountButton = (Button) v.findViewById(R.id.create_account);
9598

9699
usernameField.setText(username);
@@ -172,7 +175,7 @@ public void onClick(View v) {
172175
confirmPasswordField.requestFocus();
173176
} else if (email != null && email.length() == 0) {
174177
showToast(R.string.com_parse_ui_no_email_toast);
175-
} else if (name != null && name.length() == 0) {
178+
} else if (name != null && name.length() == 0 && config.isParseSignupNameFieldEnabled()) {
176179
showToast(R.string.com_parse_ui_no_name_toast);
177180
} else {
178181
ParseUser user = new ParseUser();
@@ -183,7 +186,7 @@ public void onClick(View v) {
183186
user.setEmail(email);
184187

185188
// Set additional custom fields only if the user filled it out
186-
if (name.length() != 0) {
189+
if (name.length() != 0 && config.isParseSignupNameFieldEnabled()) {
187190
user.put(USER_OBJECT_NAME_FIELD, name);
188191
}
189192

0 commit comments

Comments
 (0)