Obtain capabilities from chipset for it's support of various features
Change-Id: I01bdb31136be63e4e46fb4e054c902eddc5647ab
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 2287246..d75304f 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -1039,6 +1039,54 @@
}
/**
+ * Return true if the multi advertisement is supported by the chipset
+ *
+ * @hide
+ * @return true if Multiple Advertisement feature is supported
+ */
+ public boolean isMultipleAdvertisementSupported() {
+ if (getState() != STATE_ON) return false;
+ try {
+ return mService.isMultiAdvertisementSupported();
+ } catch (RemoteException e) {
+ Log.e(TAG, "failed to get isMultipleAdvertisementSupported, error: ", e);
+ }
+ return false;
+ }
+
+ /**
+ * Return true if offloaded filters are supported
+ *
+ * @hide
+ * @return true if chipset supports on-chip filtering
+ */
+ public boolean isOffloadedFilteringSupported() {
+ if (getState() != STATE_ON) return false;
+ try {
+ return mService.isOffloadedFilteringSupported();
+ } catch (RemoteException e) {
+ Log.e(TAG, "failed to get isOffloadedFilteringSupported, error: ", e);
+ }
+ return false;
+ }
+
+ /**
+ * Return true if offloaded scan batching is supported
+ *
+ * @hide
+ * @return true if chipset supports on-chip scan batching
+ */
+ public boolean isOffloadedScanBatchingSupported() {
+ if (getState() != STATE_ON) return false;
+ try {
+ return mService.isOffloadedScanBatchingSupported();
+ } catch (RemoteException e) {
+ Log.e(TAG, "failed to get isOffloadedScanBatchingSupported, error: ", e);
+ }
+ return false;
+ }
+
+ /**
* Returns whether BLE is currently advertising.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_PRIVILEGED}.
*
diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl
index df6037e..d334b91 100644
--- a/core/java/android/bluetooth/IBluetooth.aidl
+++ b/core/java/android/bluetooth/IBluetooth.aidl
@@ -84,4 +84,8 @@
ParcelFileDescriptor createSocketChannel(int type, in String serviceName, in ParcelUuid uuid, int port, int flag);
boolean configHciSnoopLog(boolean enable);
+
+ boolean isMultiAdvertisementSupported();
+ boolean isOffloadedFilteringSupported();
+ boolean isOffloadedScanBatchingSupported();
}