diff -r 40a3f856b14d -r 41a7f70b3818 phoneapp/phoneuistates/src/cphonegsmincall.cpp --- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp Thu Aug 19 09:54:27 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp Tue Aug 31 15:14:29 2010 +0300 @@ -35,7 +35,6 @@ #include "tphonecmdparamcallstatedata.h" #include "tphonecmdparamcallheaderdata.h" -#include "mphonesecuritymodeobserver.h" // ================= MEMBER FUNCTIONS ======================= @@ -107,29 +106,18 @@ { case MEngineMonitor::EPEMessageRemoteHeld: CPhoneState::SendGlobalInfoNoteL( - EPhoneInformationRemotePutOnHoldNote ); + EPhoneInformationRemotePutOnHoldNote, ETrue ); break; case MEngineMonitor::EPEMessageRemoteResumed: CPhoneState::SendGlobalInfoNoteL( - EPhoneInformationConnectedNote ); + EPhoneInformationConnectedNote, ETrue ); break; case MEngineMonitor::EPEMessageRemoteCreatedConference: CPhoneState::SendGlobalInfoNoteL( - EPhoneInformationRemoteCreateConferenceNote ); + EPhoneInformationRemoteCreateConferenceNote, ETrue ); break; - - case MEngineMonitor::EPEMessageShowVersion: - { - if ( iStateMachine->SecurityMode()->IsSecurityMode() ) - { - // Do nothing if security mode is enabled. - return; - } - } - // Fall through - case MEngineMonitor::EPEMessageIncCallIsForw: // fall through case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through case MEngineMonitor::EPEMessageCallBarred: // fall through @@ -139,25 +127,18 @@ case MEngineMonitor::EPEMessageOutCallForwToC: // fall through case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through case MEngineMonitor::EPEMessageForwardConditionallyModeActive: - { - CPhoneGeneralGsmMessagesHandler* gsmMsgHandler = - CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine, - *iViewCommandHandle, - *this ); - CleanupStack::PushL( gsmMsgHandler ); - gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId ); - CleanupStack::PopAndDestroy( gsmMsgHandler ); - + { + CPhoneGeneralGsmMessagesHandler* gsmMsgHandler = + CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine, + *iViewCommandHandle, + *this ); + CleanupStack::PushL( gsmMsgHandler ); + gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId ); + CleanupStack::PopAndDestroy( gsmMsgHandler ); + // Needed also in non-touch, if call waiting request (*43#) // is sent during active call at least. - if ( aMessage == MEngineMonitor::EPEMessageIncCallIsForw ) - { - UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); - } - else - { - UpdateCbaL( EPhoneCallHandlingInCallCBA ); - } + UpdateCbaL( EPhoneCallHandlingInCallCBA ); } break; @@ -194,7 +175,7 @@ // 'Replace' from menu case EPhoneInCallCmdReplace: - ReplaceCallL(); + ReplaceCallL(); break; case EPhoneInCallCmdSwap: @@ -250,11 +231,11 @@ TPhoneCmdParamGlobalNote globalNoteParam; globalNoteParam.SetText( EngineInfo->RemoteColpNumber( aCallId ) ); - globalNoteParam.SetType( EAknGlobalInformationNote ); + globalNoteParam.SetType( EPhoneNotificationDialog ); globalNoteParam.SetTextResourceId( CPhoneMainResourceResolver::Instance()-> ResolveResourceID( EPhoneColpConnected ) ); - globalNoteParam.SetTone( EAvkonSIDInformationTone ); + globalNoteParam.SetNotificationDialog( ETrue ); iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); @@ -269,9 +250,6 @@ { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::BringIncomingToForegroundL( ) "); - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - // Remove any phone dialogs if they are displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); @@ -307,20 +285,7 @@ { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::AllowShowingOfWaitingCallHeaderL() "); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewAllowWaitingCallHeader, - &aCommandParam ); - - // Non-touch :Hide number entry if it exists on - // Touch : an internal operation ongoing - // -> do not hide dialer - if ( !iOnScreenDialer ) - { - SetNumberEntryVisibilityL(EFalse); - } - // If param is true and number entry is open only then - // hide number entry. - else if ( aCommandParam.Boolean() && IsNumberEntryUsedL() ) + if ( aCommandParam.Boolean() && IsNumberEntryUsedL() ) { SetNumberEntryVisibilityL(EFalse); } @@ -333,19 +298,6 @@ EXPORT_C void CPhoneGsmInCall::HandlePhoneForegroundEventL() { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandlePhoneForegroundEventL( ) "); - if ( iOnScreenDialer && IsNumberEntryUsedL() ) - { - // If numberentry is used then we need to call EPhoneViewSetDialerControlVisible - // to ensure that numberentry/dialler is drawn to UI. - TPhoneViewResponseId respond = - iViewCommandHandle->HandleCommandL( EPhoneViewSetDialerControlVisible ); - - if ( respond && IsNumberEntryVisibleL() ) - { - // Set Number Entry CBA - iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); - } - } } // ----------------------------------------------------------- @@ -392,11 +344,59 @@ } globalNoteParam.SetText( holdText ); - globalNoteParam.SetType( EAknGlobalConfirmationNote ); - globalNoteParam.SetTone( EAvkonSIDInformationTone ); + globalNoteParam.SetType( EPhoneMessageBoxInformation ); iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } + +// --------------------------------------------------------- +// CPhoneGsmInCall::SetDivertIndication +// --------------------------------------------------------- +// +EXPORT_C void CPhoneGsmInCall::SetDivertIndication( const TBool aDivertIndication ) + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::SetDivertIndication()"); + + CPhoneState::SetDivertIndication( aDivertIndication ); + + TRAP_IGNORE( HandeDivertIndicationL() ); + } + +// --------------------------------------------------------- +// CPhoneGsmInCall::HandeDivertIndicationL +// --------------------------------------------------------- +// +void CPhoneGsmInCall::HandeDivertIndicationL() + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::HandeDivertIndicationL()"); + + TBuf< KPhoneContactNameMaxLength > remoteInfoText( KNullDesC ); + TInt ringingCallId ( KErrNotFound ); + + ringingCallId = GetRingingCallL(); + + if( ringingCallId > KErrNotFound ) + { + TPhoneCmdParamCallHeaderData divertData; + + divertData.SetDiverted( ETrue ); + + GetRemoteInfoDataL( ringingCallId, remoteInfoText ); + divertData.SetCLIText( + remoteInfoText, + TPhoneCmdParamCallHeaderData::ERight ); + + divertData.SetCiphering( + iStateMachine->PhoneEngineInfo()->IsSecureCall( ringingCallId ) ); + divertData.SetCipheringIndicatorAllowed( + iStateMachine->PhoneEngineInfo()->SecureSpecified() ); + + iViewCommandHandle->ExecuteCommandL( + EPhoneViewUpdateCallHeaderRemoteInfoData, ringingCallId, + &divertData ); + } + } + // End of File