Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05e1c3a6 authored by Romain Guy's avatar Romain Guy
Browse files

Don't check whether dismiss() is called on the UI thread

Bug #6436642

An app invoking dismiss() during a draw pass could cause crashes.
This change makes the code simpler too.

Change-Id: Iba89a8522e23d02f87697cfeec6cc713a1462669
parent c9c23196
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ public class Dialog implements DialogInterface, Window.Callback,
    private boolean mShowing = false;
    private boolean mCanceled = false;

    private final Thread mUiThread;
    private final Handler mHandler = new Handler();

    private static final int DISMISS = 0x43;
@@ -162,7 +161,6 @@ public class Dialog implements DialogInterface, Window.Callback,
        w.setCallback(this);
        w.setWindowManager(mWindowManager, null, null);
        w.setGravity(Gravity.CENTER);
        mUiThread = Thread.currentThread();
        mListenersHandler = new ListenersHandler(this);
    }
    
@@ -299,12 +297,7 @@ public class Dialog implements DialogInterface, Window.Callback,
     * that in {@link #onStop}.
     */
    public void dismiss() {
        if (Thread.currentThread() != mUiThread) {
        mHandler.post(mDismissAction);
        } else {
            mHandler.removeCallbacks(mDismissAction);
            mDismissAction.run();
        }
    }

    void dismissDialog() {