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
diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java
index 3e9da17..5f117f6 100644
--- a/src/com/android/settings/WifiCallingSettings.java
+++ b/src/com/android/settings/WifiCallingSettings.java
@@ -253,15 +253,6 @@
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 @@
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();