phoneapp/phoneuistates/src/cphonegsmincall.cpp
branchRCL_3
changeset 61 41a7f70b3818
parent 58 40a3f856b14d
child 62 5266b1f337bd
--- 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