diff options
author | Lukasz Rymanowski <lukasz.rymanowski@tieto.com> | 2014-11-19 10:43:42 +0100 |
---|---|---|
committer | Szymon Janc <szymon.janc@tieto.com> | 2014-11-19 15:07:32 +0100 |
commit | b43038a1d31f7bfbbb0a559707001461a8712618 (patch) | |
tree | ddf342e3c37262072207cdf15f76bfb6cfbcd21f /android/handsfree-client.c | |
parent | 8d3a703b0c742ef412c7e626229a4889d784af9e (diff) | |
download | bluez-b43038a1d31f7bfbbb0a559707001461a8712618.tar.gz |
android/handsfree-client: Send indicators val we got during SLC setup
Once SLC is done, Android is ready to get indicators values.
Diffstat (limited to 'android/handsfree-client.c')
-rw-r--r-- | android/handsfree-client.c | 19 |
1 files 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; } } |