Merge "Bluetooth 5 feature check API (1/2)"

This commit is contained in:
Jakub Pawlowski
2017-03-08 19:02:11 +00:00
committed by Gerrit Code Review
5 changed files with 88 additions and 0 deletions

View File

@@ -6703,6 +6703,10 @@ package android.bluetooth {
method public int getState();
method public boolean isDiscovering();
method public boolean isEnabled();
method public boolean isLe2MPhySupported();
method public boolean isLeCodedPhySupported();
method public boolean isLeExtendedAdvertisingSupported();
method public boolean isLePeriodicAdvertisingSupported();
method public boolean isMultipleAdvertisementSupported();
method public boolean isOffloadedFilteringSupported();
method public boolean isOffloadedScanBatchingSupported();

View File

@@ -7002,7 +7002,11 @@ package android.bluetooth {
method public boolean isBleScanAlwaysAvailable();
method public boolean isDiscovering();
method public boolean isEnabled();
method public boolean isLe2MPhySupported();
method public boolean isLeCodedPhySupported();
method public boolean isLeEnabled();
method public boolean isLeExtendedAdvertisingSupported();
method public boolean isLePeriodicAdvertisingSupported();
method public boolean isMultipleAdvertisementSupported();
method public boolean isOffloadedFilteringSupported();
method public boolean isOffloadedScanBatchingSupported();

View File

@@ -6712,6 +6712,10 @@ package android.bluetooth {
method public int getState();
method public boolean isDiscovering();
method public boolean isEnabled();
method public boolean isLe2MPhySupported();
method public boolean isLeCodedPhySupported();
method public boolean isLeExtendedAdvertisingSupported();
method public boolean isLePeriodicAdvertisingSupported();
method public boolean isMultipleAdvertisementSupported();
method public boolean isOffloadedFilteringSupported();
method public boolean isOffloadedScanBatchingSupported();

View File

@@ -1384,6 +1384,78 @@ public final class BluetoothAdapter {
return false;
}
/**
* Return true if LE 2M PHY feature is supported.
*
* @return true if chipset supports LE 2M PHY feature
*/
public boolean isLe2MPhySupported() {
if (!getLeAccess()) return false;
try {
mServiceLock.readLock().lock();
if (mService != null) return mService.isLe2MPhySupported();
} catch (RemoteException e) {
Log.e(TAG, "failed to get isExtendedAdvertisingSupported, error: ", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Return true if LE Coded PHY feature is supported.
*
* @return true if chipset supports LE Coded PHY feature
*/
public boolean isLeCodedPhySupported() {
if (!getLeAccess()) return false;
try {
mServiceLock.readLock().lock();
if (mService != null) return mService.isLeCodedPhySupported();
} catch (RemoteException e) {
Log.e(TAG, "failed to get isLeCodedPhySupported, error: ", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Return true if LE Periodic Advertising feature is supported.
*
* @return true if chipset supports LE Periodic Advertising feature
*/
public boolean isLeExtendedAdvertisingSupported() {
if (!getLeAccess()) return false;
try {
mServiceLock.readLock().lock();
if (mService != null) return mService.isLeExtendedAdvertisingSupported();
} catch (RemoteException e) {
Log.e(TAG, "failed to get isLeExtendedAdvertisingSupported, error: ", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Return true if LE Periodic Advertising feature is supported.
*
* @return true if chipset supports LE Periodic Advertising feature
*/
public boolean isLePeriodicAdvertisingSupported() {
if (!getLeAccess()) return false;
try {
mServiceLock.readLock().lock();
if (mService != null) return mService.isLePeriodicAdvertisingSupported();
} catch (RemoteException e) {
Log.e(TAG, "failed to get isLePeriodicAdvertisingSupported, error: ", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Return true if hardware has entries available for matching beacons
*

View File

@@ -104,6 +104,10 @@ interface IBluetooth
boolean isOffloadedFilteringSupported();
boolean isOffloadedScanBatchingSupported();
boolean isActivityAndEnergyReportingSupported();
boolean isLe2MPhySupported();
boolean isLeCodedPhySupported();
boolean isLeExtendedAdvertisingSupported();
boolean isLePeriodicAdvertisingSupported();
BluetoothActivityEnergyInfo reportActivityInfo();
/**