Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
Bug 1103731 - Determine the result of RIL_REQUEST_SWITCH_WAITING_OR_H…
Browse files Browse the repository at this point in the history
…OLDING_AND_ACTIVE. r=echen
  • Loading branch information
Ben Hsu committed Jan 21, 2015
1 parent d5d3f93 commit 2447475
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions reference-ril/reference-ril.c
Original file line number Diff line number Diff line change
Expand Up @@ -3068,15 +3068,19 @@ onRequest (int request, void *data, size_t datalen, RIL_Token t)
// 3GPP 22.030 6.5.5
// "Places all active calls (if any exist) on hold and accepts
// the other (held or waiting) call."
at_send_command("AT+CHLD=2", NULL);
p_response = NULL;
err = at_send_command("AT+CHLD=2", &p_response);

#ifdef WORKAROUND_ERRONEOUS_ANSWER
s_expectAnswer = 1;
#endif /* WORKAROUND_ERRONEOUS_ANSWER */

/* success or failure is ignored by the upper layer here.
it will call GET_CURRENT_CALLS and determine success that way */
RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
if (err < 0 || p_response->success == 0) {
RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
} else {
RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
}
at_response_free(p_response);
break;
case RIL_REQUEST_ANSWER:
at_send_command("ATA", NULL);
Expand Down

0 comments on commit 2447475

Please sign in to comment.