void BluetoothHfpManager::SendCLCC(Call& aCall, int aIndex) { NS_ENSURE_TRUE_VOID(aCall.mState != nsITelephonyService::CALL_STATE_DISCONNECTED); NS_ENSURE_TRUE_VOID(sBluetoothHfpInterface); BluetoothHandsfreeCallState callState = ConvertToBluetoothHandsfreeCallState(aCall.mState); if (mPhoneType == PhoneType::CDMA && aIndex == 1 && aCall.IsActive()) { callState = (mCdmaSecondCall.IsActive()) ? HFP_CALL_STATE_HELD : HFP_CALL_STATE_ACTIVE; } if (callState == HFP_CALL_STATE_INCOMING && FindFirstCall(nsITelephonyService::CALL_STATE_CONNECTED)) { callState = HFP_CALL_STATE_WAITING; } sBluetoothHfpInterface->ClccResponse( aIndex, aCall.mDirection, callState, HFP_CALL_MODE_VOICE, HFP_CALL_MPTY_TYPE_SINGLE, aCall.mNumber, aCall.mType, mDeviceAddress, new ClccResponseResultHandler()); }