OSDN Git Service

Set correct callState for MT/MO call while in Voip Call.
authorMallikarjuna GB <gbmalli@codeaurora.org>
Thu, 4 Jun 2015 11:37:23 +0000 (17:07 +0530)
committerAndre Eisenbach <eisenbach@google.com>
Thu, 4 Jun 2015 17:02:08 +0000 (10:02 -0700)
commit303898f623aa134fac30f9ddcbc1523a3538d231
tree088fa4c68ff48274ba9962fad2fd0f26eceef192
parent103e4f404bcd3c82f98cd125e53a5fd197232a6d
Set correct callState for MT/MO call while in Voip Call.

Use case:
Start MO/MT call during VOIP call.

Failure:
Incorrect response sent to AT+CIND? to headset

Root cause:
terminateScoUsingVirtualVoiceCall() resets callState
from INCOMING/DIALING to IDLE. At the same time, if HS sends AT+CIND?
to read call indicators, it will get wrong value of callsetup. This case
is hit only when SCO for VOIP call is not terminated via SDK API call.

Fix:
When VOIP is ended, save current MO/MT call state to
HeadsetPhoneState class to be able to respond with
proper call states when queried by headset.

Change-Id: Ia3a0a2d67dbfffef474de48cab6ee63b82fa4572
src/com/android/bluetooth/hfp/HeadsetStateMachine.java