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;