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

Commit 7d941f3e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Settings] Avoid NPE when user enter WifiCallingSettings back and...

Merge "[Settings] Avoid NPE when user enter WifiCallingSettings back and forth" into udc-d1-dev am: 1765c1dc

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23695884



Change-Id: Ic8c4d4ddb031a1d47ac359b78ba50b33048fab1b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents d9c0cf79 1765c1dc
Loading
Loading
Loading
Loading
+7 −21
Original line number Diff line number Diff line
@@ -94,7 +94,6 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
    private ListWithEntrySummaryPreference mButtonWfcRoamingMode;
    private Preference mUpdateAddress;

    private boolean mValidListener = false;
    private boolean mEditableWfcMode = true;
    private boolean mEditableWfcRoamingMode = true;
    private boolean mUseWfcHomeModeForRoaming = false;
@@ -104,7 +103,7 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
    private ProvisioningManager mProvisioningManager;
    private TelephonyManager mTelephonyManager;

    private final PhoneTelephonyCallback mTelephonyCallback = new PhoneTelephonyCallback();
    private PhoneTelephonyCallback mTelephonyCallback;

    private class PhoneTelephonyCallback extends TelephonyCallback implements
            TelephonyCallback.CallStateListener {
@@ -420,27 +419,20 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
    @Override
    public void onResume() {
        super.onResume();

        updateBody();

        final Context context = getActivity();
        if (queryImsState(mSubId).isWifiCallingSupported()) {
        Context context = getActivity();
        if (mTelephonyCallback == null && queryImsState(mSubId).isWifiCallingSupported()) {
            mTelephonyCallback = new PhoneTelephonyCallback();
            getTelephonyManagerForSub(mSubId).registerTelephonyCallback(
                    context.getMainExecutor(), mTelephonyCallback);

            mSwitchBar.addOnSwitchChangeListener(this);

            mValidListener = true;
        }

        context.registerReceiver(mIntentReceiver, mIntentFilter,
                Context.RECEIVER_EXPORTED_UNAUDITED);

        final Intent intent = getActivity().getIntent();
        if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
            showAlert(intent);
        }

        // Register callback for provisioning changes.
        registerProvisioningChangedCallback();
    }
@@ -448,19 +440,13 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
    @Override
    public void onPause() {
        super.onPause();

        final Context context = getActivity();

        if (mValidListener) {
            mValidListener = false;

        Context context = getActivity();
        if (mTelephonyCallback != null) {
            getTelephonyManagerForSub(mSubId).unregisterTelephonyCallback(mTelephonyCallback);

            mTelephonyCallback = null;
            mSwitchBar.removeOnSwitchChangeListener(this);
        }

        context.unregisterReceiver(mIntentReceiver);

        // Remove callback for provisioning changes.
        unregisterProvisioningChangedCallback();
    }