Merge "Expose a few system APIs for BLE scan only mode." into mnc-dev
diff --git a/api/system-current.txt b/api/system-current.txt
index 44d8c8e..1da8d88 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -6486,7 +6486,9 @@
method public static boolean checkBluetoothAddress(java.lang.String);
method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile);
method public boolean disable();
+ method public boolean disableBLE();
method public boolean enable();
+ method public boolean enableBLE();
method public java.lang.String getAddress();
method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser();
method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner();
@@ -6502,6 +6504,7 @@
method public boolean isBleScanAlwaysAvailable();
method public boolean isDiscovering();
method public boolean isEnabled();
+ method public boolean isLeEnabled();
method public boolean isMultipleAdvertisementSupported();
method public boolean isOffloadedFilteringSupported();
method public boolean isOffloadedScanBatchingSupported();
@@ -6512,6 +6515,7 @@
method public deprecated boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
method public deprecated boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback);
method public deprecated void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
+ field public static final java.lang.String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
field public static final java.lang.String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
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";
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index b22b914..8107a97 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -410,6 +410,7 @@
* Broadcast Action: The Bluetooth adapter state has changed in LE only mode.
* @hide
*/
+ @SystemApi
public static final String ACTION_BLE_STATE_CHANGED =
"android.bluetooth.adapter.action.BLE_STATE_CHANGED";
@@ -620,17 +621,18 @@
* @return true if the local Bluetooth LE adapter is turned on
* @hide
*/
- public boolean isLeEnabled() {
- final int state = getLeState();
- if (state == BluetoothAdapter.STATE_ON) {
- if (DBG) Log.d (TAG, "STATE_ON");
- } else if (state == BluetoothAdapter.STATE_BLE_ON) {
- if (DBG) Log.d (TAG, "STATE_BLE_ON");
- } else {
- if (DBG) Log.d (TAG, "STATE_OFF");
- return false;
- }
- return true;
+ @SystemApi
+ public boolean isLeEnabled() {
+ final int state = getLeState();
+ if (state == BluetoothAdapter.STATE_ON) {
+ if (DBG) Log.d (TAG, "STATE_ON");
+ } else if (state == BluetoothAdapter.STATE_BLE_ON) {
+ if (DBG) Log.d (TAG, "STATE_BLE_ON");
+ } else {
+ if (DBG) Log.d (TAG, "STATE_OFF");
+ return false;
+ }
+ return true;
}
/**
@@ -680,6 +682,7 @@
* immediate error
* @hide
*/
+ @SystemApi
public boolean disableBLE() {
if (!isBleScanAlwaysAvailable()) return false;
@@ -742,6 +745,7 @@
* immediate error
* @hide
*/
+ @SystemApi
public boolean enableBLE() {
if (!isBleScanAlwaysAvailable()) return false;