phoneengine/phonemodel/src/cpemessagehandler.cpp
branchRCL_3
changeset 81 c26cc2a7c548
parent 62 5266b1f337bd
child 82 b49b5af297a7
equal deleted inserted replaced
73:e30d4a1b8bad 81:c26cc2a7c548
   160             iLogHandling( aLogHandling ),
   160             iLogHandling( aLogHandling ),
   161             iContactHandling( aContactHandling ),
   161             iContactHandling( aContactHandling ),
   162             iExternalDataHandler( aExternalDataHandler ),
   162             iExternalDataHandler( aExternalDataHandler ),
   163             iSimStateMonitor( aSimStateMonitor ),
   163             iSimStateMonitor( aSimStateMonitor ),
   164             iFsSession( aFsSession ),
   164             iFsSession( aFsSession ),
   165 			iSwitchToVidCalReconFlag( EFalse ),
       
   166             iServiceHandling( aServiceHandling ),
   165             iServiceHandling( aServiceHandling ),
   167             iDataStore( *aModel.DataStore() )
   166             iDataStore( *aModel.DataStore() )
   168     {
   167     {
   169     }
   168     }
   170 
   169 
  1878     numberOfCalls = iCallHandling.GetNumberOfCalls();
  1877     numberOfCalls = iCallHandling.GetNumberOfCalls();
  1879 
  1878 
  1880     // Check the phone number for prefix change and change the prefix if needed
  1879     // Check the phone number for prefix change and change the prefix if needed
  1881     CheckPrefix();
  1880     CheckPrefix();
  1882 
  1881 
  1883     if( iSwitchToVidCalReconFlag )
  1882     phoneNumber = iDataStore.PhoneNumber();
  1884         {
  1883   
  1885         phoneNumber = iDataStore.SwitchToNumberCommand();
       
  1886 		// Clear flag to match the previous set operation in HandleSwitchToVideoOrVoice() function.
       
  1887         iSwitchToVidCalReconFlag = EFalse;
       
  1888         }
       
  1889     else
       
  1890         {
       
  1891         phoneNumber = iDataStore.PhoneNumber();
       
  1892         }
       
  1893     
       
  1894     __ASSERT_ALWAYS( !( phoneNumber == KNullDesC ), User::Leave( ECCPErrorInvalidPhoneNumber ));
  1884     __ASSERT_ALWAYS( !( phoneNumber == KNullDesC ), User::Leave( ECCPErrorInvalidPhoneNumber ));
  1895     
  1885     
  1896     // Number parser operations
  1886     // Number parser operations
  1897     iOptions->SetOptionStatus( KPhoneOptionSend, ETrue );
  1887     iOptions->SetOptionStatus( KPhoneOptionSend, ETrue );
  1898     iOptions->SetOptionStatus( KPhoneOptionInCall, numberOfCalls > 0 );
  1888     iOptions->SetOptionStatus( KPhoneOptionInCall, numberOfCalls > 0 );
  2733         if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileOriginated )
  2723         if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileOriginated )
  2734             {
  2724             {
  2735             iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) );  
  2725             iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) );  
  2736             // Clear phonenumber to prevent using the wrong number in MO video call.
  2726             // Clear phonenumber to prevent using the wrong number in MO video call.
  2737             iDataStore.SetPhoneNumber( KNullDesC() );
  2727             iDataStore.SetPhoneNumber( KNullDesC() );
  2738             iSwitchToVidCalReconFlag = ETrue;
       
  2739             }
  2728             }
  2740         else
  2729         else
  2741             {
  2730             {
  2742             iDataStore.SetSwitchToNumberCommand( iDataStore.RemotePhoneNumber( aCallId ) );
  2731             iDataStore.SetSwitchToNumberCommand( iDataStore.RemotePhoneNumber( aCallId ) );
  2743             // Remote phone number must be stored as the phone number in case of low-memory situation where 
  2732             // Remote phone number must be stored as the phone number in case of low-memory situation where 
  2762         "PE CPEMessageHandler::ContinueSwitchToCall, aCallId : %d", aCallId );
  2751         "PE CPEMessageHandler::ContinueSwitchToCall, aCallId : %d", aCallId );
  2763     TInt callId;
  2752     TInt callId;
  2764     TInt errorCode( ECCPErrorNone );
  2753     TInt errorCode( ECCPErrorNone );
  2765   
  2754   
  2766     TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand();
  2755     TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand();
  2767     RemovePreAndPostFix( phoneNumber );
       
  2768     
       
  2769     TEFLOGSTRING2( KTAINT, 
  2756     TEFLOGSTRING2( KTAINT, 
  2770         "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", 
  2757         "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", 
  2771         &phoneNumber );
  2758         &phoneNumber );
  2772 
  2759 
  2773     // Check is current call voice or video
  2760     // Check is current call voice or video