322 // Conference call is no longer on hold |
322 // Conference call is no longer on hold |
323 TPhoneCmdParamBoolean holdFlag; |
323 TPhoneCmdParamBoolean holdFlag; |
324 holdFlag.SetBoolean( EFalse ); |
324 holdFlag.SetBoolean( EFalse ); |
325 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); |
325 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); |
326 |
326 |
327 BeginUiUpdateLC(); |
327 TransitionHandlerL().BeginUiUpdateLC(); |
328 iViewCommandHandle->ExecuteCommandL( |
328 iViewCommandHandle->ExecuteCommandL( |
329 EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam ); |
329 EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam ); |
330 |
330 |
331 SetTouchPaneButtons( EPhoneConferenceAndHeldSingleButtons ); |
331 SetTouchPaneButtons( EPhoneConferenceAndHeldSingleButtons ); |
332 |
332 |
333 EndUiUpdate(); |
333 TransitionHandlerL().EndUiUpdate(); |
334 } |
334 } |
335 |
335 |
336 |
336 |
337 // ----------------------------------------------------------- |
337 // ----------------------------------------------------------- |
338 // CPhoneConferenceAndSingle::HandleHeldConferenceL |
338 // CPhoneConferenceAndSingle::HandleHeldConferenceL |
357 CCoeEnv::Static() ); |
357 CCoeEnv::Static() ); |
358 callHeaderParam.SetLabelText( labelText ); |
358 callHeaderParam.SetLabelText( labelText ); |
359 |
359 |
360 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateMaxConfMemberFlag ); |
360 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateMaxConfMemberFlag ); |
361 |
361 |
362 BeginUiUpdateLC(); |
362 TransitionHandlerL().BeginUiUpdateLC(); |
363 |
363 |
364 iViewCommandHandle->ExecuteCommandL( |
364 iViewCommandHandle->ExecuteCommandL( |
365 EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam ); |
365 EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam ); |
366 |
366 |
367 SetTouchPaneButtons( EPhoneConferenceAndSingleButtons ); |
367 SetTouchPaneButtons( EPhoneConferenceAndSingleButtons ); |
368 EndUiUpdate(); |
368 TransitionHandlerL().EndUiUpdate(); |
369 } |
369 } |
370 |
370 |
371 // ----------------------------------------------------------- |
371 // ----------------------------------------------------------- |
372 // CPhoneConferenceAndSingle::HandleConnectedL |
372 // CPhoneConferenceAndSingle::HandleConnectedL |
373 // ----------------------------------------------------------- |
373 // ----------------------------------------------------------- |
418 // |
418 // |
419 void CPhoneConferenceAndSingle::HandleAddedConferenceMemberL( TInt aCallId ) |
419 void CPhoneConferenceAndSingle::HandleAddedConferenceMemberL( TInt aCallId ) |
420 { |
420 { |
421 __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleAddedConferenceMemberL"); |
421 __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleAddedConferenceMemberL"); |
422 |
422 |
423 BeginUiUpdateLC(); |
423 TransitionHandlerL().BeginUiUpdateLC(); |
424 |
424 |
425 // Update conference bubble |
425 // Update conference bubble |
426 iViewCommandHandle->ExecuteCommandL( EPhoneViewAddToConference ); |
426 iViewCommandHandle->ExecuteCommandL( EPhoneViewAddToConference ); |
427 |
427 |
428 UpdateConferenceSecurityStatusL( aCallId ); |
428 UpdateConferenceSecurityStatusL( aCallId ); |
429 |
429 |
430 SetTouchPaneButtons( EPhoneConferenceButtons ); |
430 SetTouchPaneButtons( EPhoneConferenceButtons ); |
431 SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate ); |
431 SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate ); |
432 |
432 |
433 EndUiUpdate(); |
433 TransitionHandlerL().EndUiUpdate(); |
434 |
434 |
435 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
435 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
436 conferenceAndSingleFlag.SetBoolean( EFalse ); |
436 conferenceAndSingleFlag.SetBoolean( EFalse ); |
437 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |
437 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |
438 &conferenceAndSingleFlag ); |
438 &conferenceAndSingleFlag ); |
458 // |
458 // |
459 void CPhoneConferenceAndSingle::HandleIncomingL( TInt aCallId ) |
459 void CPhoneConferenceAndSingle::HandleIncomingL( TInt aCallId ) |
460 { |
460 { |
461 __LOGMETHODSTARTEND( EPhoneUIStates, |
461 __LOGMETHODSTARTEND( EPhoneUIStates, |
462 "CPhoneConferenceAndSingle::HandleIncomingL"); |
462 "CPhoneConferenceAndSingle::HandleIncomingL"); |
463 IsNumberEntryUsedL() ? |
463 TransitionHandlerL().IncomingCallUiUpdateLC(); |
464 BeginTransEffectLC( ECallUiAppear ) : |
|
465 BeginTransEffectLC( ENumberEntryOpen ); |
|
466 BeginUiUpdateLC(); |
|
467 |
464 |
468 // Hide the number entry if it exists |
465 // Hide the number entry if it exists |
469 if ( IsNumberEntryUsedL() ) |
466 if ( IsNumberEntryUsedL() ) |
470 { |
467 { |
471 SetNumberEntryVisibilityL( EFalse ); |
468 SetNumberEntryVisibilityL( EFalse ); |
472 } |
469 } |
473 |
470 |
|
471 // Get allow waiting call header param value. |
474 TPhoneCmdParamBoolean dialerParam; |
472 TPhoneCmdParamBoolean dialerParam; |
475 dialerParam.SetBoolean( ETrue ); |
473 dialerParam.SetBoolean( ETrue ); |
476 |
|
477 // Get allow waiting call header param value. |
|
478 AllowShowingOfWaitingCallHeaderL( dialerParam ); |
474 AllowShowingOfWaitingCallHeaderL( dialerParam ); |
479 |
475 |
480 // Close conference list |
476 // Close conference list |
481 TPhoneCmdParamBoolean booleanParam; |
477 TPhoneCmdParamBoolean booleanParam; |
482 booleanParam.SetBoolean( EFalse ); |
478 booleanParam.SetBoolean( EFalse ); |
487 |
483 |
488 // Set touch controls |
484 // Set touch controls |
489 SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer ); |
485 SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer ); |
490 |
486 |
491 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
487 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
492 |
488 |
493 // Display incoming call |
|
494 DisplayIncomingCallL( aCallId, dialerParam ); |
489 DisplayIncomingCallL( aCallId, dialerParam ); |
495 |
490 TransitionHandlerL().EndUiUpdateAndEffect(); |
496 EndUiUpdate(); |
491 |
497 EndTransEffect(); |
|
498 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
492 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
499 conferenceAndSingleFlag.SetBoolean( EFalse ); |
493 conferenceAndSingleFlag.SetBoolean( EFalse ); |
500 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |
494 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |
501 &conferenceAndSingleFlag ); |
495 &conferenceAndSingleFlag ); |
502 |
496 |
503 // Go to Conference And Single And Waiting state |
|
504 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
497 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
505 iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting ); |
498 iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting ); |
506 } |
499 } |
507 |
500 |
508 // ----------------------------------------------------------- |
501 // ----------------------------------------------------------- |
509 // CPhoneConferenceAndSingle::HandleIdleL |
502 // CPhoneConferenceAndSingle::HandleIdleL |
510 // ----------------------------------------------------------- |
503 // ----------------------------------------------------------- |
533 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateMaxConfMemberFlag ); |
526 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateMaxConfMemberFlag ); |
534 } |
527 } |
535 else |
528 else |
536 { |
529 { |
537 // Remove call |
530 // Remove call |
538 BeginUiUpdateLC(); |
531 TransitionHandlerL().BeginUiUpdateLC(); |
539 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
532 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
540 |
533 |
541 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
534 TPhoneCmdParamBoolean conferenceAndSingleFlag; |
542 conferenceAndSingleFlag.SetBoolean( EFalse ); |
535 conferenceAndSingleFlag.SetBoolean( EFalse ); |
543 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |
536 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, |