diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index 3e9da17c65b..5f117f6c997 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -253,15 +253,6 @@ public class WifiCallingSettings extends SettingsPreferenceFragment final Context context = getActivity(); - if (ImsManager.isWfcEnabledByPlatform(context)) { - TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); - - mSwitchBar.addOnSwitchChangeListener(this); - - mValidListener = true; - } - // NOTE: Buttons will be enabled/disabled in mPhoneStateListener boolean wfcEnabled = ImsManager.isWfcEnabledByUser(context) && ImsManager.isNonTtyOrTtyOnVolteEnabled(context); @@ -272,6 +263,15 @@ public class WifiCallingSettings extends SettingsPreferenceFragment mButtonWfcRoamingMode.setValue(Integer.toString(wfcRoamingMode)); updateButtonWfcMode(context, wfcEnabled, wfcMode, wfcRoamingMode); + if (ImsManager.isWfcEnabledByPlatform(context)) { + TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); + tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); + + mSwitchBar.addOnSwitchChangeListener(this); + + mValidListener = true; + } + context.registerReceiver(mIntentReceiver, mIntentFilter); Intent intent = getActivity().getIntent();