diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp Mon Oct 04 16:06:10 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp Fri Oct 15 12:58:46 2010 +0300 @@ -37,12 +37,12 @@ #include "tphonecmdparamstring.h" #include "tphonecmdparamcallheaderdata.h" #include "tphonecmdparamglobalnote.h" -#include "tphonecmdparamcallstatedata.h" #include "phonestatedefinitionsgsm.h" #include "phonelogger.h" #include "cphonecenrepproxy.h" #include "cphonepubsubproxy.h" #include "mphonestorage.h" +#include "phonecallutil.h" // ================= MEMBER FUNCTIONS ======================= @@ -73,19 +73,13 @@ void CPhoneSingleAndWaiting::ConstructL() { CPhoneGsmInCall::ConstructL(); - - TPhoneCmdParamCallStateData callStateData; - callStateData.SetCallState( EPEStateConnected ); - iViewCommandHandle->HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); - if ( callStateData.CallId() == KErrNotFound ) + iSingleCallId = PhoneCallUtil::CallIdByState( EPEStateConnected ); + if ( iSingleCallId == KErrNotFound ) { - callStateData.SetCallState( EPEStateHeld ); - iViewCommandHandle->HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); + iSingleCallId = PhoneCallUtil::CallIdByState( EPEStateHeld ); } - iSingleCallId = callStateData.CallId(); + __PHONELOG1( EBasic, EPhoneUIStates, "CPhoneSingleAndWaiting::ConstructL() (iSingleCallId=%d)", iSingleCallId); } @@ -179,12 +173,8 @@ case EPhoneCallComingCmdReject: // fall through { - // Get waiting callid - TPhoneCmdParamCallStateData callStateData; - callStateData.SetCallState( EPEStateRinging ); - iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, - &callStateData ); - iStateMachine->SetCallId( callStateData.CallId() ); + iStateMachine->SetCallId( + PhoneCallUtil::CallIdByState( EPEStateRinging ) ); iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageReject ); break; @@ -252,25 +242,15 @@ if ( iSingleCallId == KErrNotFound ) { - TPhoneCmdParamCallStateData callStateData; - callStateData.SetCallState( EPEStateDisconnecting ); - iViewCommandHandle->HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); - - if ( callStateData.CallId() == KErrNotFound ) + iSingleCallId = PhoneCallUtil::CallIdByState( EPEStateDisconnecting ); + if ( iSingleCallId == KErrNotFound ) { - callStateData.SetCallState( EPEStateConnected ); - iViewCommandHandle->HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); - - if ( callStateData.CallId() == KErrNotFound ) + iSingleCallId = PhoneCallUtil::CallIdByState( EPEStateConnected ); + if ( iSingleCallId == KErrNotFound ) { - callStateData.SetCallState( EPEStateHeld ); - iViewCommandHandle->HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); + iSingleCallId = PhoneCallUtil::CallIdByState( EPEStateHeld ); } } - iSingleCallId = callStateData.CallId(); } __PHONELOG1( EBasic, EPhoneControl, @@ -287,26 +267,23 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); // Get waiting callId - TPhoneCmdParamCallStateData callStateData; - callStateData.SetCallState( EPEStateRinging ); - iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, - &callStateData ); + TInt callId = PhoneCallUtil::CallIdByState( EPEStateRinging ); __PHONELOG1( EBasic, EPhoneControl, "CPhoneSingleAndWaiting::HandleIdleL EPEStateRinging CallId(%d)", - callStateData.CallId() ); + callId ); // Display ringing bubble - if ( callStateData.CallId() > KErrNotFound ) - { - UpdateCallHeaderAndUiCommandsL( callStateData.CallId() ); + if ( callId > KErrNotFound ) + { + SetRingingTonePlaybackL( callId ); + UpdateCallHeaderAndUiCommandsL( callId ); if ( iNumberEntryManager->IsNumberEntryVisibleL() ) { iNumberEntryManager->SetNumberEntryVisibilityL(EFalse); } - SetRingingTonePlaybackL( callStateData.CallId() ); BringIncomingToForegroundL(); } SetBackButtonActive(EFalse); @@ -324,6 +301,11 @@ iNumberEntryManager->SetNumberEntryVisibilityL(ETrue); } + if ( PhoneCallUtil::IsVideoCall( iSingleCallId ) ) + { + iViewCommandHandle->ExecuteCommand( EPhoneViewSetVideoCallOnTop ); + } + UpdateUiCommands(); EndUiUpdate(); iStateMachine->ChangeState( EPhoneStateSingle );