summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Eisenbach2015-02-05 20:07:50 -0800
committerAndre Eisenbach2015-02-05 20:08:32 -0800
commit1e3e1ddf939bf71616245e1e100964568053d665 (patch)
tree932abf0484cbf1553abcd404dd9ad3a4ddcdac22
parent9b0177459ddc1412c4e9d44af53a1badb476bdd9 (diff)
Add API to check if a Bluetooth connection is encrypted (2/2)
Bug: 19186961 Change-Id: Ied8dbe60995ebe8759c2a4ce21f373b597ed3afe
-rw-r--r--jni/com_android_bluetooth_btservice_AdapterService.cpp6
-rw-r--r--src/com/android/bluetooth/btservice/AdapterService.java14
2 files changed, 9 insertions, 11 deletions
diff --git a/jni/com_android_bluetooth_btservice_AdapterService.cpp b/jni/com_android_bluetooth_btservice_AdapterService.cpp
index ea765b5..f780364 100644
--- a/jni/com_android_bluetooth_btservice_AdapterService.cpp
+++ b/jni/com_android_bluetooth_btservice_AdapterService.cpp
@@ -900,7 +900,7 @@ static jboolean cancelBondNative(JNIEnv* env, jobject obj, jbyteArray address) {
return result;
}
-static jboolean isConnectedNative(JNIEnv* env, jobject obj, jbyteArray address) {
+static int getConnectionStateNative(JNIEnv* env, jobject obj, jbyteArray address) {
ALOGV("%s:",__FUNCTION__);
if (!sBluetoothInterface) return JNI_FALSE;
@@ -913,7 +913,7 @@ static jboolean isConnectedNative(JNIEnv* env, jobject obj, jbyteArray address)
int ret = sBluetoothInterface->get_connection_state((bt_bdaddr_t *)addr);
env->ReleaseByteArrayElements(address, addr, 0);
- return (ret != 0 ? JNI_TRUE : JNI_FALSE);
+ return ret;
}
static jboolean pinReplyNative(JNIEnv *env, jobject obj, jbyteArray address, jboolean accept,
@@ -1231,7 +1231,7 @@ static JNINativeMethod sMethods[] = {
{"createBondNative", "([BI)Z", (void*) createBondNative},
{"removeBondNative", "([B)Z", (void*) removeBondNative},
{"cancelBondNative", "([B)Z", (void*) cancelBondNative},
- {"isConnectedNative", "([B)Z", (void*) isConnectedNative},
+ {"getConnectionStateNative", "([B)I", (void*) getConnectionStateNative},
{"pinReplyNative", "([BZI[B)Z", (void*) pinReplyNative},
{"sspReplyNative", "([BIZI)Z", (void*) sspReplyNative},
{"getRemoteServicesNative", "([B)Z", (void*) getRemoteServicesNative},
diff --git a/src/com/android/bluetooth/btservice/AdapterService.java b/src/com/android/bluetooth/btservice/AdapterService.java
index 404ea6d..190be11 100644
--- a/src/com/android/bluetooth/btservice/AdapterService.java
+++ b/src/com/android/bluetooth/btservice/AdapterService.java
@@ -871,12 +871,10 @@ public class AdapterService extends Service {
return service.getBondState(device);
}
- public boolean isConnected(BluetoothDevice device) {
+ public int getConnectionState(BluetoothDevice device) {
AdapterService service = getService();
- if (service == null) {
- return false;
- }
- return service.isConnected(device);
+ if (service == null) return 0;
+ return service.getConnectionState(device);
}
public String getRemoteName(BluetoothDevice device) {
@@ -1475,10 +1473,10 @@ public class AdapterService extends Service {
return deviceProp.getBondState();
}
- boolean isConnected(BluetoothDevice device) {
+ int getConnectionState(BluetoothDevice device) {
enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
byte[] addr = Utils.getBytesFromAddress(device.getAddress());
- return isConnectedNative(addr);
+ return getConnectionStateNative(addr);
}
String getRemoteName(BluetoothDevice device) {
@@ -1891,7 +1889,7 @@ public class AdapterService extends Service {
/*package*/ native boolean removeBondNative(byte[] address);
/*package*/ native boolean cancelBondNative(byte[] address);
- /*package*/ native boolean isConnectedNative(byte[] address);
+ /*package*/ native int getConnectionStateNative(byte[] address);
private native boolean startDiscoveryNative();
private native boolean cancelDiscoveryNative();