Merge "BluetoothInCallService: register broadcast receiver at onCreate and unregister it at onDestroy"
diff --git a/jni/com_android_bluetooth_gatt.cpp b/jni/com_android_bluetooth_gatt.cpp
index 6aec75a..be415d3 100644
--- a/jni/com_android_bluetooth_gatt.cpp
+++ b/jni/com_android_bluetooth_gatt.cpp
@@ -1136,11 +1136,11 @@
}
static void gattClientRegisterAppNative(JNIEnv* env, jobject object,
- jlong app_uuid_lsb,
- jlong app_uuid_msb) {
+ jlong app_uuid_lsb, jlong app_uuid_msb,
+ jboolean eatt_support) {
if (!sGattIf) return;
Uuid uuid = from_java_uuid(app_uuid_msb, app_uuid_lsb);
- sGattIf->client->register_client(uuid);
+ sGattIf->client->register_client(uuid, eatt_support);
}
static void gattClientUnregisterAppNative(JNIEnv* env, jobject object,
@@ -1657,11 +1657,11 @@
* Native server functions
*/
static void gattServerRegisterAppNative(JNIEnv* env, jobject object,
- jlong app_uuid_lsb,
- jlong app_uuid_msb) {
+ jlong app_uuid_lsb, jlong app_uuid_msb,
+ jboolean eatt_support) {
if (!sGattIf) return;
Uuid uuid = from_java_uuid(app_uuid_msb, app_uuid_lsb);
- sGattIf->server->register_server(uuid);
+ sGattIf->server->register_server(uuid, eatt_support);
}
static void gattServerUnregisterAppNative(JNIEnv* env, jobject object,
@@ -2334,7 +2334,7 @@
{"cleanupNative", "()V", (void*)cleanupNative},
{"gattClientGetDeviceTypeNative", "(Ljava/lang/String;)I",
(void*)gattClientGetDeviceTypeNative},
- {"gattClientRegisterAppNative", "(JJ)V",
+ {"gattClientRegisterAppNative", "(JJZ)V",
(void*)gattClientRegisterAppNative},
{"gattClientUnregisterAppNative", "(I)V",
(void*)gattClientUnregisterAppNative},
@@ -2373,7 +2373,7 @@
(void*)gattClientConfigureMTUNative},
{"gattConnectionParameterUpdateNative", "(ILjava/lang/String;IIIIII)V",
(void*)gattConnectionParameterUpdateNative},
- {"gattServerRegisterAppNative", "(JJ)V",
+ {"gattServerRegisterAppNative", "(JJZ)V",
(void*)gattServerRegisterAppNative},
{"gattServerUnregisterAppNative", "(I)V",
(void*)gattServerUnregisterAppNative},
diff --git a/src/com/android/bluetooth/gatt/GattService.java b/src/com/android/bluetooth/gatt/GattService.java
index f01c9d1..3a3c080 100644
--- a/src/com/android/bluetooth/gatt/GattService.java
+++ b/src/com/android/bluetooth/gatt/GattService.java
@@ -442,12 +442,12 @@
}
@Override
- public void registerClient(ParcelUuid uuid, IBluetoothGattCallback callback) {
+ public void registerClient(ParcelUuid uuid, IBluetoothGattCallback callback, boolean eatt_support) {
GattService service = getService();
if (service == null) {
return;
}
- service.registerClient(uuid.getUuid(), callback);
+ service.registerClient(uuid.getUuid(), callback, eatt_support);
}
@Override
@@ -715,12 +715,13 @@
}
@Override
- public void registerServer(ParcelUuid uuid, IBluetoothGattServerCallback callback) {
+ public void registerServer(ParcelUuid uuid, IBluetoothGattServerCallback callback,
+ boolean eatt_support) {
GattService service = getService();
if (service == null) {
return;
}
- service.registerServer(uuid.getUuid(), callback);
+ service.registerServer(uuid.getUuid(), callback, eatt_support);
}
@Override
@@ -2319,14 +2320,14 @@
* GATT Service functions - CLIENT
*************************************************************************/
- void registerClient(UUID uuid, IBluetoothGattCallback callback) {
+ void registerClient(UUID uuid, IBluetoothGattCallback callback, boolean eatt_support) {
enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
if (DBG) {
Log.d(TAG, "registerClient() - UUID=" + uuid);
}
mClientMap.add(uuid, null, callback, null, this);
- gattClientRegisterAppNative(uuid.getLeastSignificantBits(), uuid.getMostSignificantBits());
+ gattClientRegisterAppNative(uuid.getLeastSignificantBits(), uuid.getMostSignificantBits(), eatt_support);
}
void unregisterClient(int clientIf) {
@@ -2984,14 +2985,14 @@
* GATT Service functions - SERVER
*************************************************************************/
- void registerServer(UUID uuid, IBluetoothGattServerCallback callback) {
+ void registerServer(UUID uuid, IBluetoothGattServerCallback callback, boolean eatt_support) {
enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
if (DBG) {
Log.d(TAG, "registerServer() - UUID=" + uuid);
}
mServerMap.add(uuid, null, callback, null, this);
- gattServerRegisterAppNative(uuid.getLeastSignificantBits(), uuid.getMostSignificantBits());
+ gattServerRegisterAppNative(uuid.getLeastSignificantBits(), uuid.getMostSignificantBits(), eatt_support);
}
void unregisterServer(int serverIf) {
@@ -3403,7 +3404,7 @@
private native int gattClientGetDeviceTypeNative(String address);
- private native void gattClientRegisterAppNative(long appUuidLsb, long appUuidMsb);
+ private native void gattClientRegisterAppNative(long appUuidLsb, long appUuidMsb, boolean eatt_support);
private native void gattClientUnregisterAppNative(int clientIf);
@@ -3453,7 +3454,7 @@
int minInterval, int maxInterval, int latency, int timeout, int minConnectionEventLen,
int maxConnectionEventLen);
- private native void gattServerRegisterAppNative(long appUuidLsb, long appUuidMsb);
+ private native void gattServerRegisterAppNative(long appUuidLsb, long appUuidMsb, boolean eatt_support);
private native void gattServerUnregisterAppNative(int serverIf);