diff --git a/android/gatt.c b/android/gatt.c
index b3dd6d3..5a531d9 100644
--- a/android/gatt.c
+++ b/android/gatt.c
{
const struct hal_cmd_gatt_client_scan *cmd = buf;
uint8_t status;
- void *registered;
DBG("new state %d", cmd->start);
- registered = find_app_by_id(cmd->client_if);
- if (!registered) {
- error("gatt: Client not registered");
- status = HAL_STATUS_FAILED;
- goto reply;
+ if (cmd->client_if != 0) {
+ void *registered = find_app_by_id(cmd->client_if);
+
+ if (!registered) {
+ error("gatt: Client not registered");
+ status = HAL_STATUS_FAILED;
+ goto reply;
+ }
}
/* Turn off scan */
diff --git a/android/hal-gatt.c b/android/hal-gatt.c
index c563fe9..080852a 100644
--- a/android/hal-gatt.c
+++ b/android/hal-gatt.c
sizeof(cmd), &cmd, NULL, NULL, NULL);
}
-static bt_status_t scan(int client_if, bool start)
+static bt_status_t scan_real(int client_if, bool start)
{
struct hal_cmd_gatt_client_scan cmd;
sizeof(cmd), &cmd, NULL, NULL, NULL);
}
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+static bt_status_t scan(bool start)
+{
+ return scan_real(0, start);
+}
+#else
+static bt_status_t scan(int client_if, bool start)
+{
+ return scan_real(client_if, start);
+}
+#endif
+
static bt_status_t connect(int client_if, const bt_bdaddr_t *bd_addr,
bool is_direct)
{