From 8343735754c098f04c0d81ff4254013f5521956f Mon Sep 17 00:00:00 2001 From: Andrei Emeltchenko Date: Thu, 6 Nov 2014 10:32:01 +0200 Subject: [PATCH] android/handsfree: Add support for new API for handle_dtmf DTMF Command notification callback has new parameter bdaddr. --- android/hal-handsfree.c | 4 ++++ android/hal-ipc-api.txt | 1 + android/hal-msg.h | 1 + android/handsfree.c | 1 + 4 files changed, 7 insertions(+) diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c index 3a5eec695..21d444442 100644 --- a/android/hal-handsfree.c +++ b/android/hal-handsfree.c @@ -134,7 +134,11 @@ static void handle_dtmf(void *buf, uint16_t len, int fd) struct hal_ev_handsfree_dtmf *ev = buf; if (cbs->dtmf_cmd_cb) +#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) + cbs->dtmf_cmd_cb(ev->tone, (bt_bdaddr_t *) (ev->bdaddr)); +#else cbs->dtmf_cmd_cb(ev->tone); +#endif } static void handle_nrec(void *buf, uint16_t len, int fd) diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt index 174bf7916..aa824f45e 100644 --- a/android/hal-ipc-api.txt +++ b/android/hal-ipc-api.txt @@ -1038,6 +1038,7 @@ Notifications: Opcode 0x88 - DTMF Command notification Notification parameters: Tone (1 octet) + Remote address (6 octets) Opcode 0x89 - NREC Command notification diff --git a/android/hal-msg.h b/android/hal-msg.h index a1cfff13c..00e66e2d8 100644 --- a/android/hal-msg.h +++ b/android/hal-msg.h @@ -1376,6 +1376,7 @@ struct hal_ev_handsfree_dial { #define HAL_EV_HANDSFREE_DTMF 0x88 struct hal_ev_handsfree_dtmf { uint8_t tone; + uint8_t bdaddr[6]; } __attribute__((packed)); #define HAL_HANDSFREE_NREC_STOP 0x00 diff --git a/android/handsfree.c b/android/handsfree.c index 121d37af9..d0081176d 100644 --- a/android/handsfree.c +++ b/android/handsfree.c @@ -730,6 +730,7 @@ static void at_cmd_vts(struct hfp_context *context, if (hfp_context_has_next(context)) break; + bdaddr2android(&dev->bdaddr, ev.bdaddr); ev.tone = str[0]; ipc_send_notif(hal_ipc, HAL_SERVICE_ID_HANDSFREE, -- 2.47.3