22 #include <eikenv.h> |
22 #include <eikenv.h> |
23 #include <featmgr.h> |
23 #include <featmgr.h> |
24 #include <StringLoader.h> |
24 #include <StringLoader.h> |
25 #include <dundomainpskeys.h> |
25 #include <dundomainpskeys.h> |
26 #include <telephonyvariant.hrh> |
26 #include <telephonyvariant.hrh> |
|
27 #include <ScreensaverInternalPSKeys.h> |
27 #include <mpeengineinfo.h> |
28 #include <mpeengineinfo.h> |
28 #include <MediatorDomainUIDs.h> |
29 #include <MediatorDomainUIDs.h> |
29 #include <videotelcontrolmediatorapi.h> |
30 #include <videotelcontrolmediatorapi.h> |
30 |
31 |
31 #include "cphonepubsubproxy.h" |
32 #include "cphonepubsubproxy.h" |
51 #include "tphonecmdparamquery.h" |
52 #include "tphonecmdparamquery.h" |
52 #include "cphonemediatorfactory.h" |
53 #include "cphonemediatorfactory.h" |
53 #include "cphonemediatorsender.h" |
54 #include "cphonemediatorsender.h" |
54 #include "cphonereleasecommand.h" |
55 #include "cphonereleasecommand.h" |
55 #include "mphonecustomization.h" |
56 #include "mphonecustomization.h" |
56 #include "mphonestorage.h" |
57 #include "mphonesecuritymodeobserver.h" |
57 |
58 |
58 // ================= MEMBER FUNCTIONS ======================= |
59 // ================= MEMBER FUNCTIONS ======================= |
59 |
60 |
60 // C++ default constructor can NOT contain any code, that |
61 // C++ default constructor can NOT contain any code, that |
61 // might leave. |
62 // might leave. |
151 { |
152 { |
152 __LOGMETHODSTARTEND(EPhoneControl, |
153 __LOGMETHODSTARTEND(EPhoneControl, |
153 "CPhoneStateIncoming::HandleNumberEntryClearedL ()" ); |
154 "CPhoneStateIncoming::HandleNumberEntryClearedL ()" ); |
154 // Set incoming call CBA when number entry is cleared |
155 // Set incoming call CBA when number entry is cleared |
155 iCbaManager->UpdateIncomingCbaL( iRingingCallId ); |
156 iCbaManager->UpdateIncomingCbaL( iRingingCallId ); |
|
157 UpdateSilenceButtonDimming(); |
156 } |
158 } |
157 |
159 |
158 // ----------------------------------------------------------- |
160 // ----------------------------------------------------------- |
159 // CPhoneStateIncoming::HandleKeyMessageL |
161 // CPhoneStateIncoming::HandleKeyMessageL |
160 // ----------------------------------------------------------- |
162 // ----------------------------------------------------------- |
246 iStateMachine->PhoneEngineInfo()->SetPhoneNumber( ptr ); |
246 iStateMachine->PhoneEngineInfo()->SetPhoneNumber( ptr ); |
247 iStateMachine->SendPhoneEngineMessage( |
247 iStateMachine->SendPhoneEngineMessage( |
248 MPEPhoneModel::EPEMessagePhoneNumberEdited ); |
248 MPEPhoneModel::EPEMessagePhoneNumberEdited ); |
249 |
249 |
250 if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength |
250 if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength |
251 && iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ) |
251 && iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ) |
252 { |
252 { |
253 // Send a manual control sequence by providing number |
253 // Send a manual control sequence by providing number |
254 // information with dial command |
254 // information with dial command |
255 CPhoneState::CallFromNumberEntryL(); |
255 CPhoneState::CallFromNumberEntryL(); |
256 } |
256 } |
359 // |
359 // |
360 void CPhoneStateIncoming::HandleConnectedL( TInt aCallId ) |
360 void CPhoneStateIncoming::HandleConnectedL( TInt aCallId ) |
361 { |
361 { |
362 __LOGMETHODSTARTEND(EPhoneControl, |
362 __LOGMETHODSTARTEND(EPhoneControl, |
363 "CPhoneStateIncoming::HandleConnectedL ()" ); |
363 "CPhoneStateIncoming::HandleConnectedL ()" ); |
364 |
|
365 // Re-enable global notes |
364 // Re-enable global notes |
366 TPhoneCmdParamBoolean globalNotifierParam; |
365 TPhoneCmdParamBoolean globalNotifierParam; |
367 globalNotifierParam.SetBoolean( EFalse ); |
366 globalNotifierParam.SetBoolean( EFalse ); |
368 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
367 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
369 &globalNotifierParam ); |
368 &globalNotifierParam ); |
370 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
369 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
371 &globalNotifierParam ); |
370 &globalNotifierParam ); |
372 // Stop tone playing, if necessary |
371 // Stop tone playing, if necessary |
373 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
372 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
374 |
|
375 if( IsVideoCall( aCallId ) && !IsAutoLockOn() ) |
|
376 { |
|
377 // For keeping video call on top |
|
378 TPhoneCmdParamBoolean booleanParam; |
|
379 booleanParam.SetBoolean( EFalse ); |
|
380 iViewCommandHandle->ExecuteCommandL( |
|
381 EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam ); |
|
382 } |
|
383 |
|
384 if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) |
|
385 && iStateMachine->PhoneStorage()->IsScreenLocked() ) |
|
386 { |
|
387 EnableCallUIL(); |
|
388 } |
|
389 |
|
390 // Reset blocked keys list |
|
391 iStateMachine->PhoneStorage()->ResetBlockedKeysList(); |
|
392 |
|
393 BeginUiUpdateLC(); |
373 BeginUiUpdateLC(); |
394 |
|
395 // Update single call |
374 // Update single call |
396 UpdateSingleActiveCallL( aCallId ); |
375 UpdateSingleActiveCallL( aCallId ); |
397 |
|
398 SetTouchPaneButtons( EPhoneIncallButtons ); |
376 SetTouchPaneButtons( EPhoneIncallButtons ); |
399 SetBackButtonActive(ETrue); |
377 SetToolbarDimming( EFalse ); |
400 |
|
401 EndUiUpdate(); |
378 EndUiUpdate(); |
402 |
|
403 // Go to single state |
|
404 iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
379 iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA ); |
405 |
|
406 iStateMachine->ChangeState( EPhoneStateSingle ); |
380 iStateMachine->ChangeState( EPhoneStateSingle ); |
407 } |
381 } |
408 |
382 |
409 // ----------------------------------------------------------- |
383 // ----------------------------------------------------------- |
410 // CPhoneStateIncoming::HandleAudioPlayStoppedL |
384 // CPhoneStateIncoming::HandleAudioPlayStoppedL |
412 // |
386 // |
413 EXPORT_C void CPhoneStateIncoming::HandleAudioPlayStoppedL() |
387 EXPORT_C void CPhoneStateIncoming::HandleAudioPlayStoppedL() |
414 { |
388 { |
415 __LOGMETHODSTARTEND(EPhoneControl, |
389 __LOGMETHODSTARTEND(EPhoneControl, |
416 "CPhoneStateIncoming::HandleAudioPlayStoppedL ()" ); |
390 "CPhoneStateIncoming::HandleAudioPlayStoppedL ()" ); |
|
391 // Update the CBA |
|
392 |
417 // Set the ringtone silenced status |
393 // Set the ringtone silenced status |
418 iCbaManager->SetRingtoneSilencedStatus( ETrue ); |
394 iCbaManager->SetRingtoneSilencedStatus( ETrue ); |
419 TInt resourceId = EPhoneCallHandlingIncomingRejectCBA; |
395 TInt resourceId = EPhoneCallHandlingIncomingRejectCBA; |
420 iCbaManager->SetCbaL( resourceId ); |
396 // Get the soft reject flag status |
|
397 TPhoneCmdParamBoolean softRejectParam; |
|
398 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSoftRejectFlag, |
|
399 &softRejectParam ); |
|
400 |
|
401 if ( IsNumberEntryVisibleL() && !iOnScreenDialer ) |
|
402 { |
|
403 resourceId = EPhoneNumberAcqCBA; |
|
404 } |
|
405 else if ( iStateMachine->SecurityMode()->IsSecurityMode() ) |
|
406 { |
|
407 // Use 'answer & reject' softkeys if security mode is enabled. |
|
408 resourceId = EPhoneCallHandlingIncomingRejectCBA; |
|
409 } |
|
410 else if ( softRejectParam.Boolean() ) |
|
411 { |
|
412 resourceId = EPhoneCallHandlingIncomingSoftRejectCBA; |
|
413 } |
|
414 iCbaManager->SetCbaL( resourceId ); |
421 } |
415 } |
422 |
416 |
423 // ----------------------------------------------------------- |
417 // ----------------------------------------------------------- |
424 // CPhoneStateIncoming::HandleIdleL |
418 // CPhoneStateIncoming::HandleIdleL |
425 // ----------------------------------------------------------- |
419 // ----------------------------------------------------------- |
426 // |
420 // |
427 void CPhoneStateIncoming::HandleIdleL( TInt aCallId ) |
421 void CPhoneStateIncoming::HandleIdleL( TInt aCallId ) |
428 { |
422 { |
429 __LOGMETHODSTARTEND(EPhoneControl, |
423 __LOGMETHODSTARTEND(EPhoneControl, |
430 "CPhoneStateIncoming::HandleIdleL ()" ); |
424 "CPhoneStateIncoming::HandleIdleL ()" ); |
|
425 BeginTransEffectLC( ENumberEntryClose ); |
431 BeginUiUpdateLC(); |
426 BeginUiUpdateLC(); |
432 |
|
433 // Enable call UI |
|
434 if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) |
|
435 && iStateMachine->PhoneStorage()->IsScreenLocked() ) |
|
436 { |
|
437 EnableCallUIL(); |
|
438 } |
|
439 |
|
440 // Reset blocked keys list |
|
441 iStateMachine->PhoneStorage()->ResetBlockedKeysList(); |
|
442 |
|
443 // Remove call |
|
444 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
427 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
445 // Stop tone playing, if necessary |
428 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
446 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
429 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
447 |
430 |
448 TPhoneCmdParamBoolean globalNotifierParam; |
431 TPhoneCmdParamBoolean globalNotifierParam; |
449 globalNotifierParam.SetBoolean( EFalse ); |
432 globalNotifierParam.SetBoolean( EFalse ); |
450 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
433 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
452 |
435 |
453 SetDefaultFlagsL(); |
436 SetDefaultFlagsL(); |
454 |
437 |
455 if ( IsNumberEntryUsedL() ) |
438 if ( IsNumberEntryUsedL() ) |
456 { |
439 { |
457 if ( NeedToSendToBackgroundL() ) |
440 if ( NeedToReturnToForegroundAppL() ) |
458 { |
441 { |
459 // Return phone to the background if send to background is needed. |
442 // Return phone to the background if send to background is needed. |
460 iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); |
443 iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); |
461 |
444 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); |
462 // Set Number Entry CBA |
|
463 iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); |
445 iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); |
464 } |
446 } |
465 else |
447 else |
466 { |
448 { |
467 // Show the number entry if it exists. |
449 // Show the number entry if it exists. |
468 SetNumberEntryVisibilityL(ETrue); |
450 SetNumberEntryVisibilityL(ETrue); |
469 } |
451 } |
470 } |
452 } |
471 else if ( NeedToSendToBackgroundL() ) |
453 else if ( NeedToReturnToForegroundAppL() || |
|
454 SoftRejectMessageEditorIsDisplayedL() ) |
472 { |
455 { |
473 // Continue displaying current app but set up the |
456 // Continue displaying current app but set up the |
474 // idle screen in the background |
457 // idle screen in the background |
475 SetupIdleScreenInBackgroundL(); |
458 SetupIdleScreenInBackgroundL(); |
476 } |
459 } |
477 else |
460 else |
478 { |
461 { |
479 // Display idle screen |
|
480 DisplayIdleScreenL(); |
462 DisplayIdleScreenL(); |
481 } |
463 } |
482 |
464 |
483 DeleteTouchPaneButtons(); |
465 DeleteTouchPaneButtons(); |
484 SetBackButtonActive(ETrue); |
|
485 |
|
486 EndUiUpdate(); |
466 EndUiUpdate(); |
487 // Go to idle state |
467 EndTransEffect(); |
488 iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); |
468 iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); |
489 iStateMachine->ChangeState( EPhoneStateIdle ); |
469 iStateMachine->ChangeState( EPhoneStateIdle ); |
490 } |
470 } |
491 |
471 |
492 // ----------------------------------------------------------- |
472 // ----------------------------------------------------------- |
525 break; |
507 break; |
526 |
508 |
527 case EPhoneCallComingCmdSilent: |
509 case EPhoneCallComingCmdSilent: |
528 // Silence the ringer. And stop vibrating, if it is active. |
510 // Silence the ringer. And stop vibrating, if it is active. |
529 iViewCommandHandle->ExecuteCommandL( EPhoneViewMuteRingTone ); |
511 iViewCommandHandle->ExecuteCommandL( EPhoneViewMuteRingTone ); |
|
512 // Dim silence button |
|
513 SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent ); |
530 HandleAudioPlayStoppedL(); |
514 HandleAudioPlayStoppedL(); |
531 iStateMachine->SendPhoneEngineMessage( |
515 iStateMachine->SendPhoneEngineMessage( |
532 MPEPhoneModel::EPEMessageStopTonePlay ); |
516 MPEPhoneModel::EPEMessageStopTonePlay ); |
533 break; |
517 break; |
534 |
518 |
535 case EPhoneCallComingCmdSoftReject: |
519 case EPhoneCallComingCmdSoftReject: |
536 // Open Soft reject message editor |
520 // Open Soft reject message editor |
537 OpenSoftRejectMessageL(); |
521 OpenSoftRejectMessageEditorL(); |
538 break; |
522 break; |
539 |
523 |
540 case EPhoneNumberAcqCmdSendCommand: |
524 case EPhoneNumberAcqCmdSendCommand: |
541 HandleSendL(); |
525 HandleSendL(); |
|
526 break; |
|
527 |
|
528 case EPhoneInCallCmdHelp: |
|
529 { |
|
530 TPtrC contextName; |
|
531 if( IsVideoCall( iRingingCallId ) ) |
|
532 { |
|
533 contextName.Set( KINCAL_HLP_VIDEOCALL() ); |
|
534 } |
|
535 else |
|
536 { |
|
537 contextName.Set( KINCAL_HLP_CALL_HANDLING() ); |
|
538 } |
|
539 iViewCommandHandle->ExecuteCommandL( |
|
540 EPhoneViewLaunchHelpApplication, 0, contextName ); |
|
541 } |
542 break; |
542 break; |
543 |
543 |
544 default: |
544 default: |
545 commandStatus = CPhoneState::HandleCommandL( aCommand ); |
545 commandStatus = CPhoneState::HandleCommandL( aCommand ); |
546 break; |
546 break; |
592 iStateMachine->SetCallId( iRingingCallId ); |
592 iStateMachine->SetCallId( iRingingCallId ); |
593 |
593 |
594 if( IsVideoCall( iRingingCallId ) ) |
594 if( IsVideoCall( iRingingCallId ) ) |
595 { |
595 { |
596 // Video call can be released only after we get response to VT Shutdown Command |
596 // Video call can be released only after we get response to VT Shutdown Command |
597 CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain, |
597 CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( |
598 KCatPhoneToVideotelCommands, |
598 KMediatorVideoTelephonyDomain, |
599 EVtCmdReleaseDataport, |
599 KCatPhoneToVideotelCommands, |
600 TVersion( KPhoneToVideotelCmdVersionMajor, |
600 EVtCmdReleaseDataport, |
601 KPhoneToVideotelCmdVersionMinor, |
601 TVersion( KPhoneToVideotelCmdVersionMajor, |
602 KPhoneToVideotelCmdVersionBuild ), |
602 KPhoneToVideotelCmdVersionMinor, |
603 KNullDesC8, |
603 KPhoneToVideotelCmdVersionBuild ), |
604 CPhoneReleaseCommand::NewL( *iStateMachine ) ); |
604 KNullDesC8, |
|
605 CPhoneReleaseCommand::NewL( *iStateMachine ) ); |
605 } |
606 } |
606 else |
607 else |
607 { |
608 { |
608 // Release the call |
609 // Release the call |
609 iStateMachine->SendPhoneEngineMessage( |
610 iStateMachine->SendPhoneEngineMessage( |
615 |
616 |
616 // ----------------------------------------------------------- |
617 // ----------------------------------------------------------- |
617 // CPhoneStateIncoming::OpenSoftRejectMessageEditorL |
618 // CPhoneStateIncoming::OpenSoftRejectMessageEditorL |
618 // ----------------------------------------------------------- |
619 // ----------------------------------------------------------- |
619 // |
620 // |
620 void CPhoneStateIncoming::OpenSoftRejectMessageL() |
621 void CPhoneStateIncoming::OpenSoftRejectMessageEditorL() |
621 { |
622 { |
622 __LOGMETHODSTARTEND(EPhoneControl, |
623 __LOGMETHODSTARTEND(EPhoneControl, |
623 "CPhoneStateIncoming::OpenSoftRejectMessageEditorL ()" ); |
624 "CPhoneStateIncoming::OpenSoftRejectMessageEditorL ()" ); |
|
625 // Clear the soft reject flag |
|
626 TPhoneCmdParamBoolean softRejectParam; |
|
627 softRejectParam.SetBoolean( EFalse ); |
|
628 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetSoftRejectFlag, |
|
629 &softRejectParam ); |
|
630 |
|
631 // Dim silence button |
|
632 SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent ); |
624 |
633 |
625 // Silence the vibrating |
634 // Silence the vibrating |
626 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
635 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
627 iStateMachine->SendPhoneEngineMessage( |
636 iStateMachine->SendPhoneEngineMessage( |
628 MPEPhoneModel::EPEMessageStopTonePlay ); |
637 MPEPhoneModel::EPEMessageStopTonePlay ); |
652 |
661 |
653 iViewCommandHandle->ExecuteCommandL( |
662 iViewCommandHandle->ExecuteCommandL( |
654 EPhoneViewOpenSoftRejectEditor, &sfiDataParam ); |
663 EPhoneViewOpenSoftRejectEditor, &sfiDataParam ); |
655 } |
664 } |
656 |
665 |
|
666 // ----------------------------------------------------------- |
|
667 // CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL |
|
668 // ----------------------------------------------------------- |
|
669 // |
|
670 TBool CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() const |
|
671 { |
|
672 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL () "); |
|
673 // Get the foreground application window group id |
|
674 TPhoneCmdParamInteger foregroundAppParam; |
|
675 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetForegroundApplication, |
|
676 &foregroundAppParam ); |
|
677 |
|
678 // Get the soft reject message editor window group id |
|
679 TPhoneCmdParamInteger softRejectMessageEditorWgId; |
|
680 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSoftRejectWindowGroupId, |
|
681 &softRejectMessageEditorWgId ); |
|
682 |
|
683 __PHONELOG1( |
|
684 EBasic, |
|
685 EPhoneControl, |
|
686 "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() SoftRejectGroupId %d", |
|
687 softRejectMessageEditorWgId.Integer() ); |
|
688 __PHONELOG1( |
|
689 EBasic, |
|
690 EPhoneControl, |
|
691 "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() ForegroundAppGroupId %d", |
|
692 foregroundAppParam.Integer() ); |
|
693 // Return ETrue if soft reject message editor is displayed |
|
694 return softRejectMessageEditorWgId.Integer() == foregroundAppParam.Integer(); |
|
695 } |
|
696 |
|
697 // ----------------------------------------------------------- |
|
698 // CPhoneStateIncoming::OpenMenuBarL |
|
699 // ----------------------------------------------------------- |
|
700 // |
|
701 void CPhoneStateIncoming::OpenMenuBarL() |
|
702 { |
|
703 __LOGMETHODSTARTEND(EPhoneControl, |
|
704 "CPhoneStateIncoming::OpenMenuBarL ()" ); |
|
705 TInt resourceId; |
|
706 |
|
707 // Determine the correct menu bar to display |
|
708 if ( CPhoneState::IsNumberEntryVisibleL() ) |
|
709 { |
|
710 resourceId = GetNumberEntryVisibleMenuBar(); |
|
711 } |
|
712 else |
|
713 { |
|
714 resourceId = GetNumberEntryNotVisibleMenuBar(); |
|
715 } |
|
716 |
|
717 // Silence the ringer. And stop vibrating, if it is active. |
|
718 iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); |
|
719 iStateMachine->SendPhoneEngineMessage( |
|
720 MPEPhoneModel::EPEMessageStopTonePlay ); |
|
721 |
|
722 //Set correct cba |
|
723 HandleAudioPlayStoppedL(); |
|
724 |
|
725 // Dim button |
|
726 SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent ); |
|
727 |
|
728 // Open the menu bar |
|
729 TPhoneCmdParamInteger integerParam; |
|
730 integerParam.SetInteger( |
|
731 CPhoneMainResourceResolver::Instance()-> |
|
732 ResolveResourceID( resourceId ) ); |
|
733 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen, |
|
734 &integerParam ); |
|
735 } |
657 |
736 |
658 // ----------------------------------------------------------- |
737 // ----------------------------------------------------------- |
659 // CPhoneStateIncoming::GetNumberEntryVisibleMenuBar |
738 // CPhoneStateIncoming::GetNumberEntryVisibleMenuBar |
660 // ----------------------------------------------------------- |
739 // ----------------------------------------------------------- |
661 // |
740 // |
683 } |
762 } |
684 else |
763 else |
685 { |
764 { |
686 return EPhoneIncomingCallMenubar; |
765 return EPhoneIncomingCallMenubar; |
687 } |
766 } |
|
767 } |
|
768 |
|
769 // ----------------------------------------------------------- |
|
770 // CPhoneStateIncoming::DynInitMenuPaneL |
|
771 // ----------------------------------------------------------- |
|
772 // |
|
773 EXPORT_C void CPhoneStateIncoming::DynInitMenuPaneL( |
|
774 TInt aResourceId, |
|
775 CEikMenuPane* aMenuPane ) |
|
776 { |
|
777 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::DynInitMenuPaneL() "); |
|
778 __ASSERT_DEBUG( aMenuPane && aResourceId, |
|
779 Panic( EPhoneCtrlParameterNotInitialized ) ); |
|
780 |
|
781 // Save the number of digits in the number entry before processing |
|
782 // the menu pane |
|
783 if ( IsNumberEntryUsedL() ) |
|
784 { |
|
785 TPhoneCmdParamBoolean serviceCodeParam; |
|
786 serviceCodeParam.SetBoolean( ETrue ); |
|
787 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetServiceCodeFlag, |
|
788 &serviceCodeParam ); |
|
789 } |
|
790 |
|
791 if ( iCustomization ) |
|
792 { |
|
793 iCustomization->CustomizeMenuPaneL(aResourceId, aMenuPane); |
|
794 } |
|
795 // Process the menu pane |
|
796 TPhoneCmdParamDynMenu dynMenuPane; |
|
797 dynMenuPane.SetResourceId( aResourceId ); |
|
798 dynMenuPane.SetDynMenu( aMenuPane ); |
|
799 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuPane, &dynMenuPane ); |
688 } |
800 } |
689 |
801 |
690 // ----------------------------------------------------------- |
802 // ----------------------------------------------------------- |
691 // CPhoneStateIncoming::ShowDisconnectingL |
803 // CPhoneStateIncoming::ShowDisconnectingL |
692 // ----------------------------------------------------------- |
804 // ----------------------------------------------------------- |
706 |
818 |
707 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
819 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, |
708 &callHeaderParam ); |
820 &callHeaderParam ); |
709 } |
821 } |
710 |
822 |
711 // --------------------------------------------------------- |
|
712 // CPhoneStateIncoming::HandleKeyLockEnabledL |
|
713 // --------------------------------------------------------- |
|
714 // |
|
715 EXPORT_C void CPhoneStateIncoming::HandleKeyLockEnabled( TBool aKeylockEnabled ) |
|
716 { |
|
717 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleKeyLockEnabledL( ) "); |
|
718 if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) |
|
719 && CPhoneCenRepProxy::Instance()-> |
|
720 IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) ) |
|
721 { |
|
722 if( aKeylockEnabled ) |
|
723 { |
|
724 // Keylock enabled |
|
725 if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() ) |
|
726 { |
|
727 // Disable HW Keys if needed |
|
728 DisableHWKeysL(); |
|
729 } |
|
730 } |
|
731 else |
|
732 { |
|
733 // Keylock disabled |
|
734 // Reset blocked keys list |
|
735 iStateMachine->PhoneStorage()->ResetBlockedKeysList(); |
|
736 } |
|
737 } |
|
738 } |
|
739 |
|
740 // End of File |
823 // End of File |