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

Commit 08881385 authored by Craig Mautner's avatar Craig Mautner Committed by Gerrit Code Review
Browse files

Merge "[ActivityManager] Prevent potential deadlock from system error dialog...

Merge "[ActivityManager] Prevent potential deadlock from system error dialog and InputMethodManager."
parents 52a154fe 7f1e3f3e
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -27,6 +27,11 @@ import android.view.WindowManager;
import android.widget.Button;

class BaseErrorDialog extends AlertDialog {
    private static final int ENABLE_BUTTONS = 0;
    private static final int DISABLE_BUTTONS = 1;

    private boolean mConsuming = true;

    public BaseErrorDialog(Context context) {
        super(context, com.android.internal.R.style.Theme_Dialog_AppError);

@@ -41,8 +46,8 @@ class BaseErrorDialog extends AlertDialog {

    public void onStart() {
        super.onStart();
        setEnabled(false);
        mHandler.sendMessageDelayed(mHandler.obtainMessage(0), 1000);
        mHandler.sendEmptyMessage(DISABLE_BUTTONS);
        mHandler.sendMessageDelayed(mHandler.obtainMessage(ENABLE_BUTTONS), 1000);
    }

    public boolean dispatchKeyEvent(KeyEvent event) {
@@ -71,12 +76,12 @@ class BaseErrorDialog extends AlertDialog {

    private Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            if (msg.what == 0) {
            if (msg.what == ENABLE_BUTTONS) {
                mConsuming = false;
                setEnabled(true);
            } else if (msg.what == DISABLE_BUTTONS) {
                setEnabled(false);
            }
        }
    };

    private boolean mConsuming = true;
}