--- 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