Last modified: 2014-04-30 13:13:53 UTC
java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{432a5608 V.E..... R......D 0,0-1026,288} not attached to window manager at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:370) at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:299) at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:84) at android.app.Dialog.dismissDialog(Dialog.java:329) at android.app.Dialog.dismiss(Dialog.java:312) at org.wikipedia.login.LoginActivity$4.onFinish(LoginActivity.java:137) at org.wikipedia.login.LoginActivity$4.onFinish(LoginActivity.java:121) at org.wikipedia.concurrency.SaneAsyncTask$BackingAsyncTask.onPostExecute(SaneAsyncTask.java:110) at org.wikipedia.concurrency.AsyncTask.finish(AsyncTask.java:641) at org.wikipedia.concurrency.AsyncTask.access$600(AsyncTask.java:186) at org.wikipedia.concurrency.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:654) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:133) at dalvik.system.NativeStart.main(Native Method) java.lang.NullPointerException at org.wikipedia.editing.EditHandler.onMessage(EditHandler.java:32) at org.wikipedia.CommunicationBridge$2.handleMessage(CommunicationBridge.java:90) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:133) at dalvik.system.NativeStart.main(Native Method)
So what I tested: when logging in, if I tap the screen to dismiss the "logging in" dialog and tap back in time, after the login call returned: 1) If this is a failed login, java.lang.IllegalArgumentException above 2) If this is a successful login, the left drawer is not updated, and when I try to edit something, java.lang.NullPointerException above Generally we need to make sure all "executing" dialog is either not dismissable, or have proper "dismissed" handler to cancel any async tasks for the action.
Change 129888 had a related patch set uploaded by Yuvipanda: Mark non-cancelable dialogs as non-cancelable https://gerrit.wikimedia.org/r/129888
Change 129888 merged by Dbrant: Mark non-cancelable dialogs as non-cancelable https://gerrit.wikimedia.org/r/129888