diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2014-11-05 16:38:50 +0200 |
---|---|---|
committer | Szymon Janc <szymon.janc@tieto.com> | 2014-11-06 12:08:06 +0100 |
commit | d1eca83032bcd1cec7819a424bf6a3f4c25196d4 (patch) | |
tree | 49994e417cb6db7814a5712c08462e16b8c4a8b9 /android/hal-handsfree.c | |
parent | 2e2514c502356ba567e19bec4e219d315483e9dc (diff) | |
download | bluez-d1eca83032bcd1cec7819a424bf6a3f4c25196d4.tar.gz |
android/handsfree: Add support for new API for cind_response
cind_response has new parameter bdaddr in new Android API.
Diffstat (limited to 'android/hal-handsfree.c')
-rw-r--r-- | android/hal-handsfree.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c index 708d7908b..642d0878c 100644 --- a/android/hal-handsfree.c +++ b/android/hal-handsfree.c @@ -504,9 +504,10 @@ static bt_status_t cops_response(const char *cops) } #endif -static bt_status_t cind_response(int svc, int num_active, int num_held, +static bt_status_t cind_response_real(int svc, int num_active, int num_held, bthf_call_state_t state, int signal, - int roam, int batt_chg) + int roam, int batt_chg, + bt_bdaddr_t *bd_addr) { struct hal_cmd_handsfree_cind_response cmd; @@ -515,6 +516,11 @@ static bt_status_t cind_response(int svc, int num_active, int num_held, if (!interface_ready()) return BT_STATUS_NOT_READY; + memset(&cmd, 0, sizeof(cmd)); + + if (bd_addr) + memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr)); + cmd.svc = svc; cmd.num_active = num_active; cmd.num_held = num_held; @@ -528,6 +534,25 @@ static bt_status_t cind_response(int svc, int num_active, int num_held, sizeof(cmd), &cmd, NULL, NULL, NULL); } +#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) +static bt_status_t cind_response(int svc, int num_active, int num_held, + bthf_call_state_t state, int signal, + int roam, int batt_chg, + bt_bdaddr_t *bd_addr) +{ + return cind_response_real(svc, num_active, num_held, state, signal, + roam, batt_chg, bd_addr); +} +#else +static bt_status_t cind_response(int svc, int num_active, int num_held, + bthf_call_state_t state, int signal, + int roam, int batt_chg) +{ + return cind_response_real(svc, num_active, num_held, state, signal, + roam, batt_chg, NULL); +} +#endif + static bt_status_t formatted_at_response(const char *rsp) { char buf[IPC_MTU]; |