Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'
Change-Id: If474effff986156771d4da080d373b9bcf352c3d
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index d6bb030..f2fcb49 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -47,6 +47,7 @@
import android.widget.ListAdapter;
import android.widget.Toast;
+import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.internal.telephony.CallForwardInfo;
import com.android.internal.telephony.Phone;
@@ -1238,6 +1239,38 @@
} else {
prefSet.removePreference(mEnableVideoCalling);
}
+
+ if (ImsManager.isVolteEnabledByPlatform(this) &&
+ !mPhone.getContext().getResources().getBoolean(
+ com.android.internal.R.bool.config_carrier_volte_tty_supported)) {
+ TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+ /* tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); */
+ }
+
+ Preference wifiCallingSettings = findPreference(
+ getResources().getString(R.string.wifi_calling_settings_key));
+ if (!ImsManager.isWfcEnabledByPlatform(mPhone.getContext())) {
+ prefSet.removePreference(wifiCallingSettings);
+ } else {
+ int resId = R.string.wifi_calling_off_summary;
+ if (ImsManager.isWfcEnabledByUser(mPhone.getContext())) {
+ int wfcMode = ImsManager.getWfcMode(mPhone.getContext());
+ switch (wfcMode) {
+ case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+ resId = R.string.wfc_mode_wifi_only_summary;
+ break;
+ case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+ resId = R.string.wfc_mode_cellular_preferred_summary;
+ break;
+ case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+ resId = R.string.wfc_mode_wifi_preferred_summary;
+ break;
+ default:
+ if (DBG) log("Unexpected WFC mode value: " + wfcMode);
+ }
+ }
+ wifiCallingSettings.setSummary(resId);
+ }
}
@Override