54 #include <videotelcontrolmediatorapi.h> |
54 #include <videotelcontrolmediatorapi.h> |
55 #include <textresolver.h> |
55 #include <textresolver.h> |
56 #include <phoneappvoipcommands.hrh> |
56 #include <phoneappvoipcommands.hrh> |
57 #include <hwrmdomainpskeys.h> |
57 #include <hwrmdomainpskeys.h> |
58 #include <hal.h> |
58 #include <hal.h> |
59 #include <phoneui.rsg> |
|
60 |
59 |
61 #include "phoneui.pan" |
60 #include "phoneui.pan" |
62 #include "cphonestate.h" |
61 #include "cphonestate.h" |
63 #include "mphonestatemachine.h" |
62 #include "mphonestatemachine.h" |
64 #include "mphoneviewcommandhandle.h" |
63 #include "mphoneviewcommandhandle.h" |
77 #include "tphonecmdparamcallstatedata.h" |
76 #include "tphonecmdparamcallstatedata.h" |
78 #include "tphonecmdparambitmap.h" |
77 #include "tphonecmdparambitmap.h" |
79 #include "tphonecmdparamaudiooutput.h" |
78 #include "tphonecmdparamaudiooutput.h" |
80 #include "tphonecmdparamaudioavailability.h" |
79 #include "tphonecmdparamaudioavailability.h" |
81 #include "tphonecmdparamappinfo.h" |
80 #include "tphonecmdparamappinfo.h" |
|
81 #include "tphonecmdparamtranseffect.h" |
82 #include "tphonecmdparamringtone.h" |
82 #include "tphonecmdparamringtone.h" |
83 #include "tphonecmdparamcustomdialer.h" |
83 #include "tphonecmdparamcustomdialer.h" |
84 #include "cphonekeys.h" |
84 #include "cphonekeys.h" |
85 #include "phoneui.hrh" |
85 #include "phoneui.hrh" |
86 #include "phonerssbase.h" |
86 #include "phonerssbase.h" |
115 MPhoneStateMachine* aStateMachine, |
115 MPhoneStateMachine* aStateMachine, |
116 MPhoneViewCommandHandle* aViewCommandHandle, |
116 MPhoneViewCommandHandle* aViewCommandHandle, |
117 MPhoneCustomization* aCustomization) : |
117 MPhoneCustomization* aCustomization) : |
118 iStateMachine( aStateMachine ), |
118 iStateMachine( aStateMachine ), |
119 iViewCommandHandle( aViewCommandHandle ), |
119 iViewCommandHandle( aViewCommandHandle ), |
120 iCustomization( aCustomization ) |
120 iCustomization( aCustomization ), |
|
121 iEnv( *CEikonEnv::Static() ) |
121 { |
122 { |
122 // Need to get current SimState for inherited classis |
123 // Need to get current SimState for inherited classis |
123 iPreviousSimState = SimState(); |
124 iPreviousSimState = SimState(); |
124 __ASSERT_ALWAYS( |
125 __ASSERT_ALWAYS( |
125 aStateMachine && aViewCommandHandle, |
126 aStateMachine && aViewCommandHandle, |
126 Panic( EPhoneCtrlParameterNotInitialized ) ); |
127 Panic( EPhoneCtrlParameterNotInitialized ) ); |
127 if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) ) |
128 if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) ) |
128 { |
129 { |
129 iOnScreenDialer = ETrue; |
130 iOnScreenDialer = ETrue; |
130 } |
131 } |
|
132 iStartupUiPhase = ( TPSStartupUiPhase )CPhonePubSubProxy::Instance()->Value( |
|
133 KPSUidStartup, |
|
134 KPSStartupUiPhase ); |
131 } |
135 } |
132 |
136 |
133 EXPORT_C void CPhoneState::BaseConstructL() |
137 EXPORT_C void CPhoneState::BaseConstructL() |
134 { |
138 { |
135 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::BaseConstructL() "); |
139 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::BaseConstructL() "); |
803 iViewCommandHandle->ExecuteCommandL( EPhoneViewHideNaviPaneAudioVolume ); |
806 iViewCommandHandle->ExecuteCommandL( EPhoneViewHideNaviPaneAudioVolume ); |
804 break; |
807 break; |
805 |
808 |
806 case ECCPErrorSatControl: |
809 case ECCPErrorSatControl: |
807 { |
810 { |
|
811 // Re-enable global notes |
|
812 EnableGlobalNotifiersL(); |
|
813 |
808 // check, that there really was a call established before completing SAT request |
814 // check, that there really was a call established before completing SAT request |
809 if( aErrorInfo.iCallId != KPECallIdNotUsed ) |
815 if( aErrorInfo.iCallId != KPECallIdNotUsed ) |
810 { |
816 { |
811 // Complete sat request |
817 // Complete sat request |
812 if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aErrorInfo.iCallId ) == EPECallOriginSAT ) |
818 if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aErrorInfo.iCallId ) == EPECallOriginSAT ) |
1160 EPhoneViewGetEasyDialingInFocusStatus ) == |
1166 EPhoneViewGetEasyDialingInFocusStatus ) == |
1161 EPhoneViewResponseSuccess; |
1167 EPhoneViewResponseSuccess; |
1162 } |
1168 } |
1163 |
1169 |
1164 // ----------------------------------------------------------- |
1170 // ----------------------------------------------------------- |
1165 // CPhoneState::EikonEnv |
|
1166 // ----------------------------------------------------------- |
|
1167 // |
|
1168 EXPORT_C CEikonEnv* CPhoneState::EikonEnv() const |
|
1169 { |
|
1170 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::EikonEnv( ) "); |
|
1171 return iEnv; |
|
1172 } |
|
1173 |
|
1174 // ----------------------------------------------------------- |
|
1175 // CPhoneState::SetEikonEnv |
|
1176 // ----------------------------------------------------------- |
|
1177 // |
|
1178 EXPORT_C void CPhoneState::SetEikonEnv( CEikonEnv* aEnv ) |
|
1179 { |
|
1180 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetEikonEnv( ) "); |
|
1181 iEnv = aEnv; |
|
1182 } |
|
1183 |
|
1184 // ----------------------------------------------------------- |
|
1185 // CPhoneState::SendKeyEventL |
1171 // CPhoneState::SendKeyEventL |
1186 // ----------------------------------------------------------- |
1172 // ----------------------------------------------------------- |
1187 // |
1173 // |
1188 void CPhoneState::SendKeyEventL( |
1174 void CPhoneState::SendKeyEventL( |
1189 const TKeyEvent& aKeyEvent, |
1175 const TKeyEvent& aKeyEvent, |
1493 __PHONELOG( EBasic, EPhoneControl, "CPhoneState::HandlePropertyChangedL - telephony display info received" ); |
1479 __PHONELOG( EBasic, EPhoneControl, "CPhoneState::HandlePropertyChangedL - telephony display info received" ); |
1494 // Update the operator and profile display |
1480 // Update the operator and profile display |
1495 UpdateProfileDisplayL(); |
1481 UpdateProfileDisplayL(); |
1496 } |
1482 } |
1497 } |
1483 } |
1498 else if ( aCategory == KPSUidStartup && aKey == KStartupSimSecurityStatus ) |
1484 else if ( aCategory == KPSUidStartup ) |
1499 { |
1485 { |
1500 // Show security note, SIM is not valid. |
1486 if ( aKey == KStartupSimSecurityStatus ) |
1501 if ( aValue == ESimRejected |
1487 { |
1502 || aValue == ESimUnaccepted |
1488 // Show security note, SIM is not valid. |
1503 || aValue == ESimInvalid ) |
1489 if ( aValue == ESimRejected |
1504 { |
1490 || aValue == ESimUnaccepted |
1505 __PHONELOG( EBasic, EPhoneControl, "CPhoneStateStartup::HandlePropertyChangedL - SimSecurity status received" ); |
1491 || aValue == ESimInvalid ) |
1506 StartShowSecurityNoteL(); |
1492 { |
|
1493 __PHONELOG( EBasic, EPhoneControl, "CPhoneStateStartup::HandlePropertyChangedL - SimSecurity status received" ); |
|
1494 StartShowSecurityNoteL(); |
|
1495 } |
|
1496 } |
|
1497 else if ( aKey == KPSStartupUiPhase ) |
|
1498 { |
|
1499 iStartupUiPhase = aValue; |
1507 } |
1500 } |
1508 } |
1501 } |
1509 else if ( aCategory == KPSUidHWRM && aKey == KHWRMGripStatus ) |
1502 else if ( aCategory == KPSUidHWRM && aKey == KHWRMGripStatus ) |
1510 { |
1503 { |
1511 UpdateCbaSwivelStateChangedL(); |
1504 UpdateCbaSwivelStateChangedL(); |
1973 { |
1966 { |
1974 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DialVoiceCallL() "); |
1967 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DialVoiceCallL() "); |
1975 __ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(), |
1968 __ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(), |
1976 Panic( EPhoneCtrlInvariant ) ); |
1969 Panic( EPhoneCtrlInvariant ) ); |
1977 // Disable global notes |
1970 // Disable global notes |
1978 TPhoneCmdParamBoolean globalNotifierParam; |
1971 DisableGlobalNotifiersL(); |
1979 globalNotifierParam.SetBoolean( ETrue ); |
|
1980 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
1981 &globalNotifierParam ); |
|
1982 iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice ); |
1972 iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice ); |
1983 iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial ); |
1973 iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial ); |
1984 } |
1974 } |
1985 |
1975 |
1986 // ----------------------------------------------------------- |
1976 // ----------------------------------------------------------- |
2219 EXPORT_C void CPhoneState::UpdateSingleActiveCallL( TInt aCallId ) |
2209 EXPORT_C void CPhoneState::UpdateSingleActiveCallL( TInt aCallId ) |
2220 { |
2210 { |
2221 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateSingleActiveCallL( ) "); |
2211 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateSingleActiveCallL( ) "); |
2222 // Stop capturing keys |
2212 // Stop capturing keys |
2223 CaptureKeysDuringCallNotificationL( EFalse ); |
2213 CaptureKeysDuringCallNotificationL( EFalse ); |
2224 TransitionHandlerL().BeginUiUpdateLC(); |
2214 BeginUiUpdateLC(); |
2225 |
2215 |
2226 SetTouchPaneButtonEnabled( EPhoneInCallCmdHold ); |
2216 SetTouchPaneButtonEnabled( EPhoneInCallCmdHold ); |
2227 |
2217 |
2228 // Update call state |
2218 // Update call state |
2229 TPhoneCmdParamCallHeaderData callHeaderParam; |
2219 TPhoneCmdParamCallHeaderData callHeaderParam; |
2619 __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); |
2609 __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); |
2620 if ( CPhonePubSubProxy::Instance()->Value( |
2610 if ( CPhonePubSubProxy::Instance()->Value( |
2621 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 ) |
2611 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 ) |
2622 { |
2612 { |
2623 // Re-enable global notes |
2613 // Re-enable global notes |
2624 TPhoneCmdParamBoolean globalNotifierParam; |
2614 EnableGlobalNotifiersL(); |
2625 globalNotifierParam.SetBoolean( EFalse ); |
|
2626 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
2627 &globalNotifierParam ); |
|
2628 |
2615 |
2629 TPhoneCmdParamGlobalNote globalNoteParam; |
2616 TPhoneCmdParamGlobalNote globalNoteParam; |
2630 |
2617 |
2631 globalNoteParam.SetType( EAknGlobalInformationNote ); |
2618 globalNoteParam.SetType( EAknGlobalInformationNote ); |
2632 globalNoteParam.SetTextResourceId( |
2619 globalNoteParam.SetTextResourceId( |
2650 if ( CPhonePubSubProxy::Instance()->Value( |
2637 if ( CPhonePubSubProxy::Instance()->Value( |
2651 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 || |
2638 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 || |
2652 SimState() == EPESimReadable ) |
2639 SimState() == EPESimReadable ) |
2653 { |
2640 { |
2654 // Re-enable global notes |
2641 // Re-enable global notes |
2655 TPhoneCmdParamBoolean globalNotifierParam; |
2642 EnableGlobalNotifiersL(); |
2656 globalNotifierParam.SetBoolean( EFalse ); |
|
2657 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
2658 &globalNotifierParam ); |
|
2659 |
2643 |
2660 TPhoneCmdParamGlobalNote globalNoteParam; |
2644 TPhoneCmdParamGlobalNote globalNoteParam; |
2661 globalNoteParam.SetType( EAknGlobalWarningNote ); |
2645 globalNoteParam.SetType( EAknGlobalWarningNote ); |
2662 globalNoteParam.SetTextResourceId( |
2646 globalNoteParam.SetTextResourceId( |
2663 CPhoneMainResourceResolver::Instance()-> |
2647 CPhoneMainResourceResolver::Instance()-> |
2679 __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); |
2663 __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) ); |
2680 if ( CPhonePubSubProxy::Instance()->Value( |
2664 if ( CPhonePubSubProxy::Instance()->Value( |
2681 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 ) |
2665 KPSUidUikon, KUikGlobalNotesAllowed ) == 1 ) |
2682 { |
2666 { |
2683 // Re-enable global notes |
2667 // Re-enable global notes |
2684 TPhoneCmdParamBoolean globalNotifierParam; |
2668 EnableGlobalNotifiersL(); |
2685 globalNotifierParam.SetBoolean( EFalse ); |
|
2686 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
2687 &globalNotifierParam ); |
|
2688 |
|
2689 TPhoneCmdParamGlobalNote globalNoteParam; |
2669 TPhoneCmdParamGlobalNote globalNoteParam; |
2690 globalNoteParam.SetType( EAknGlobalErrorNote ); |
2670 globalNoteParam.SetType( EAknGlobalErrorNote ); |
2691 globalNoteParam.SetTextResourceId( |
2671 globalNoteParam.SetTextResourceId( |
2692 CPhoneMainResourceResolver::Instance()-> |
2672 CPhoneMainResourceResolver::Instance()-> |
2693 ResolveResourceID( aResourceId ) ); |
2673 ResolveResourceID( aResourceId ) ); |
3664 // |
3654 // |
3665 EXPORT_C void CPhoneState::ShowNumberBusyNoteL() |
3655 EXPORT_C void CPhoneState::ShowNumberBusyNoteL() |
3666 { |
3656 { |
3667 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::ShowNumberBusyNoteL( ) "); |
3657 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::ShowNumberBusyNoteL( ) "); |
3668 // Re-enable global notes |
3658 // Re-enable global notes |
3669 TPhoneCmdParamBoolean globalNotifierParam; |
3659 EnableGlobalNotifiersL(); |
3670 globalNotifierParam.SetBoolean( EFalse ); |
|
3671 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
3672 &globalNotifierParam ); |
|
3673 |
3660 |
3674 TInt resource( EPhoneNumberBusy ); |
3661 TInt resource( EPhoneNumberBusy ); |
3675 |
3662 |
3676 if( iCustomization ) |
3663 if( iCustomization ) |
3677 { |
3664 { |
3680 } |
3667 } |
3681 |
3668 |
3682 // Show number busy note |
3669 // Show number busy note |
3683 TPhoneCmdParamGlobalNote globalNoteParam; |
3670 TPhoneCmdParamGlobalNote globalNoteParam; |
3684 globalNoteParam.SetType( EAknGlobalInformationNote ); |
3671 globalNoteParam.SetType( EAknGlobalInformationNote ); |
3685 |
3672 globalNoteParam.SetTextResourceId( |
3686 if ( CPhoneCenRepProxy::Instance()-> |
3673 CPhoneMainResourceResolver::Instance()-> |
3687 IsTelephonyFeatureSupported( KTelephonyLVFlagClearCodeCustomization ) ) |
3674 ResolveResourceID( resource ) ); |
3688 { |
|
3689 // Show varied Number busy -note when clear code customization |
|
3690 // is enabled |
|
3691 globalNoteParam.SetTextResourceId( R_NOTE_VAR_CAUSE_17 ); |
|
3692 } |
|
3693 else |
|
3694 { |
|
3695 globalNoteParam.SetTextResourceId( |
|
3696 CPhoneMainResourceResolver::Instance()-> |
|
3697 ResolveResourceID( resource ) ); |
|
3698 } |
|
3699 |
|
3700 globalNoteParam.SetTone( EAvkonSIDInformationTone ); |
3675 globalNoteParam.SetTone( EAvkonSIDInformationTone ); |
3701 iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, |
3676 iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, |
3702 &globalNoteParam ); |
3677 &globalNoteParam ); |
3703 } |
3678 } |
3704 |
3679 |
3865 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::OpenVKB() "); |
3840 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::OpenVKB() "); |
3866 iViewCommandHandle->ExecuteCommandL( EPhoneViewOpenVirtualKeyBoard ); |
3841 iViewCommandHandle->ExecuteCommandL( EPhoneViewOpenVirtualKeyBoard ); |
3867 } |
3842 } |
3868 |
3843 |
3869 // ----------------------------------------------------------- |
3844 // ----------------------------------------------------------- |
|
3845 // CPhoneState::BeginUiUpdateLC |
|
3846 // ----------------------------------------------------------- |
|
3847 // |
|
3848 EXPORT_C void CPhoneState::BeginUiUpdateLC() |
|
3849 { |
|
3850 iViewCommandHandle->ExecuteCommand( EPhoneViewBeginUpdate ); |
|
3851 TCleanupItem operation( UiUpdateCleanup, this ); |
|
3852 CleanupStack::PushL( operation ); |
|
3853 } |
|
3854 |
|
3855 // ----------------------------------------------------------- |
|
3856 // CPhoneState::EndUiUpdate |
|
3857 // ----------------------------------------------------------- |
|
3858 // |
|
3859 EXPORT_C void CPhoneState::EndUiUpdate() |
|
3860 { |
|
3861 CleanupStack::PopAndDestroy(); // Call UiUpdateCleanup |
|
3862 } |
|
3863 |
|
3864 // ----------------------------------------------------------- |
|
3865 // CPhoneState::BeginTransEffectLC |
|
3866 // ----------------------------------------------------------- |
|
3867 // |
|
3868 EXPORT_C void CPhoneState::BeginTransEffectLC( TStateTransEffectType aType ) |
|
3869 { |
|
3870 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::BeginTransEffectLC( ) "); |
|
3871 TPhoneCmdParamTransEffect effectParam; |
|
3872 switch ( aType ) |
|
3873 { |
|
3874 case ENumberEntryOpen: |
|
3875 effectParam.SetType( EPhoneTransEffectDialerOpen ); |
|
3876 break; |
|
3877 case ENumberEntryClose: |
|
3878 effectParam.SetType( EPhoneTransEffectDialerClose ); |
|
3879 break; |
|
3880 case ENumberEntryCreate: |
|
3881 effectParam.SetType( EPhoneTransEffectDialerCreate ); |
|
3882 break; |
|
3883 case ECallUiAppear: |
|
3884 effectParam.SetType( EPhoneTransEffectCallUiAppear ); |
|
3885 break; |
|
3886 case ECallUiDisappear: |
|
3887 effectParam.SetType( EPhoneTransEffectCallUiDisappear ); |
|
3888 break; |
|
3889 default: |
|
3890 effectParam.SetType( EPhoneTransEffectNone ); |
|
3891 } |
|
3892 effectParam.SetAppUid( KUidPhoneApplication ); |
|
3893 iViewCommandHandle->ExecuteCommand( |
|
3894 EPhoneViewBeginTransEffect, |
|
3895 &effectParam ); |
|
3896 // Always put the cleanup item into stack as expected by the caller. |
|
3897 TCleanupItem operation( EffectCleanup, this ); |
|
3898 CleanupStack::PushL( operation ); |
|
3899 } |
|
3900 |
|
3901 // ----------------------------------------------------------- |
|
3902 // CPhoneState::EndTransEffect |
|
3903 // ----------------------------------------------------------- |
|
3904 // |
|
3905 EXPORT_C void CPhoneState::EndTransEffect() |
|
3906 { |
|
3907 CleanupStack::PopAndDestroy(); // Call EffectCleanup |
|
3908 } |
|
3909 |
|
3910 // ----------------------------------------------------------- |
3870 // CPhoneState::CheckIfShowTerminationNote |
3911 // CPhoneState::CheckIfShowTerminationNote |
3871 // This method is intended to be overridden in states |
3912 // This method is intended to be overridden in states |
3872 // that contain more info about decision. |
3913 // that contain more info about decision. |
3873 // ----------------------------------------------------------- |
3914 // ----------------------------------------------------------- |
3874 // |
3915 // |
3902 { |
3943 { |
3903 SendDtmfKeyEventL( aKeyEvent, aEventCode ); |
3944 SendDtmfKeyEventL( aKeyEvent, aEventCode ); |
3904 } |
3945 } |
3905 |
3946 |
3906 // ----------------------------------------------------------------------------- |
3947 // ----------------------------------------------------------------------------- |
|
3948 // CPhoneState::UiUpdateCleanup |
|
3949 // ----------------------------------------------------------------------------- |
|
3950 // |
|
3951 void CPhoneState::UiUpdateCleanup(TAny* aThis ) |
|
3952 { |
|
3953 static_cast<CPhoneState*>( aThis )->iViewCommandHandle->ExecuteCommand( |
|
3954 EPhoneViewEndUpdate ); |
|
3955 } |
|
3956 |
|
3957 // ----------------------------------------------------------------------------- |
|
3958 // CPhoneState::EffectCleanup |
|
3959 // ----------------------------------------------------------------------------- |
|
3960 // |
|
3961 void CPhoneState::EffectCleanup(TAny* aThis ) |
|
3962 { |
|
3963 TPhoneCmdParamTransEffect effectParam; |
|
3964 effectParam.SetType( EPhoneTransEffectStop ); |
|
3965 // won't do anything if effect wasn't started |
|
3966 static_cast<CPhoneState*>( aThis )->iViewCommandHandle->ExecuteCommand( |
|
3967 EPhoneViewEndTransEffect, &effectParam ); |
|
3968 } |
|
3969 |
|
3970 // ----------------------------------------------------------------------------- |
3907 // CPhoneState::IsDTMFEditorVisibleL |
3971 // CPhoneState::IsDTMFEditorVisibleL |
3908 // ----------------------------------------------------------------------------- |
3972 // ----------------------------------------------------------------------------- |
3909 // |
3973 // |
3910 EXPORT_C TBool CPhoneState::IsDTMFEditorVisibleL() const |
3974 EXPORT_C TBool CPhoneState::IsDTMFEditorVisibleL() const |
3911 { |
3975 { |
3927 TPhoneCmdParamBoolean booleanParam; |
3991 TPhoneCmdParamBoolean booleanParam; |
3928 booleanParam.SetBoolean( EFalse ); |
3992 booleanParam.SetBoolean( EFalse ); |
3929 iViewCommandHandle->ExecuteCommandL( |
3993 iViewCommandHandle->ExecuteCommandL( |
3930 EPhoneViewSetDtmfDialerViewVisible, |
3994 EPhoneViewSetDtmfDialerViewVisible, |
3931 &booleanParam ); |
3995 &booleanParam ); |
3932 CloseClearNumberEntryAndLoadEffectL( EPhoneTransEffectCallUiAppear ); |
3996 CloseClearNumberEntryAndLoadEffectL( ECallUiAppear ); |
3933 } |
3997 } |
3934 else // Non-Touch |
3998 else // Non-Touch |
3935 { |
3999 { |
3936 // If dtmf query is visible then remove number entry |
4000 // If dtmf query is visible then remove number entry |
3937 // because it should not be shown if user has pressed end key. |
4001 // because it should not be shown if user has pressed end key. |
3958 |
4022 |
3959 // Update FSW |
4023 // Update FSW |
3960 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW ); |
4024 iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW ); |
3961 |
4025 |
3962 // Re-enable global notes |
4026 // Re-enable global notes |
3963 TPhoneCmdParamBoolean globalNotifierParam; |
4027 EnableGlobalNotifiersL(); |
3964 globalNotifierParam.SetBoolean( EFalse ); |
4028 EnableEikonNotifiersL(); |
3965 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
3966 &globalNotifierParam ); |
|
3967 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
|
3968 &globalNotifierParam ); |
|
3969 |
4029 |
3970 // uncapture App and Camera keys if not security mode |
4030 // uncapture App and Camera keys if not security mode |
3971 if ( !iStateMachine->SecurityMode()->IsSecurityMode() ) |
4031 if ( !iStateMachine->SecurityMode()->IsSecurityMode() ) |
3972 { |
4032 { |
3973 CaptureKeysDuringCallNotificationL( EFalse ); |
4033 CaptureKeysDuringCallNotificationL( EFalse ); |
4000 { |
4060 { |
4001 __LOGMETHODSTARTEND(EPhoneControl, |
4061 __LOGMETHODSTARTEND(EPhoneControl, |
4002 "CPhoneState::ShowVideoCallOutOfMemoryNoteL()" ); |
4062 "CPhoneState::ShowVideoCallOutOfMemoryNoteL()" ); |
4003 |
4063 |
4004 // Re-enable global notes |
4064 // Re-enable global notes |
4005 TPhoneCmdParamBoolean globalNotifierParam; |
4065 EnableGlobalNotifiersL(); |
4006 globalNotifierParam.SetBoolean( EFalse ); |
|
4007 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
4008 &globalNotifierParam ); |
|
4009 |
4066 |
4010 // Bring Phone app in the foreground |
4067 // Bring Phone app in the foreground |
4011 TPhoneCmdParamInteger uidParam; |
4068 TPhoneCmdParamInteger uidParam; |
4012 uidParam.SetInteger( KUidPhoneApplication.iUid ); |
4069 uidParam.SetInteger( KUidPhoneApplication.iUid ); |
4013 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
4070 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
4235 CleanupStack::PopAndDestroy( buf ); |
4292 CleanupStack::PopAndDestroy( buf ); |
4236 } |
4293 } |
4237 } |
4294 } |
4238 |
4295 |
4239 // ----------------------------------------------------------- |
4296 // ----------------------------------------------------------- |
4240 // CPhoneState::TransitionHandlerL |
|
4241 // ----------------------------------------------------------- |
|
4242 // |
|
4243 EXPORT_C TPhoneTransitionHandler& CPhoneState::TransitionHandlerL() |
|
4244 { |
|
4245 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::TransitionHandlerL() "); |
|
4246 if ( !iTransitionHandler ) |
|
4247 { |
|
4248 iTransitionHandler = new (ELeave)TPhoneTransitionHandler( |
|
4249 *this, *iViewCommandHandle ); |
|
4250 } |
|
4251 return *iTransitionHandler; |
|
4252 } |
|
4253 |
|
4254 // ----------------------------------------------------------- |
|
4255 // CPhoneState::CallheaderManagerL |
4297 // CPhoneState::CallheaderManagerL |
4256 // ----------------------------------------------------------- |
4298 // ----------------------------------------------------------- |
4257 // |
4299 // |
4258 CPhoneCallHeaderManager* CPhoneState::CallheaderManagerL() |
4300 CPhoneCallHeaderManager* CPhoneState::CallheaderManagerL() |
4259 { |
4301 { |
4275 EXPORT_C void CPhoneState::CloseCustomizedDialerL() |
4317 EXPORT_C void CPhoneState::CloseCustomizedDialerL() |
4276 { |
4318 { |
4277 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CloseCustomizedDialerL( ) "); |
4319 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CloseCustomizedDialerL( ) "); |
4278 // Set dialer back to default mode. |
4320 // Set dialer back to default mode. |
4279 iViewCommandHandle->HandleCommandL( EPhoneViewHideCustomizedDialer ); |
4321 iViewCommandHandle->HandleCommandL( EPhoneViewHideCustomizedDialer ); |
4280 CloseClearNumberEntryAndLoadEffectL( EPhoneTransEffectPhoneUiClose ); |
4322 CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); |
4281 } |
4323 } |
4282 |
4324 |
4283 // ----------------------------------------------------------------------------- |
4325 // ----------------------------------------------------------------------------- |
4284 // CPhoneState::CustomizedDialerMenuResourceId |
4326 // CPhoneState::CustomizedDialerMenuResourceId |
4285 // ----------------------------------------------------------------------------- |
4327 // ----------------------------------------------------------------------------- |
4324 // Set dialer to DTMF mode. |
4366 // Set dialer to DTMF mode. |
4325 TPhoneCmdParamBoolean booleanParam; |
4367 TPhoneCmdParamBoolean booleanParam; |
4326 booleanParam.SetBoolean( ETrue ); |
4368 booleanParam.SetBoolean( ETrue ); |
4327 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfDialerViewVisible, |
4369 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfDialerViewVisible, |
4328 &booleanParam ); |
4370 &booleanParam ); |
4329 TransitionHandlerL(). |
4371 BeginTransEffectLC( ECallUiDisappear ); |
4330 BeginTransEffectLC( EPhoneTransEffectCallUiDisappear ); |
|
4331 if ( IsNumberEntryUsedL() ) |
4372 if ( IsNumberEntryUsedL() ) |
4332 { |
4373 { |
4333 // Store the number entry content to cache |
4374 // Store the number entry content to cache |
4334 if ( !IsNumberEntryContentStored() ) |
4375 if ( !IsNumberEntryContentStored() ) |
4335 { |
4376 { |
4410 { |
4451 { |
4411 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::LoadResource() "); |
4452 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::LoadResource() "); |
4412 __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::LoadResource - aResource: %d", aResource ); |
4453 __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::LoadResource - aResource: %d", aResource ); |
4413 StringLoader::Load( aData, |
4454 StringLoader::Load( aData, |
4414 CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), |
4455 CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), |
4415 EikonEnv() ); |
4456 &iEnv ); |
4416 } |
4457 } |
4417 |
4458 |
4418 // ----------------------------------------------------------- |
4459 // ----------------------------------------------------------- |
4419 // CPhoneState::IsAnyConnectedCalls |
4460 // CPhoneState::IsAnyConnectedCalls |
4420 // ----------------------------------------------------------- |
4461 // ----------------------------------------------------------- |
4674 { |
4715 { |
4675 if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) |
4716 if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) |
4676 { |
4717 { |
4677 TPhoneCmdParamInteger integerParam; |
4718 TPhoneCmdParamInteger integerParam; |
4678 integerParam.SetInteger( EPhoneInCallCmdHandset ); |
4719 integerParam.SetInteger( EPhoneInCallCmdHandset ); |
4679 iViewCommandHandle->ExecuteCommand( |
|
4680 EPhoneViewEnableToolbarButton, &integerParam ); |
|
4681 } |
|
4682 } |
|
4683 |
|
4684 // --------------------------------------------------------- |
|
4685 // CPhoneState::SetToolbarButtonBTHFEnabled |
|
4686 // --------------------------------------------------------- |
|
4687 // |
|
4688 EXPORT_C void CPhoneState::SetToolbarButtonBTHFEnabled() |
|
4689 { |
|
4690 if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) |
|
4691 { |
|
4692 TPhoneCmdParamInteger integerParam; |
|
4693 integerParam.SetInteger( EPhoneInCallCmdBtHandsfree ); |
|
4694 iViewCommandHandle->ExecuteCommand( |
4720 iViewCommandHandle->ExecuteCommand( |
4695 EPhoneViewEnableToolbarButton, &integerParam ); |
4721 EPhoneViewEnableToolbarButton, &integerParam ); |
4696 } |
4722 } |
4697 } |
4723 } |
4698 |
4724 |
4805 // ----------------------------------------------------------- |
4831 // ----------------------------------------------------------- |
4806 // |
4832 // |
4807 EXPORT_C void CPhoneState::DisplayCallSetupL( TInt aCallId ) |
4833 EXPORT_C void CPhoneState::DisplayCallSetupL( TInt aCallId ) |
4808 { |
4834 { |
4809 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::DisplayCallSetupL() "); |
4835 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::DisplayCallSetupL() "); |
4810 TransitionHandlerL().BeginTransEffectLC( EPhoneTransEffectCallUiAppear ); |
4836 BeginTransEffectLC( ECallUiAppear ); |
4811 TransitionHandlerL().BeginUiUpdateLC(); |
4837 BeginUiUpdateLC(); |
4812 SetNumberEntryVisibilityL( EFalse ); |
4838 SetNumberEntryVisibilityL( EFalse ); |
4813 CaptureKeysDuringCallNotificationL( ETrue ); |
4839 CaptureKeysDuringCallNotificationL( ETrue ); |
4814 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
4840 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
4815 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); |
4841 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); |
4816 TPhoneCmdParamInteger uidParam; |
4842 TPhoneCmdParamInteger uidParam; |
4818 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
4844 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
4819 &uidParam ); |
4845 &uidParam ); |
4820 // Do state-specific operations. |
4846 // Do state-specific operations. |
4821 DoStateSpecificCallSetUpDefinitionsL(); |
4847 DoStateSpecificCallSetUpDefinitionsL(); |
4822 DisplayHeaderForOutgoingCallL(aCallId); |
4848 DisplayHeaderForOutgoingCallL(aCallId); |
4823 TransitionHandlerL().EndUiUpdateAndEffect(); |
4849 EndUiUpdate(); |
|
4850 EndTransEffect(); |
4824 iCbaManager->UpdateCbaL(EPhoneCallHandlingCallSetupCBA); |
4851 iCbaManager->UpdateCbaL(EPhoneCallHandlingCallSetupCBA); |
4825 } |
4852 } |
4826 |
4853 |
4827 // ----------------------------------------------------------- |
4854 // ----------------------------------------------------------- |
4828 // Sends command to viewcontroller to store the flag |
|
4829 // ----------------------------------------------------------- |
|
4830 // |
|
4831 EXPORT_C void CPhoneState::SetNeedToReturnToForegroundAppStatusL( |
|
4832 TBool aNeedToReturn ) |
|
4833 { |
|
4834 TPhoneCmdParamBoolean booleanParam; |
|
4835 booleanParam.SetBoolean( aNeedToReturn ); |
|
4836 iViewCommandHandle->ExecuteCommandL( |
|
4837 EPhoneViewSetNeedToReturnToForegroundAppStatus, |
|
4838 &booleanParam ); |
|
4839 } |
|
4840 |
|
4841 // ----------------------------------------------------------- |
|
4842 // CPhoneState::DoStateSpecificCallSetUpDefinitionsL |
4855 // CPhoneState::DoStateSpecificCallSetUpDefinitionsL |
4843 // ----------------------------------------------------------- |
4856 // ----------------------------------------------------------- |
4844 // |
4857 // |
4845 EXPORT_C void CPhoneState::DoStateSpecificCallSetUpDefinitionsL() |
4858 EXPORT_C void CPhoneState::DoStateSpecificCallSetUpDefinitionsL() |
4846 { |
4859 { |
4850 // ----------------------------------------------------------- |
4863 // ----------------------------------------------------------- |
4851 // CPhoneState::CloseClearNumberEntryAndLoadEffect |
4864 // CPhoneState::CloseClearNumberEntryAndLoadEffect |
4852 // ----------------------------------------------------------- |
4865 // ----------------------------------------------------------- |
4853 // |
4866 // |
4854 EXPORT_C void CPhoneState::CloseClearNumberEntryAndLoadEffectL( |
4867 EXPORT_C void CPhoneState::CloseClearNumberEntryAndLoadEffectL( |
4855 TPhoneTransEffectType aType ) |
4868 TStateTransEffectType aType ) |
4856 { |
4869 { |
4857 __LOGMETHODSTARTEND( EPhoneControl, |
4870 __LOGMETHODSTARTEND( EPhoneControl, |
4858 "CPhoneState::CloseClearNumberEntryAndLoadEffectL() "); |
4871 "CPhoneState::CloseClearNumberEntryAndLoadEffectL() "); |
4859 TransitionHandlerL().BeginTransEffectLC( aType ); |
4872 BeginTransEffectLC( aType ); |
4860 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
4873 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
4861 TransitionHandlerL().EndTransEffect(); |
4874 EndTransEffect(); |
4862 // Do state-specific operation when number entry is cleared |
4875 // Do state-specific operation when number entry is cleared |
4863 HandleNumberEntryClearedL(); |
4876 HandleNumberEntryClearedL(); |
4864 } |
4877 } |
4865 |
4878 |
|
4879 // ----------------------------------------------------------- |
|
4880 // CPhoneState::AllStartupQueriesDisplayed |
|
4881 // ----------------------------------------------------------- |
|
4882 // |
|
4883 TBool CPhoneState::AllStartupQueriesDisplayed() |
|
4884 { |
|
4885 return ( EStartupUiPhaseAllDone == iStartupUiPhase ); |
|
4886 } |
|
4887 |
|
4888 // ----------------------------------------------------------- |
|
4889 // CPhoneState::EnableGlobalNotifiersL |
|
4890 // ----------------------------------------------------------- |
|
4891 // |
|
4892 EXPORT_C void CPhoneState::EnableGlobalNotifiersL() |
|
4893 { |
|
4894 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::EnableGlobalNotifiersL() "); |
|
4895 TPhoneCmdParamBoolean globalNotifierParam; |
|
4896 globalNotifierParam.SetBoolean( EFalse ); |
|
4897 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
4898 &globalNotifierParam ); |
|
4899 } |
|
4900 |
|
4901 // ----------------------------------------------------------- |
|
4902 // CPhoneState::DisableGlobalNotifiersL |
|
4903 // ----------------------------------------------------------- |
|
4904 // |
|
4905 EXPORT_C void CPhoneState::DisableGlobalNotifiersL() |
|
4906 { |
|
4907 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::DisableGlobalNotifiersL() "); |
|
4908 TPhoneCmdParamBoolean globalNotifierParam; |
|
4909 globalNotifierParam.SetBoolean( ETrue ); |
|
4910 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, |
|
4911 &globalNotifierParam ); |
|
4912 } |
|
4913 |
|
4914 // ----------------------------------------------------------- |
|
4915 // CPhoneState::EnableEikonNotifiersL |
|
4916 // ----------------------------------------------------------- |
|
4917 // |
|
4918 EXPORT_C void CPhoneState::EnableEikonNotifiersL() |
|
4919 { |
|
4920 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::EnableEikonNotifiersL() "); |
|
4921 TPhoneCmdParamBoolean eikonNotifierParam; |
|
4922 eikonNotifierParam.SetBoolean( EFalse ); |
|
4923 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
|
4924 &eikonNotifierParam ); |
|
4925 } |
|
4926 |
|
4927 // ----------------------------------------------------------- |
|
4928 // CPhoneState::DisableEikonNotifiersL |
|
4929 // ----------------------------------------------------------- |
|
4930 // |
|
4931 EXPORT_C void CPhoneState::DisableEikonNotifiersL() |
|
4932 { |
|
4933 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::DisableEikonNotifiersL() "); |
|
4934 TPhoneCmdParamBoolean eikonNotifierParam; |
|
4935 eikonNotifierParam.SetBoolean( ETrue ); |
|
4936 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, |
|
4937 &eikonNotifierParam ); |
|
4938 } |
|
4939 |
4866 // End of File |
4940 // End of File |
4867 |
4941 |