summaryrefslogtreecommitdiffstats
path: root/core/java/android/server/BluetoothEventLoop.java
diff options
context:
space:
mode:
authorJaikumar Ganesh <jaikumar@google.com>2010-09-13 11:52:19 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-13 11:52:19 -0700
commit0522f5e9b7dac0dc0229c9ddb07e7e5482846b1a (patch)
tree43531589d5e17f2e3c3a9bf4a850139fb8320a60 /core/java/android/server/BluetoothEventLoop.java
parent4de4f09e8ed95255c1077cfbbaf018877221455d (diff)
parentcc5494c9996f809e36539b24e8b6b67683383d29 (diff)
downloadframeworks_base-0522f5e9b7dac0dc0229c9ddb07e7e5482846b1a.zip
frameworks_base-0522f5e9b7dac0dc0229c9ddb07e7e5482846b1a.tar.gz
frameworks_base-0522f5e9b7dac0dc0229c9ddb07e7e5482846b1a.tar.bz2
am cc5494c9: Out Of Band API for Secure Simple Pairing.
Merge commit 'cc5494c9996f809e36539b24e8b6b67683383d29' into gingerbread-plus-aosp * commit 'cc5494c9996f809e36539b24e8b6b67683383d29': Out Of Band API for Secure Simple Pairing.
Diffstat (limited to 'core/java/android/server/BluetoothEventLoop.java')
-rw-r--r--core/java/android/server/BluetoothEventLoop.java27
1 files changed, 26 insertions, 1 deletions
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java
index 05be52aa..6bb6d76 100644
--- a/core/java/android/server/BluetoothEventLoop.java
+++ b/core/java/android/server/BluetoothEventLoop.java
@@ -578,6 +578,17 @@ class BluetoothEventLoop {
mWakeLock.release();
}
+ private void onRequestOobData(String objectPath , int nativeData) {
+ String address = checkPairingRequestAndGetAddress(objectPath, nativeData);
+ if (address == null) return;
+
+ Intent intent = new Intent(BluetoothDevice.ACTION_PAIRING_REQUEST);
+ intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mAdapter.getRemoteDevice(address));
+ intent.putExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT,
+ BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT);
+ mContext.sendBroadcast(intent, BLUETOOTH_ADMIN_PERM);
+ }
+
private boolean onAgentAuthorize(String objectPath, String deviceUuid) {
String address = mBluetoothService.getAddressFromObjectPath(objectPath);
if (address == null) {
@@ -610,7 +621,21 @@ class BluetoothEventLoop {
return authorized;
}
- boolean isOtherSinkInNonDisconnectingState(String address) {
+ private boolean onAgentOutOfBandDataAvailable(String objectPath) {
+ if (!mBluetoothService.isEnabled()) return false;
+
+ String address = mBluetoothService.getAddressFromObjectPath(objectPath);
+ if (address == null) return false;
+
+ if (mBluetoothService.getDeviceOutOfBandData(
+ mAdapter.getRemoteDevice(address)) != null) {
+ return true;
+ }
+ return false;
+
+ }
+
+ private boolean isOtherSinkInNonDisconnectingState(String address) {
BluetoothA2dp a2dp = new BluetoothA2dp(mContext);
Set<BluetoothDevice> devices = a2dp.getNonDisconnectedSinks();
if (devices.size() == 0) return false;