diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index 196e4bdb461..78f9de68adf 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -252,15 +252,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); @@ -271,6 +262,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();