16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 // INCLUDES |
19 // INCLUDES |
20 #include <MediatorDomainUIDs.h> |
20 #include <MediatorDomainUIDs.h> |
21 #include <videotelcontrolmediatorapi.h> |
|
22 #include "cphonecallsetup.h" |
21 #include "cphonecallsetup.h" |
23 #include "mphonestatemachine.h" |
22 #include "mphonestatemachine.h" |
24 #include "tphonecmdparamboolean.h" |
23 #include "tphonecmdparamboolean.h" |
25 #include "tphonecmdparamcallheaderdata.h" |
24 #include "tphonecmdparamcallheaderdata.h" |
26 #include "phonestatedefinitionsgsm.h" |
25 #include "phonestatedefinitionsgsm.h" |
29 #include "cphonemainresourceresolver.h" |
28 #include "cphonemainresourceresolver.h" |
30 #include "phonelogger.h" |
29 #include "phonelogger.h" |
31 #include "cphonegeneralgsmmessageshandler.h" |
30 #include "cphonegeneralgsmmessageshandler.h" |
32 #include "cphonemediatorfactory.h" |
31 #include "cphonemediatorfactory.h" |
33 #include "cphonemediatorsender.h" |
32 #include "cphonemediatorsender.h" |
34 #include "mphonesecuritymodeobserver.h" |
|
35 |
33 |
36 // ================= MEMBER FUNCTIONS ======================= |
34 // ================= MEMBER FUNCTIONS ======================= |
37 |
35 |
38 // C++ default constructor can NOT contain any code, that |
36 // C++ default constructor can NOT contain any code, that |
39 // might leave. |
37 // might leave. |
102 { |
100 { |
103 case MEngineMonitor::EPEMessageConnecting: |
101 case MEngineMonitor::EPEMessageConnecting: |
104 HandleConnectingL( aCallId ); |
102 HandleConnectingL( aCallId ); |
105 break; |
103 break; |
106 |
104 |
107 case MEngineMonitor::EPEMessageShowVersion: |
105 // fall through. |
108 { |
|
109 if ( iStateMachine->SecurityMode()->IsSecurityMode() ) |
|
110 { |
|
111 // Do nothing if security mode is enabled. |
|
112 return; |
|
113 } |
|
114 } |
|
115 // Fall through |
|
116 case MEngineMonitor::EPEMessageIssuingSSRequest: |
106 case MEngineMonitor::EPEMessageIssuingSSRequest: |
117 case MEngineMonitor::EPEMessageCallBarred: |
107 case MEngineMonitor::EPEMessageCallBarred: |
118 case MEngineMonitor::EPEMessageIssuedSSRequest: |
108 case MEngineMonitor::EPEMessageIssuedSSRequest: |
119 case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful: |
109 case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful: |
120 case MEngineMonitor::EPEMessageIncCallIsForw: |
110 case MEngineMonitor::EPEMessageIncCallIsForw: |
155 { |
145 { |
156 // Only handle connecting case for GSM protocol. In CDMA, this message is |
146 // Only handle connecting case for GSM protocol. In CDMA, this message is |
157 // set when the CDMA network receives the call, not (like in GSM) when |
147 // set when the CDMA network receives the call, not (like in GSM) when |
158 // when the remote party receives the call. So, in CDMA, the user |
148 // when the remote party receives the call. So, in CDMA, the user |
159 // should still be able to cancel the MO call before the call is connected. |
149 // should still be able to cancel the MO call before the call is connected. |
160 __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneCallSetup::HandleConnectingL()"); |
150 __LOGMETHODSTARTEND( EPhoneUIStates, |
|
151 "CPhoneCallSetup::HandleConnectingL()"); |
|
152 |
161 BeginUiUpdateLC(); |
153 BeginUiUpdateLC(); |
162 UpdateRemoteInfoDataL ( aCallId ); |
154 UpdateRemoteInfoDataL ( aCallId ); |
163 |
|
164 SetNeedToReturnToForegroundAppStatusL( EFalse ); |
|
165 |
155 |
166 // Re-enable global notes |
156 // Re-enable global notes |
167 TPhoneCmdParamBoolean globalNotifierParam; |
157 TPhoneCmdParamBoolean globalNotifierParam; |
168 globalNotifierParam.SetBoolean( EFalse ); |
158 globalNotifierParam.SetBoolean( EFalse ); |
169 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
159 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
170 &globalNotifierParam ); |
160 &globalNotifierParam ); |
171 |
161 |
|
162 // Home screen to foreground after call |
|
163 TPhoneCmdParamBoolean booleanParam; |
|
164 booleanParam.SetBoolean( ETrue ); |
|
165 iViewCommandHandle->ExecuteCommand( EPhoneViewHsToForegroundAfterCall, |
|
166 &booleanParam ); |
|
167 |
172 // Stop capturing keys |
168 // Stop capturing keys |
173 CaptureKeysDuringCallNotificationL( EFalse ); |
169 CaptureKeysDuringCallNotificationL( EFalse ); |
174 |
170 |
175 TPhoneCmdParamCallHeaderData callHeaderParam; |
171 TPhoneCmdParamCallHeaderData callHeaderParam; |
176 callHeaderParam.SetCallState( EPEStateConnecting ); |
172 callHeaderParam.SetCallState( EPEStateConnecting ); |
177 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
173 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
178 &callHeaderParam ); |
174 &callHeaderParam ); |
179 |
175 |
180 // Remove the number entry if it isn't DTMF dialer |
|
181 if ( !iOnScreenDialer || |
|
182 !IsNumberEntryVisibleL() || |
|
183 !IsDTMFEditorVisibleL() ) |
|
184 { |
|
185 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
|
186 } |
|
187 |
|
188 SetToolbarButtonLoudspeakerEnabled(); |
176 SetToolbarButtonLoudspeakerEnabled(); |
189 |
177 |
190 EndUiUpdate(); |
178 EndUiUpdate(); |
191 |
179 |
|
180 // Go to alerting state |
192 UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
181 UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
|
182 |
193 iStateMachine->ChangeState( EPhoneStateAlerting ); |
183 iStateMachine->ChangeState( EPhoneStateAlerting ); |
194 } |
184 } |
195 |
185 |
196 // End of File |
186 // End of File |