diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInActivity.java index 1a2f5cac1222..f2b4c7816cc6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInActivity.java @@ -127,6 +127,6 @@ private void slideInFragment(Fragment fragment, boolean shouldAddToBackStack) { if (shouldAddToBackStack) { fragmentTransaction.addToBackStack(null); } - fragmentTransaction.commit(); + fragmentTransaction.commitAllowingStateLoss(); } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInFragment.java index a2a84c859997..07cc3f2f2dd9 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/MagicLinkSignInFragment.java @@ -26,6 +26,7 @@ import org.wordpress.android.ui.accounts.SignInFragment; import org.wordpress.android.ui.main.WPMainActivity; import org.wordpress.android.ui.notifications.utils.SimperiumUtils; +import org.wordpress.android.util.AppLog; import org.wordpress.android.util.EditTextUtils; import java.util.HashMap; @@ -185,19 +186,23 @@ private void configureMagicLinkUI() { } private void showPasswordFieldAndFocus() { - endProgress(); - showPasswordField(); - mPasswordEditText.requestFocus(); - mSignInButton.setText(getString(R.string.sign_in)); - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE); - imm.showSoftInput(mPasswordEditText, InputMethodManager.SHOW_IMPLICIT); + if (isAdded()) { + endProgress(); + showPasswordField(); + mPasswordEditText.requestFocus(); + mSignInButton.setText(getString(R.string.sign_in)); + InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE); + imm.showSoftInput(mPasswordEditText, InputMethodManager.SHOW_IMPLICIT); + } } private void showPasswordField() { - mPasswordLayout.setVisibility(View.VISIBLE); - mForgotPassword.setVisibility(View.VISIBLE); - if (!mSelfHosted) { - mPasswordEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); + if (isAdded()) { + mPasswordLayout.setVisibility(View.VISIBLE); + mForgotPassword.setVisibility(View.VISIBLE); + if (!mSelfHosted) { + mPasswordEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); + } } } @@ -212,8 +217,8 @@ public void onResponse(JSONObject response) { } else { showPasswordFieldAndFocus(); } - } catch (JSONException e) { - e.printStackTrace(); + } catch (JSONException error) { + AppLog.e(AppLog.T.MAIN, error); showPasswordFieldAndFocus(); } }