Skip to content

Commit b187035

Browse files
committed
Issue/10930 email address error is preserved on rotation
1 parent ea896f6 commit b187035

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public class LoginEmailFragment extends LoginBaseFormFragment<LoginListener> imp
6464
private static final String KEY_IS_SOCIAL = "KEY_IS_SOCIAL";
6565
private static final String KEY_OLD_SITES_IDS = "KEY_OLD_SITES_IDS";
6666
private static final String KEY_REQUESTED_EMAIL = "KEY_REQUESTED_EMAIL";
67+
private static final String VALIDITY_EMAIL = "VALIDITY_EMAIL";
6768
private static final String LOG_TAG = LoginEmailFragment.class.getSimpleName();
6869
private static final int GOOGLE_API_CLIENT_ID = 1002;
6970
private static final int EMAIL_CREDENTIALS_REQUEST_CODE = 25100;
@@ -78,6 +79,8 @@ public class LoginEmailFragment extends LoginBaseFormFragment<LoginListener> imp
7879
private String mGoogleEmail;
7980
private String mRequestedEmail;
8081
private boolean mIsSocialLogin;
82+
private boolean mIsValidEmail = true
83+
;
8184

8285
protected WPLoginInputRow mEmailInput;
8386
protected boolean mHasDismissedEmailHints;
@@ -163,6 +166,7 @@ public void onClick(View view) {
163166
mAnalyticsListener.trackSocialButtonClick();
164167
ActivityUtils.hideKeyboardForced(mEmailInput.getEditText());
165168

169+
166170
if (NetworkUtils.checkConnection(getActivity())) {
167171
if (isAdded()) {
168172
mOldSitesIDs = SiteUtils.getCurrentSiteIds(mSiteStore, false);
@@ -280,6 +284,8 @@ public void onCreate(Bundle savedInstanceState) {
280284
}
281285
}
282286

287+
288+
283289
@Override
284290
public void onStart() {
285291
super.onStart();
@@ -288,6 +294,7 @@ public void onStart() {
288294
.enableAutoManage(getActivity(), GOOGLE_API_CLIENT_ID, LoginEmailFragment.this)
289295
.addApi(Auth.CREDENTIALS_API)
290296
.build();
297+
validEmail();
291298
}
292299

293300
@Override
@@ -312,6 +319,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
312319
mIsSocialLogin = savedInstanceState.getBoolean(KEY_IS_SOCIAL);
313320
mIsDisplayingEmailHints = savedInstanceState.getBoolean(KEY_IS_DISPLAYING_EMAIL_HINTS);
314321
mHasDismissedEmailHints = savedInstanceState.getBoolean(KEY_HAS_DISMISSED_EMAIL_HINTS);
322+
mIsValidEmail = savedInstanceState.getBoolean(VALIDITY_EMAIL);
315323
} else {
316324
mAnalyticsListener.trackEmailFormViewed();
317325
}
@@ -326,6 +334,7 @@ public void onSaveInstanceState(Bundle outState) {
326334
outState.putBoolean(KEY_IS_SOCIAL, mIsSocialLogin);
327335
outState.putBoolean(KEY_IS_DISPLAYING_EMAIL_HINTS, mIsDisplayingEmailHints);
328336
outState.putBoolean(KEY_HAS_DISMISSED_EMAIL_HINTS, mHasDismissedEmailHints);
337+
outState.putBoolean(VALIDITY_EMAIL, mIsValidEmail);
329338
}
330339

331340
protected void next(String email) {
@@ -334,10 +343,18 @@ protected void next(String email) {
334343
}
335344

336345
if (isValidEmail(email)) {
346+
mIsValidEmail = true;
337347
startProgress();
338348
mRequestedEmail = email;
339349
mDispatcher.dispatch(AccountActionBuilder.newIsAvailableEmailAction(email));
340350
} else {
351+
mIsValidEmail = false;
352+
showEmailError(R.string.email_invalid);
353+
}
354+
}
355+
356+
protected void validEmail() {
357+
if (!mIsValidEmail) {
341358
showEmailError(R.string.email_invalid);
342359
}
343360
}

0 commit comments

Comments
 (0)