summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/WifiCallingSettings.java
diff options
context:
space:
mode:
authorPavel Zhamaitsiak <pavelz@google.com>2015-08-07 12:02:38 -0700
committerPavel Zhamaitsiak <pavelz@google.com>2015-08-07 12:02:38 -0700
commit2fe4b3cb9eac95d80ebee95bff488a63277edfd1 (patch)
tree89043f0dd34eee9c5beb3fcd33cbfa3c872d6566 /src/com/android/settings/WifiCallingSettings.java
parent7930f872ad6b3f0e27c41d848131204eac0cd705 (diff)
downloadpackages_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.java8
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);