<string-array name="wifi_calling_mode_choices">
<item>Wi-Fi preferred</item>
<item>Cellular preferred</item>
+ <item>Wi-Fi only</item>
</string-array>
<string-array name="wifi_calling_mode_values">
<item>"2"</item>
<item>"1"</item>
+ <item>"0"</item>
+ </string-array>
+ <string-array name="wifi_calling_mode_choices_without_wifi_only">
+ <item>Wi-Fi preferred</item>
+ <item>Cellular preferred</item>
+ </string-array>
+ <string-array name="wifi_calling_mode_values_without_wifi_only">
+ <item>"2"</item>
+ <item>"1"</item>
</string-array>
<!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off -->
<string name="wifi_calling_off_explanation">When Wi-Fi calling is on, your phone can route calls via Wi-Fi networks or your carrier\u2019s network, depending on your preference and which signal is stronger. Before turning on this feature, check with your carrier regarding fees and other details.</string>
CarrierConfigManager configManager = (CarrierConfigManager)
getSystemService(Context.CARRIER_CONFIG_SERVICE);
+ boolean isWifiOnlySupported = true;
if (configManager != null) {
PersistableBundle b = configManager.getConfig();
if (b != null) {
mEditableWfcMode = b.getBoolean(CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
+ isWifiOnlySupported = b.getBoolean(
+ CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, true);
}
}
+
+ if (!isWifiOnlySupported) {
+ mButtonWfcMode.setEntries(R.array.wifi_calling_mode_choices_without_wifi_only);
+ mButtonWfcMode.setEntryValues(R.array.wifi_calling_mode_values_without_wifi_only);
+ }
}
@Override