phoneapp/phoneuistates/src/cphoneidle.cpp
branchRCL_3
changeset 62 5266b1f337bd
parent 61 41a7f70b3818
equal deleted inserted replaced
61:41a7f70b3818 62:5266b1f337bd
    20 #include "cphoneidle.h"
    20 #include "cphoneidle.h"
    21 #include "phonerssbase.h"
    21 #include "phonerssbase.h"
    22 #include "phonelogger.h"
    22 #include "phonelogger.h"
    23 #include "cphonegeneralgsmmessageshandler.h"
    23 #include "cphonegeneralgsmmessageshandler.h"
    24 #include "tphonecmdparamboolean.h"
    24 #include "tphonecmdparamboolean.h"
       
    25 #include "mphonesecuritymodeobserver.h"
       
    26 #include "mphonestatemachine.h"
    25 
    27 
    26 // ================= MEMBER FUNCTIONS =======================
    28 // ================= MEMBER FUNCTIONS =======================
    27 
    29 
    28 // C++ default constructor can NOT contain any code, that
    30 // C++ default constructor can NOT contain any code, that
    29 // might leave.
    31 // might leave.
    91         "CPhoneIdle::HandlePhoneEngineMessageL() ");
    93         "CPhoneIdle::HandlePhoneEngineMessageL() ");
    92     switch ( aMessage )
    94     switch ( aMessage )
    93         {
    95         {
    94         case MEngineMonitor::EPEMessageRemoteHeld:
    96         case MEngineMonitor::EPEMessageRemoteHeld:
    95             CPhoneState::SendGlobalInfoNoteL( 
    97             CPhoneState::SendGlobalInfoNoteL( 
    96                 EPhoneInformationRemotePutOnHoldNote, ETrue );
    98                 EPhoneInformationRemotePutOnHoldNote );
    97             break;
    99             break;
    98         
   100         
    99         case MEngineMonitor::EPEMessageRemoteResumed:
   101         case MEngineMonitor::EPEMessageRemoteResumed:
   100             CPhoneState::SendGlobalInfoNoteL( 
   102             CPhoneState::SendGlobalInfoNoteL( 
   101                 EPhoneInformationConnectedNote, ETrue );
   103                 EPhoneInformationConnectedNote );
   102             break;
   104             break;
   103             
   105             
   104         case MEngineMonitor::EPEMessageAudioOutputChanged:
   106         case MEngineMonitor::EPEMessageAudioOutputChanged:
   105             HandleAudioOutputChangedL();
   107             HandleAudioOutputChangedL();
   106             break;
   108             break;
   107 
   109 
   108         case MEngineMonitor::EPEMessageIssuedSSRequest: // fall through 
   110         case MEngineMonitor::EPEMessageIssuedSSRequest: // fall through 
   109             // Note that after the sending of SS 
   111         	// Note that after the sending of SS 
   110             // strings the view stays in Dialer.
   112 			// strings the view stays in Dialer.
   111             if ( !iOnScreenDialer )  
   113             if ( !iOnScreenDialer )  
   112                 {
   114         		{
   113                 SetupIdleScreenInBackgroundL();
   115             	SetupIdleScreenInBackgroundL();
   114                 }
   116         		}
   115         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
   117         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
   116         case MEngineMonitor::EPEMessageCallBarred: // fall through
   118         case MEngineMonitor::EPEMessageCallBarred: // fall through
   117         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
   119         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
   118         case MEngineMonitor::EPEMessageIncCallIsForw: // fall through
   120         case MEngineMonitor::EPEMessageIncCallIsForw: // fall through
   119         case MEngineMonitor::EPEMessageIncCallForwToC: // fall through
   121         case MEngineMonitor::EPEMessageIncCallForwToC: // fall through
   120         case MEngineMonitor::EPEMessageOutCallForwToC: // fall through
   122         case MEngineMonitor::EPEMessageOutCallForwToC: // fall through
   121         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through
   123         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through
   122         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
   124         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
   123             {
   125 			{
   124             CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
   126 			CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
   125                 CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
   127 				CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
   126                                                        *iViewCommandHandle,
   128 													   *iViewCommandHandle,
   127                                                        *this );
   129 													   *this );
   128             CleanupStack::PushL( gsmMsgHandler );
   130 			CleanupStack::PushL( gsmMsgHandler );
   129             gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
   131 			gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
   130             CleanupStack::PopAndDestroy( gsmMsgHandler );
   132 			CleanupStack::PopAndDestroy( gsmMsgHandler );
   131             }
   133 			}
   132             break;
   134 			break;
   133 
   135 		
       
   136 		case MEngineMonitor::EPEMessageShowVersion:
       
   137 			{
       
   138 			if ( !iStateMachine->SecurityMode()->IsSecurityMode() )
       
   139 				{
       
   140 				CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
       
   141 				CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
       
   142 													   *iViewCommandHandle,
       
   143 													   *this );
       
   144 				CleanupStack::PushL( gsmMsgHandler );
       
   145 				gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
       
   146 				CleanupStack::PopAndDestroy( gsmMsgHandler );
       
   147 				}
       
   148 			}
       
   149 			break;
       
   150 		
   134         default:
   151         default:
   135             CPhoneStateIdle::HandlePhoneEngineMessageL( 
   152             CPhoneStateIdle::HandlePhoneEngineMessageL( 
   136                 aMessage, aCallId );
   153                 aMessage, aCallId );
   137             break;
   154             break;
   138         }
   155         }
       
   156 
       
   157 #ifndef __SYNCML_DM
       
   158       switch ( aMessage )
       
   159         {
       
   160         case MEngineMonitor::EPEMessageShowVersion:
       
   161             if ( !iOnScreenDialer )
       
   162                 {
       
   163                 HandleNumberEntryClearedL();
       
   164                 }
       
   165             break;
       
   166         default:    
       
   167             break;
       
   168         }
       
   169 #endif        
   139     }
   170     }
   140 
   171 
   141 // -----------------------------------------------------------
   172 // -----------------------------------------------------------
   142 // CPhoneIdle::HandleErrorL
   173 // CPhoneIdle::HandleErrorL
   143 // -----------------------------------------------------------
   174 // -----------------------------------------------------------
   144 //
   175 //
   145 EXPORT_C void CPhoneIdle::HandleErrorL( const TPEErrorInfo& aErrorInfo )
   176 EXPORT_C void CPhoneIdle::HandleErrorL( const TPEErrorInfo& aErrorInfo )
   146     {
   177     {
   147     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneIdle::HandleErrorL() ");
   178     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneIdle::HandleErrorL() ");
   148     
   179     
   149     CPhoneState::HandleErrorL( aErrorInfo );
   180     TPhoneCmdParamBoolean blockingDialogStatus;
       
   181     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetBlockingDialogStatus, 
       
   182         &blockingDialogStatus );
       
   183 
       
   184     if( blockingDialogStatus.Boolean() )
       
   185         {
       
   186         blockingDialogStatus.SetBoolean( EFalse );
       
   187         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetBlockingDialogStatus, 
       
   188             &blockingDialogStatus );
       
   189         }
       
   190     
       
   191     CPhoneStateIdle::HandleErrorL( aErrorInfo );
   150     }
   192     }
   151 
   193 
   152 // End of File
   194 // End of File