Merge "Fix bug of phoneListener always listens to default subId in WFC."

This commit is contained in:
Xiangyu/Malcolm Chen
2018-07-13 00:09:12 +00:00
committed by Android (Google) Code Review

View File

@@ -89,6 +89,7 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private ImsManager mImsManager;
private TelephonyManager mTelephonyManager;
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
/*
@@ -238,6 +239,9 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
mImsManager = ImsManager.getInstance(
getActivity(), SubscriptionManager.getPhoneId(mSubId));
mTelephonyManager = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
.createForSubscriptionId(mSubId);
mButtonWfcMode = (ListPreference) findPreference(BUTTON_WFC_MODE);
mButtonWfcMode.setOnPreferenceChangeListener(this);
@@ -319,9 +323,7 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
updateBody();
if (mImsManager.isWfcEnabledByPlatform()) {
TelephonyManager tm =
(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
mSwitchBar.addOnSwitchChangeListener(this);