diff options
author | Pavel Zhamaitsiak <pavelz@google.com> | 2015-08-07 12:02:38 -0700 |
---|---|---|
committer | Pavel Zhamaitsiak <pavelz@google.com> | 2015-08-07 12:02:38 -0700 |
commit | 2fe4b3cb9eac95d80ebee95bff488a63277edfd1 (patch) | |
tree | 89043f0dd34eee9c5beb3fcd33cbfa3c872d6566 /src/com/android/settings/WifiCallingSettings.java | |
parent | 7930f872ad6b3f0e27c41d848131204eac0cd705 (diff) | |
download | packages_apps_Settings-2fe4b3cb9eac95d80ebee95bff488a63277edfd1.zip packages_apps_Settings-2fe4b3cb9eac95d80ebee95bff488a63277edfd1.tar.gz packages_apps_Settings-2fe4b3cb9eac95d80ebee95bff488a63277edfd1.tar.bz2 |
Ensure that listener is removed only if it was added
Bug: 23016088
Change-Id: Ia6f17739ffc841ce8483e9c6c8132a94ecd62200
Diffstat (limited to 'src/com/android/settings/WifiCallingSettings.java')
-rw-r--r-- | src/com/android/settings/WifiCallingSettings.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index 62c7b3e..787ccb4 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -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); |