diff options
author | Matt Porter <mporter@konsulko.com> | 2017-05-19 14:55:36 -0400 |
---|---|---|
committer | Matt Porter <mporter@konsulko.com> | 2017-05-19 15:02:30 -0400 |
commit | 3a208ed9a418f02b4938f447af04666593cda410 (patch) | |
tree | 72a3d3ec5345175c538370b4bf09a45c9e997635 /telephony-binding/telephony-binding.c | |
parent | 53f6222d2ca009c86f301a630e4bf81d25c86feb (diff) |
Add support for answering calls to the telephony binding and UI
Adds an answer verb and associated incoming call lifecycle
management to the telephony binding. Leverages the binding
answer support to activate the call answer button when the
binding reports that we are in an incoming call state. Once
the incoming call is answered, the ring tone is deactivated.
AGL-Bug: SPEC-600
Change-Id: I4f2db2d248cfd0f4945fc17d450e9b691061cc9e
Signed-off-by: Matt Porter <mporter@konsulko.com>
Diffstat (limited to 'telephony-binding/telephony-binding.c')
-rw-r--r-- | telephony-binding/telephony-binding.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/telephony-binding/telephony-binding.c b/telephony-binding/telephony-binding.c index 134432c..00115d2 100644 --- a/telephony-binding/telephony-binding.c +++ b/telephony-binding/telephony-binding.c @@ -70,6 +70,16 @@ static void hangup(struct afb_req request) } } +static void answer(struct afb_req request) +{ + if (incoming_call) { + DEBUG(interface, "Answer voice call\n"); + voice_call = incoming_call; + ofono_voicecall_answer(voice_call); + } else { + ERROR(interface, "Answer: no incoming call"); + } +} static void incoming_call_cb(OrgOfonoVoiceCallManager *manager, gchar *op, gchar *clip) { @@ -147,6 +157,12 @@ static const struct afb_verb_desc_v1 verbs[]= { .callback = hangup, .info = "Hangup phone" }, + { + .name = "answer", + .session = AFB_SESSION_NONE, + .callback = answer, + .info = "Answer phone" + }, {NULL} }; |