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

Commit 70bf76a4 authored by SongFerngWang's avatar SongFerngWang
Browse files

Fix the settings crash when SimDialogActivity is null

The PreferredSimDialogFragment did updateDialog after SimDialogActivity
was finished. It caused the settings crash. This is similar to b/184899699

Bug: 220803944
Test: build pass
Change-Id: I9a5964400a63053e362632944b9e7aa8ec1bbea8
parent d5e3d2e1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -84,10 +84,11 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
    private void updateDialog(AlertDialog dialog) {
        Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);

        final SubscriptionInfo info = getPreferredSubscription();
        if (mWasDismissed) {
            return;
        }

        final SubscriptionInfo info = getPreferredSubscription();
        if (info == null) {
            dismiss();
            return;
+6 −0
Original line number Diff line number Diff line
@@ -83,6 +83,12 @@ public abstract class SimDialogFragment extends InstrumentedDialogFragment imple
        }
    }

    @Override
    public void dismiss() {
        mChangeListener.stop();
        super.dismiss();
    }

    public abstract void updateDialog();

    @Override
+4 −3
Original line number Diff line number Diff line
@@ -128,12 +128,13 @@ public class SimListDialogFragment extends SimDialogFragment {
    @Override
    public void updateDialog() {
        Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
        if (mWasDismissed) {
            return;
        }

        List<SubscriptionInfo> currentSubscriptions = getCurrentSubscriptions();
        if (currentSubscriptions == null) {
            if (!mWasDismissed) {
            dismiss();
            }
            return;
        }
        boolean includeAskEveryTime = getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME);