From 6a475553c4c66ed7f1fa66130ec06ffc3dee8b39 Mon Sep 17 00:00:00 2001 From: Will Wang Date: Fri, 28 Aug 2015 18:40:29 +0800 Subject: [PATCH] android/hal-handsfree: Fix missing HFP WBS callback --- android/hal-handsfree.c | 12 ++++++++++++ android/hal-msg.h | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c index 279b26a46..3847901a9 100644 --- a/android/hal-handsfree.c +++ b/android/hal-handsfree.c @@ -153,6 +153,16 @@ static void handle_nrec(void *buf, uint16_t len, int fd) #endif } +static void handle_wbs(void *buf, uint16_t len, int fd) +{ +#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) + struct hal_ev_handsfree_wbs *ev = buf; + + if (cbs->wbs_cb) + cbs->wbs_cb(ev->wbs, (bt_bdaddr_t *) (ev->bdaddr)); +#endif +} + static void handle_chld(void *buf, uint16_t len, int fd) { struct hal_ev_handsfree_chld *ev = buf; @@ -289,6 +299,8 @@ static const struct hal_ipc_handler ev_handlers[] = { /* HAL_EV_HANDSFREE_HSP_KEY_PRESS */ { handle_hsp_key_press, false, sizeof(struct hal_ev_handsfree_hsp_key_press) }, + /* HAL_EV_HANDSFREE_WBS */ + { handle_wbs, false, sizeof(struct hal_ev_handsfree_wbs) }, }; static uint8_t get_mode(void) diff --git a/android/hal-msg.h b/android/hal-msg.h index 698f45ad0..ea79fa7df 100644 --- a/android/hal-msg.h +++ b/android/hal-msg.h @@ -1638,6 +1638,12 @@ struct hal_ev_handsfree_hsp_key_press { uint8_t bdaddr[6]; } __attribute__((packed)); +#define HAL_EV_HANDSFREE_WBS 0x91 +struct hal_ev_handsfree_wbs { + uint8_t wbs; + uint8_t bdaddr[6]; +} __attribute__((packed)); + #define HAL_AVRCP_FEATURE_NONE 0x00 #define HAL_AVRCP_FEATURE_METADATA 0x01 #define HAL_AVRCP_FEATURE_ABSOLUTE_VOLUME 0x02 -- 2.47.3