diff options
Diffstat (limited to 'core/java/android/bluetooth')
7 files changed, 42 insertions, 5 deletions
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index 35e5050..4bc9cfc 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -2132,5 +2132,11 @@ public final class BluetoothAdapter { public void onBatchScanResults(List<ScanResult> results) { // no op } + + @Override + public void onFoundOrLost(boolean onFound, String address,int rssi, + byte[] advData) { + // no op + } } } diff --git a/core/java/android/bluetooth/BluetoothGatt.java b/core/java/android/bluetooth/BluetoothGatt.java index 8b7b0af..a287b3c 100644 --- a/core/java/android/bluetooth/BluetoothGatt.java +++ b/core/java/android/bluetooth/BluetoothGatt.java @@ -631,6 +631,15 @@ public final class BluetoothGatt implements BluetoothProfile { public void onBatchScanResults(List<ScanResult> results) { // no op } + + /** + * @hide + */ + @Override + public void onFoundOrLost(boolean onFound, String address, int rssi, + byte[] advData) { + // no op. + } }; /*package*/ BluetoothGatt(Context context, IBluetoothGatt iGatt, BluetoothDevice device, diff --git a/core/java/android/bluetooth/IBluetoothGattCallback.aidl b/core/java/android/bluetooth/IBluetoothGattCallback.aidl index c18d357..af218eb 100644 --- a/core/java/android/bluetooth/IBluetoothGattCallback.aidl +++ b/core/java/android/bluetooth/IBluetoothGattCallback.aidl @@ -68,4 +68,6 @@ oneway interface IBluetoothGattCallback { void onMultiAdvertiseCallback(in int status); void onConfigureMTU(in String address, in int mtu, in int status); void onConnectionCongested(in String address, in boolean congested); + void onFoundOrLost(in boolean onFound, in String address, in int rssi, + in byte[] advData); } diff --git a/core/java/android/bluetooth/le/BluetoothLeAdvertiser.java b/core/java/android/bluetooth/le/BluetoothLeAdvertiser.java index 6b21ce2..d395d43 100644 --- a/core/java/android/bluetooth/le/BluetoothLeAdvertiser.java +++ b/core/java/android/bluetooth/le/BluetoothLeAdvertiser.java @@ -386,6 +386,12 @@ public final class BluetoothLeAdvertiser { public void onBatchScanResults(List<ScanResult> results) { // no op } + + @Override + public void onFoundOrLost(boolean onFound, String address, int rssi, + byte[] advData) { + // no op + } } private void postCallbackFailure(final AdvertiseCallback callback, final int error) { diff --git a/core/java/android/bluetooth/le/BluetoothLeScanner.java b/core/java/android/bluetooth/le/BluetoothLeScanner.java index 863282a..d5a4728 100644 --- a/core/java/android/bluetooth/le/BluetoothLeScanner.java +++ b/core/java/android/bluetooth/le/BluetoothLeScanner.java @@ -421,6 +421,25 @@ public final class BluetoothLeScanner { public void onConnectionCongested(String address, boolean congested) { // no op } + + @Override + public void onFoundOrLost(boolean onFound, String address, int rssi, + byte[] advData) { + if (DBG) { + Log.d(TAG, "onFoundOrLost() - Device=" + address); + } + // ToDo: Fix issue with underlying reporting from chipset + BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice( + address); + long scanNanos = SystemClock.elapsedRealtimeNanos(); + ScanResult result = new ScanResult(device, advData, rssi, + scanNanos); + if (onFound) { + mScanCallback.onAdvertisementFound(result); + } else { + mScanCallback.onAdvertisementLost(result); + } + } } private void postCallbackError(final ScanCallback callback, final int errorCode) { diff --git a/core/java/android/bluetooth/le/ScanCallback.java b/core/java/android/bluetooth/le/ScanCallback.java index f5d7a9a..593f7f8 100644 --- a/core/java/android/bluetooth/le/ScanCallback.java +++ b/core/java/android/bluetooth/le/ScanCallback.java @@ -56,7 +56,6 @@ public abstract class ScanCallback { * Callback when the BLE advertisement is found for the first time. * * @param result The Bluetooth LE scan result when the onFound event is triggered. - * @hide */ public abstract void onAdvertisementFound(ScanResult result); @@ -65,7 +64,6 @@ public abstract class ScanCallback { * lost. * * @param result The Bluetooth scan result that was last found. - * @hide */ public abstract void onAdvertisementLost(ScanResult result); diff --git a/core/java/android/bluetooth/le/ScanSettings.java b/core/java/android/bluetooth/le/ScanSettings.java index 3bb39b3..7c0f9e1 100644 --- a/core/java/android/bluetooth/le/ScanSettings.java +++ b/core/java/android/bluetooth/le/ScanSettings.java @@ -44,13 +44,10 @@ public final class ScanSettings implements Parcelable { public static final int CALLBACK_TYPE_ON_UPDATE = 0; /** * Callback when a bluetooth advertisement is found for the first time. - * @hide */ public static final int CALLBACK_TYPE_ON_FOUND = 1; /** * Callback when a bluetooth advertisement is found for the first time, then lost. - * - * @hide */ public static final int CALLBACK_TYPE_ON_LOST = 2; |