151 __LOGMETHODSTARTEND( EPhoneUIStates, |
151 __LOGMETHODSTARTEND( EPhoneUIStates, |
152 "CPhoneConferenceAndWaitingAndCallSetup::HandleKeyMessageL"); |
152 "CPhoneConferenceAndWaitingAndCallSetup::HandleKeyMessageL"); |
153 switch ( aCode ) |
153 switch ( aCode ) |
154 { |
154 { |
155 case EKeyYes: // send-key |
155 case EKeyYes: // send-key |
156 if( IsNumberEntryVisibleL() ) |
156 if( iNumberEntryManager->IsNumberEntryVisibleL() ) |
157 { |
157 { |
158 CallFromNumberEntryL(); |
158 iNumberEntryManager->CallFromNumberEntryL(); |
159 } |
159 } |
160 else |
160 else |
161 { |
161 { |
162 // Number entry is behind waiting call bubble. |
162 // Number entry is behind waiting call bubble. |
163 // We can't answer to call in this state so display |
163 // We can't answer to call in this state so display |
172 break; |
172 break; |
173 } |
173 } |
174 } |
174 } |
175 |
175 |
176 // ----------------------------------------------------------- |
176 // ----------------------------------------------------------- |
177 // CPhoneConferenceAndWaitingAndCallSetup::UpdateInCallCbaL |
|
178 // ----------------------------------------------------------- |
|
179 // |
|
180 void CPhoneConferenceAndWaitingAndCallSetup::UpdateInCallCbaL() |
|
181 { |
|
182 __LOGMETHODSTARTEND(EPhoneControl, |
|
183 "CPhoneConferenceAndWaitingAndCallSetup::SetCallSetupCbaL() "); |
|
184 if ( iAlerting ) |
|
185 { |
|
186 UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA ); |
|
187 } |
|
188 else |
|
189 { |
|
190 UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); |
|
191 } |
|
192 } |
|
193 |
|
194 // ----------------------------------------------------------- |
|
195 // CPhoneConferenceAndWaitingAndCallSetup::HandleConnectingL |
177 // CPhoneConferenceAndWaitingAndCallSetup::HandleConnectingL |
196 // ----------------------------------------------------------- |
178 // ----------------------------------------------------------- |
197 // |
179 // |
198 void CPhoneConferenceAndWaitingAndCallSetup::HandleConnectingL( TInt aCallId ) |
180 void CPhoneConferenceAndWaitingAndCallSetup::HandleConnectingL( TInt aCallId ) |
199 { |
181 { |
206 TPhoneCmdParamBoolean globalNotifierParam; |
188 TPhoneCmdParamBoolean globalNotifierParam; |
207 globalNotifierParam.SetBoolean( EFalse ); |
189 globalNotifierParam.SetBoolean( EFalse ); |
208 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
190 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
209 &globalNotifierParam ); |
191 &globalNotifierParam ); |
210 |
192 |
211 TPhoneCmdParamCallHeaderData callHeaderParam; |
193 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId ); |
212 callHeaderParam.SetCallState( EPEStateConnecting ); |
|
213 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
|
214 &callHeaderParam ); |
|
215 |
194 |
216 if ( !IsNumberEntryVisibleL() ) |
195 iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL(); |
217 { |
196 |
218 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
197 UpdateUiCommands(); |
219 } |
|
220 |
|
221 EndUiUpdate(); |
198 EndUiUpdate(); |
222 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
|
223 } |
199 } |
224 |
200 |
225 // ----------------------------------------------------------- |
201 // ----------------------------------------------------------- |
226 // CPhoneConferenceAndWaitingAndCallSetup::HandleConnectedL |
202 // CPhoneConferenceAndWaitingAndCallSetup::HandleConnectedL |
227 // ----------------------------------------------------------- |
203 // ----------------------------------------------------------- |
230 { |
206 { |
231 __LOGMETHODSTARTEND( EPhoneUIStates, |
207 __LOGMETHODSTARTEND( EPhoneUIStates, |
232 "CPhoneConferenceAndWaitingAndCallSetup::HandleConnectedL"); |
208 "CPhoneConferenceAndWaitingAndCallSetup::HandleConnectedL"); |
233 BeginUiUpdateLC(); |
209 BeginUiUpdateLC(); |
234 UpdateRemoteInfoDataL ( aCallId ); |
210 UpdateRemoteInfoDataL ( aCallId ); |
235 |
211 |
236 TPhoneCmdParamCallHeaderData callHeaderParam; |
212 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId ); |
237 callHeaderParam.SetCallState( EPEStateConnected ); |
213 |
238 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
214 iNumberEntryManager->RemoveNumberEntryIfVisibilityIsFalseL(); |
239 &callHeaderParam ); |
215 |
240 |
216 UpdateUiCommands(); |
241 if ( !IsNumberEntryVisibleL() ) |
|
242 { |
|
243 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
|
244 } |
|
245 |
|
246 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
|
247 EndUiUpdate(); |
217 EndUiUpdate(); |
248 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
|
249 iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting ); |
218 iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting ); |
250 } |
219 } |
251 |
220 |
252 // ----------------------------------------------------------- |
221 // ----------------------------------------------------------- |
253 // CPhoneConferenceAndWaitingAndCallSetup::UpdateConnectingCbaL |
222 // CPhoneConferenceAndWaitingAndCallSetup::UpdateConnectingCbaL |
254 // ----------------------------------------------------------- |
223 // ----------------------------------------------------------- |
255 // |
224 // |
256 void CPhoneConferenceAndWaitingAndCallSetup::UpdateConnectingCbaL() |
225 void CPhoneConferenceAndWaitingAndCallSetup::UpdateConnectingCbaL() |
257 { |
226 { |
258 __LOGMETHODSTARTEND(EPhoneControl, |
227 __LOGMETHODSTARTEND(EPhoneControl, |
259 "CPhoneConferenceAndCallSetup::UpdateInCallCbaL() "); |
228 "CPhoneConferenceAndCallSetup::UpdateConnectingCbaL() "); |
260 UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
229 UpdateUiCommands(); |
261 } |
230 } |
262 |
231 |
263 // ----------------------------------------------------------- |
232 // ----------------------------------------------------------- |
264 // CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL |
233 // CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL |
265 // ----------------------------------------------------------- |
234 // ----------------------------------------------------------- |
268 { |
237 { |
269 __LOGMETHODSTARTEND( EPhoneUIStates, |
238 __LOGMETHODSTARTEND( EPhoneUIStates, |
270 "CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL"); |
239 "CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL"); |
271 BeginUiUpdateLC(); |
240 BeginUiUpdateLC(); |
272 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble ); |
241 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble ); |
273 if ( IsNumberEntryUsedL() ) |
242 iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue); |
274 { |
|
275 SetNumberEntryVisibilityL(ETrue); |
|
276 } |
|
277 |
243 |
278 TPhoneCmdParamCallStateData callStateData; |
244 TPhoneCmdParamCallStateData callStateData; |
279 callStateData.SetCallState( EPEStateConnected ); |
245 callStateData.SetCallState( EPEStateConnected ); |
280 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
246 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
281 &callStateData ); |
247 &callStateData ); |
282 |
248 |
283 if( callStateData.CallId() > KErrNotFound ) // No need update cba's. |
249 if( callStateData.CallId() > KErrNotFound ) // No need update cba's. |
284 { |
250 { |
285 SetTouchPaneButtons( EPhoneCallSetupButtons ); |
251 UpdateUiCommands(); |
286 iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting ); |
252 iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting ); |
287 } |
253 } |
288 else |
254 else |
289 { |
255 { |
290 callStateData.SetCallState( EPEStateHeld ); |
256 callStateData.SetCallState( EPEStateHeld ); |
291 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
257 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
292 &callStateData ); |
258 &callStateData ); |
293 |
259 |
|
260 UpdateUiCommands(); |
|
261 |
294 if( callStateData.CallId() > KErrNotFound ) |
262 if( callStateData.CallId() > KErrNotFound ) |
295 { |
263 { |
296 SetTouchPaneButtons( EPhoneCallSetupButtons ); |
|
297 iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting ); |
264 iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting ); |
298 } |
265 } |
299 else |
266 else |
300 { |
267 { |
301 // Reset Hold flag to view |
|
302 TPhoneCmdParamBoolean holdFlag; |
|
303 holdFlag.SetBoolean( EFalse ); |
|
304 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); |
|
305 |
|
306 SetTouchPaneButtons( EPhoneCallSetupButtons ); |
|
307 iStateMachine->ChangeState( EPhoneStateCallSetupAndWaiting ); |
268 iStateMachine->ChangeState( EPhoneStateCallSetupAndWaiting ); |
308 } |
269 } |
309 } |
270 } |
310 EndUiUpdate(); |
271 EndUiUpdate(); |
311 } |
272 } |
353 callStateData.SetCallState( EPEStateRinging ); |
314 callStateData.SetCallState( EPEStateRinging ); |
354 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
315 iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, |
355 &callStateData ); |
316 &callStateData ); |
356 if( callStateData.CallId() > KErrNotFound ) |
317 if( callStateData.CallId() > KErrNotFound ) |
357 { |
318 { |
358 if ( IsNumberEntryUsedL() ) |
319 // Show the number entry if callsetup failed with number busy |
359 { |
320 // etc reason. |
360 // Show the number entry if callsetup failed with number busy |
321 iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(ETrue); |
361 // etc reason. |
322 UpdateUiCommands(); |
362 SetNumberEntryVisibilityL(ETrue); |
|
363 } |
|
364 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
|
365 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
|
366 iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting ); |
323 iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting ); |
367 } |
324 } |
368 else |
325 else |
369 { |
326 { |
370 SetTouchPaneButtons( EPhoneCallSetupButtons ); |
327 UpdateUiCommands(); |
371 UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
|
372 iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); |
328 iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); |
373 } |
329 } |
374 EndUiUpdate(); |
330 EndUiUpdate(); |
375 } |
331 } |
376 } |
332 } |