diff --git a/api/current.txt b/api/current.txt index 202139cc757b2..fb487ee123d50 100644 --- a/api/current.txt +++ b/api/current.txt @@ -18802,6 +18802,7 @@ package android.net.wifi { public static final class WifiEnterpriseConfig.Eap { field public static final int AKA = 5; // 0x5 + field public static final int AKA_PRIME = 6; // 0x6 field public static final int NONE = -1; // 0xffffffff field public static final int PEAP = 0; // 0x0 field public static final int PWD = 3; // 0x3 diff --git a/api/system-current.txt b/api/system-current.txt index 8d8e0c3b517ff..84f9dbf563b23 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6333,6 +6333,7 @@ package android.bluetooth { method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]); method public int getScanMode(); method public int getState(); + method public boolean isBleScanAlwaysAvailable(); method public boolean isDiscovering(); method public boolean isEnabled(); method public boolean isMultipleAdvertisementSupported(); @@ -6349,6 +6350,7 @@ package android.bluetooth { field public static final java.lang.String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED"; field public static final java.lang.String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED"; field public static final java.lang.String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED"; + field public static final java.lang.String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; field public static final java.lang.String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"; field public static final java.lang.String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE"; field public static final java.lang.String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED"; @@ -20499,6 +20501,7 @@ package android.net.wifi { public static final class WifiEnterpriseConfig.Eap { field public static final int AKA = 5; // 0x5 + field public static final int AKA_PRIME = 6; // 0x6 field public static final int NONE = -1; // 0xffffffff field public static final int PEAP = 0; // 0x0 field public static final int PWD = 3; // 0x3 diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index be26eac31da92..edb768d0e1cb2 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -18,6 +18,7 @@ package android.bluetooth; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.SystemApi; import android.bluetooth.le.BluetoothLeAdvertiser; import android.bluetooth.le.BluetoothLeScanner; import android.bluetooth.le.ScanCallback; @@ -205,6 +206,23 @@ public final class BluetoothAdapter { public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE"; + /** + * Activity Action: Show a system activity that allows user to enable BLE scans even when + * Bluetooth is turned off.

+ * + * Notification of result of this activity is posted using + * {@link android.app.Activity#onActivityResult}. The resultCode will be + * {@link android.app.Activity#RESULT_OK} if BLE scan always available setting is turned on or + * {@link android.app.Activity#RESULT_CANCELED} if the user has rejected the request or an + * error occurred. + * + * @hide + */ + @SystemApi + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = + "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; + /** * Broadcast Action: Indicates the Bluetooth scan mode of the local Adapter * has changed. @@ -915,6 +933,22 @@ public final class BluetoothAdapter { return false; } + /** + * Returns {@code true} if BLE scan is always available, {@code false} otherwise.

+ * + * If this returns {@code true}, application can issue {@link BluetoothLeScanner#startScan} and + * fetch scan results even when Bluetooth is turned off.

+ * + * To change this setting, use {@link #ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE}. + * + * @hide + */ + @SystemApi + public boolean isBleScanAlwaysAvailable() { + // TODO: implement after Settings UI change. + return false; + } + /** * Returns whether peripheral mode is supported. * diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 8e5d245309ea0..f79ef35642a5a 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -6374,6 +6374,14 @@ public final class Settings { public static final String WIFI_SCAN_ALWAYS_AVAILABLE = "wifi_scan_always_enabled"; + /** + * Settings to allow BLE scans to be enabled even when Bluetooth is turned off for + * connectivity. + * @hide + */ + public static final String BLE_SCAN_ALWAYS_AVAILABLE = + "ble_scan_always_enabled"; + /** * Used to save the Wifi_ON state prior to tethering. * This state will be checked to restore Wifi after diff --git a/core/res/res/values-mcc310-mnc260/strings.xml b/core/res/res/values-mcc310-mnc260/strings.xml index 75b1b53761847..dc798775c70f4 100644 --- a/core/res/res/values-mcc310-mnc260/strings.xml +++ b/core/res/res/values-mcc310-mnc260/strings.xml @@ -25,9 +25,13 @@ REG09 - - - Wi-Fi Calling isn\'t available. Contact your carrier to enable Wi-Fi Calling. + + + To make calls and send messages over Wi-Fi, first ask your carrier to set up this service. Then turn on Wi-Fi calling again from Settings. + + + + Register with your carrier %s Wi-Fi Calling diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 1b2e952d7562e..e87924418db36 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -471,6 +471,18 @@ false + + 1 + + + 2 + + + 3 + + + 4 + false diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 8b6ed28d2fb4d..6cd31395a2914 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -249,10 +249,20 @@ Wi-Fi Calling - - + + + + %s + + Off + + Wi-Fi preferred + + Cellular preferred + + Wi-Fi only