From d3b0c37ef22389ea3496c8d93d5e73e5626282a1 Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Thu, 23 Feb 2017 14:33:49 -0800 Subject: [PATCH] WiFiCallingSettings: don't start carrier app in onResume onResume initialize UI before registering switch change listener. So that listener is not invoked in UI initialization, but only real switch change by user. Bug: 33680334 Test: make Test: manual - carrier app is not invoked in onResume Change-Id: I7ca1eb1eab214b50c8de72946590c1ecb676d4df --- .../android/settings/WifiCallingSettings.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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();