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

Commit 8cf54264 authored by Pavel Zhamaitsiak's avatar Pavel Zhamaitsiak Committed by Android (Google) Code Review
Browse files

Merge "Ensure that listener is removed only if it was added" into mnc-dev

parents 67f0739c 2fe4b3cb
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -57,6 +57,8 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
    private ListPreference mButtonWfcMode;
    private TextView mEmptyView;

    private boolean mValidListener = false;

    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
        /*
         * Enable/disable controls when in/out of a call and depending on
@@ -172,6 +174,8 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

            mSwitchBar.addOnSwitchChangeListener(this);

            mValidListener = true;
        }

        // NOTE: Buttons will be enabled/disabled in mPhoneStateListener
@@ -196,7 +200,9 @@ public class WifiCallingSettings extends SettingsPreferenceFragment

        final Context context = getActivity();

        if (ImsManager.isWfcEnabledByPlatform(getActivity())) {
        if (mValidListener) {
            mValidListener = false;

            TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);