summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorPrerepa Viswanadham <dham@google.com>2014-07-09 12:51:59 -0700
committerPrerepa Viswanadham <dham@google.com>2014-07-09 21:07:13 +0000
commit8f2e74cac282afa0bcf98f5d7131268147d12efe (patch)
treea06808b48d2a01ff73e8d7f55332538a82b32970 /core/java/android
parentdbbf07a5c7f514f2168f236e1df3b2ca70d4ab2f (diff)
downloadframeworks_base-8f2e74cac282afa0bcf98f5d7131268147d12efe.zip
frameworks_base-8f2e74cac282afa0bcf98f5d7131268147d12efe.tar.gz
frameworks_base-8f2e74cac282afa0bcf98f5d7131268147d12efe.tar.bz2
OnFound and Onlost callback integration
Change-Id: I23473b18484f041c4dd808c85bb92545a77e20c2
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java6
-rw-r--r--core/java/android/bluetooth/BluetoothGatt.java9
-rw-r--r--core/java/android/bluetooth/IBluetoothGattCallback.aidl2
-rw-r--r--core/java/android/bluetooth/le/BluetoothLeAdvertiser.java6
-rw-r--r--core/java/android/bluetooth/le/BluetoothLeScanner.java19
-rw-r--r--core/java/android/bluetooth/le/ScanCallback.java2
-rw-r--r--core/java/android/bluetooth/le/ScanSettings.java3
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;