@@ -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