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

Commit 72e5a7ea authored by Shen Lin's avatar Shen Lin
Browse files

Fix crash when showing error dialog in NetworkRequestDialogActivity

Fix: 253913148
Test: manual
Change-Id: I23593da1ef6d72806f22d3501b06a8e7abadb100
parent df8e9c63
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -27,12 +27,14 @@ import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.Looper;
import android.os.Message;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;

import com.android.settings.R;
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
@@ -143,7 +145,7 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements
        super.onPause();
    }

    private final Handler mHandler = new Handler() {
    private final Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
@@ -162,13 +164,17 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements
        dismissDialogs();

        // Throws error dialog.
        final FragmentManager fragmentManager = getSupportFragmentManager();
        if (fragmentManager.isDestroyed() || fragmentManager.isStateSaved()) {
            return;
        }
        final NetworkRequestErrorDialogFragment dialogFragment =
                NetworkRequestErrorDialogFragment.newInstance();
        dialogFragment.setRejectCallback(mUserSelectionCallback);
        final Bundle bundle = new Bundle();
        bundle.putSerializable(NetworkRequestErrorDialogFragment.DIALOG_TYPE, type);
        dialogFragment.setArguments(bundle);
        dialogFragment.show(getSupportFragmentManager(), TAG);
        dialogFragment.show(fragmentManager, TAG);
        mShowingErrorDialog = true;
    }