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

Commit 78411934 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 am: ee77d651 am: f5acc230

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



Change-Id: Ibfbd74b4c9f2298fe210b22dccf36acb71f3c99c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0f2e5816 f5acc230
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();
    }