Adding "wifi only" option for wifi calling.
- Added "wifi-only" option to the list of wifi calling modes. - Added code in settings initialization to check whether the carrier supports including the wifi-only option. If it does not, changes the entries/values to a ser which does not include the wifi-only option. Bug: 27858149 Change-Id: Ib02a97afcf6f2722c28b7a4d9c241774944c52d0
This commit is contained in:
@@ -1965,10 +1965,20 @@
|
|||||||
<string-array name="wifi_calling_mode_choices">
|
<string-array name="wifi_calling_mode_choices">
|
||||||
<item>Wi-Fi preferred</item>
|
<item>Wi-Fi preferred</item>
|
||||||
<item>Cellular preferred</item>
|
<item>Cellular preferred</item>
|
||||||
|
<item>Wi-Fi only</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="wifi_calling_mode_values">
|
<string-array name="wifi_calling_mode_values">
|
||||||
<item>"2"</item>
|
<item>"2"</item>
|
||||||
<item>"1"</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>
|
</string-array>
|
||||||
<!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off -->
|
<!-- 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>
|
<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>
|
||||||
|
@@ -168,12 +168,20 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
CarrierConfigManager configManager = (CarrierConfigManager)
|
CarrierConfigManager configManager = (CarrierConfigManager)
|
||||||
getSystemService(Context.CARRIER_CONFIG_SERVICE);
|
getSystemService(Context.CARRIER_CONFIG_SERVICE);
|
||||||
|
boolean isWifiOnlySupported = true;
|
||||||
if (configManager != null) {
|
if (configManager != null) {
|
||||||
PersistableBundle b = configManager.getConfig();
|
PersistableBundle b = configManager.getConfig();
|
||||||
if (b != null) {
|
if (b != null) {
|
||||||
mEditableWfcMode = b.getBoolean(CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
|
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
|
@Override
|
||||||
|
Reference in New Issue
Block a user