diff --git a/android/gatt.c b/android/gatt.c
index e930b5a..7cf612f 100644
--- a/android/gatt.c
+++ b/android/gatt.c
android2bdaddr(&cmd->bdaddr, &addr);
+ /* TODO: Handle transport flag */
+
status = handle_connect(cmd->server_if, &addr);
ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_GATT, HAL_OP_GATT_SERVER_CONNECT,
diff --git a/android/hal-gatt.c b/android/hal-gatt.c
index 82093fa..a324009 100644
--- a/android/hal-gatt.c
+++ b/android/hal-gatt.c
sizeof(cmd), &cmd, NULL, NULL, NULL);
}
-static bt_status_t server_connect(int server_if, const bt_bdaddr_t *bd_addr,
- bool is_direct)
+static bt_status_t server_connect_real(int server_if,
+ const bt_bdaddr_t *bd_addr,
+ bool is_direct, int transport)
{
struct hal_cmd_gatt_server_connect cmd;
cmd.server_if = server_if;
cmd.is_direct = is_direct;
+ cmd.transport = transport;
memcpy(cmd.bdaddr, bd_addr, sizeof(*bd_addr));
sizeof(cmd), &cmd, NULL, NULL, NULL);
}
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+static bt_status_t server_connect(int server_if, const bt_bdaddr_t *bd_addr,
+ bool is_direct, int transport)
+{
+ return server_connect_real(server_if, bd_addr, is_direct, transport);
+}
+#else
+static bt_status_t server_connect(int server_if, const bt_bdaddr_t *bd_addr,
+ bool is_direct)
+{
+ return server_connect_real(server_if, bd_addr, is_direct,
+ BT_TRANSPORT_UNKNOWN);
+}
+#endif
+
static bt_status_t server_disconnect(int server_if, const bt_bdaddr_t *bd_addr,
int conn_id)
{
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index d6e68f1..1bb591a 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
Command parameters: Server (4 octets)
Remote address (6 octes)
Is Direct (1 octet)
+ Transport (4 octets)
Response parameters: <none>
In case of an error, the error response will be returned.
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 8dd00a0..1876d6b 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
int32_t server_if;
uint8_t bdaddr[6];
uint8_t is_direct;
+ int32_t transport;
} __attribute__((packed));
#define HAL_OP_GATT_SERVER_DISCONNECT 0x1a