From b43038a1d31f7bfbbb0a559707001461a8712618 Mon Sep 17 00:00:00 2001 From: Lukasz Rymanowski Date: Wed, 19 Nov 2014 10:43:42 +0100 Subject: [PATCH] android/handsfree-client: Send indicators val we got during SLC setup Once SLC is done, Android is ready to get indicators values. --- android/handsfree-client.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/android/handsfree-client.c b/android/handsfree-client.c index e75a419ce..868418cc3 100644 --- a/android/handsfree-client.c +++ b/android/handsfree-client.c @@ -865,14 +865,24 @@ static void ciev_cb(struct hfp_context *context, void *user_data) static void slc_completed(struct device *dev) { + int i; + struct indicator *ag_ind; + DBG(""); + ag_ind = dev->ag_ind; + device_set_state(dev, HAL_HF_CLIENT_CONN_STATE_SLC_CONNECTED); - /* - * TODO: Notify Android with indicators, register unsolicited result - * handlers - */ + /* Notify Android with indicators */ + for (i = 0; i < HFP_INDICATOR_LAST; i++) { + if (!ag_ind[i].cb) + continue; + + ag_ind[i].cb(ag_ind[i].val); + } + + /* TODO: register unsolicited results handlers */ hfp_hf_register(dev->hf, bvra_cb, "+BRVA", dev, NULL); hfp_hf_register(dev->hf, vgm_cb, "+VGM", dev, NULL); @@ -965,6 +975,7 @@ static void set_indicator_value(uint8_t index, unsigned int val, continue; ag_ind[i].val = val; + ag_ind[i].cb(val); return; } } -- 2.47.3