2,851
社区成员




static void BTApp_AnswerCall( CBTApp* pMe, BTAppCallType callIncoming )
{
boolean bAnswered = FALSE;
static const char szAnswer[] = "tel:AnswerCall";
AEERect rect = {70, 70, 70, 70};
IDisplay_EraseRect(pMe->a.m_pIDisplay, &rect);
MSG_LOW( "AnswerCall - dev=%d c=%d st=%d",
pMe->mAG.devType, callIncoming, pMe->mAG.callState );
pMe->mAG.bDevPickedUp = TRUE;
BTApp_StopRing( pMe );
if ( callIncoming == BT_APP_CALL_NONE )
{
MSG_ERROR( "AnswerCall - no incoming call", 0, 0, 0 );
}
else if ( BTApp_ConnectAudio( pMe, TRUE ) != FALSE )
{
if ( callIncoming == BT_APP_CALL_VOICE )
{
if ( pMe->mAG.pIncomingCall != NULL )
{
if ( ISHELL_SendURL( pMe->a.m_pIShell, szAnswer ) == TRUE ) //该行的功能???????、
{
DBGPRINTF_FATAL("BTAPP: Ansering call by sending URL %s", szAnswer );
bAnswered = TRUE;
}
else if ( ICALL_Answer( pMe->mAG.pIncomingCall ) == SUCCESS )
{
MSG_LOW("BTApp: URL answer failed. Used ICALL_Answer",0,0,0);
bAnswered = TRUE;
}
pMe->mAG.pIncomingCall = NULL;
}
else
{
bAnswered = FALSE;
}
}
#ifdef FEATURE_BT_VT
else if ( callIncoming == BT_APP_CALL_VT )
{
bAnswered = CVideoPhone_AnswerVideoCall( pMe->a.m_pIShell );
}
#endif //FEATURE_BT_VT
if ( bAnswered == FALSE )
{
MSG_ERROR( "AnswerCall - failed", 0, 0, 0 );
}
}
}