From 2013ba8ed177a4329a9ad0517fdd20edebbaa14b Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Fri, 1 Apr 2016 08:41:18 -0700 Subject: [PATCH] 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 --- res/values/strings.xml | 10 ++++++++++ src/com/android/settings/WifiCallingSettings.java | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index 9f57d1559b7..58f0d4097da 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1965,10 +1965,20 @@ Wi-Fi preferred Cellular preferred + Wi-Fi only "2" "1" + "0" + + + Wi-Fi preferred + Cellular preferred + + + "2" + "1" 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. diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index da83cad0a3c..36022958d00 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -168,12 +168,20 @@ public class WifiCallingSettings extends SettingsPreferenceFragment 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