summaryrefslogtreecommitdiff
path: root/android/handsfree-client.c
diff options
context:
space:
mode:
authorLukasz Rymanowski <lukasz.rymanowski@tieto.com>2014-11-19 10:43:42 +0100
committerSzymon Janc <szymon.janc@tieto.com>2014-11-19 15:07:32 +0100
commitb43038a1d31f7bfbbb0a559707001461a8712618 (patch)
treeddf342e3c37262072207cdf15f76bfb6cfbcd21f /android/handsfree-client.c
parent8d3a703b0c742ef412c7e626229a4889d784af9e (diff)
downloadbluez-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.c19
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;
}
}