diff --git a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java index 3acc349f3..c66c82910 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java @@ -50,11 +50,11 @@ public class LoginActivity extends AccountAuthenticatorActivity { Button signupButton; EditText usernameEdit; EditText passwordEdit; + ProgressDialog dialog; private class LoginTask extends AsyncTask { Activity context; - ProgressDialog dialog; String username; String password; @@ -221,6 +221,20 @@ public class LoginActivity extends AccountAuthenticatorActivity { } } + + @Override + protected void onDestroy() { + try { + // To prevent leaked window when finish() is called, see http://stackoverflow.com/questions/32065854/activity-has-leaked-window-at-alertdialog-show-method + if (dialog != null && dialog.isShowing()) { + dialog.dismiss(); + } + } catch (Exception e) { + e.printStackTrace(); + } + super.onDestroy(); + } + private void performLogin() { String username = usernameEdit.getText().toString(); // Because Mediawiki is upercase-first-char-then-case-sensitive :)