470 { |
470 { |
471 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
471 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
472 KPSUidScreenSaver, |
472 KPSUidScreenSaver, |
473 KScreenSaverAllowScreenSaver, |
473 KScreenSaverAllowScreenSaver, |
474 EPhoneScreensaverNotAllowed ); |
474 EPhoneScreensaverNotAllowed ); |
475 |
|
476 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
475 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
477 iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); |
476 iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); |
478 } |
477 } |
479 else |
478 else |
480 { |
479 { |
481 MakeStateTransitionToSingleL(); |
480 MakeStateTransitionToSingleL(); |
482 } |
481 } |
483 } |
482 } |
484 break; |
483 break; |
485 |
484 |
486 case ETwoActiveCalls: |
485 case ETwoActiveCalls: |
840 CPEPhoneModelIF::EPEMessageHoldConference ); |
839 CPEPhoneModelIF::EPEMessageHoldConference ); |
841 } |
840 } |
842 } |
841 } |
843 |
842 |
844 // ----------------------------------------------------------- |
843 // ----------------------------------------------------------- |
845 // CPhoneConference::HandleDiallingL |
844 // CPhoneConference::HandleDialingL |
846 // ----------------------------------------------------------- |
845 // ----------------------------------------------------------- |
847 // |
846 // |
848 void CPhoneConference::HandleDiallingL( TInt aCallId ) |
847 void CPhoneConference::HandleDialingL( TInt aCallId ) |
849 { |
848 { |
850 __LOGMETHODSTARTEND( EPhoneUIStates, |
849 __LOGMETHODSTARTEND( EPhoneUIStates, |
851 "CPhoneConference::HandleDiallingL()"); |
850 "CPhoneConference::HandleDialingL()"); |
852 |
|
853 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
851 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
854 KPSUidScreenSaver, |
852 KPSUidScreenSaver, |
855 KScreenSaverAllowScreenSaver, |
853 KScreenSaverAllowScreenSaver, |
856 EPhoneScreensaverNotAllowed ); |
854 EPhoneScreensaverNotAllowed ); |
857 |
855 CloseSelectionListL(); |
858 BeginUiUpdateLC(); |
|
859 |
|
860 CloseSelectionListL(); |
|
861 |
|
862 SetNumberEntryVisibilityL(EFalse); |
|
863 |
856 |
864 // Display call setup |
857 // Display call setup |
865 DisplayCallSetupL( aCallId ); |
858 DisplayCallSetupL( aCallId ); |
866 |
859 |
867 // Conference is understood as single call in buttons enumerations. |
|
868 SetTouchPaneButtons(EPhoneCallSetupAndSingleButtons); |
|
869 |
|
870 EndUiUpdate(); |
|
871 |
|
872 // Set Call Setup CBA |
|
873 UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); |
|
874 |
|
875 // Go to conference and call setup state |
860 // Go to conference and call setup state |
876 iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); |
861 iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); |
877 } |
862 } |
878 |
863 |
879 // ----------------------------------------------------------- |
864 // ----------------------------------------------------------- |
880 // CPhoneConference::DisplayCallSetupL |
865 // CPhoneConference::DoStateSpecificCallSetUpDefinitionsL |
881 // ----------------------------------------------------------- |
866 // ----------------------------------------------------------- |
882 // |
867 // |
883 void CPhoneConference::DisplayCallSetupL( TInt aCallId ) |
868 EXPORT_C void CPhoneConference::DoStateSpecificCallSetUpDefinitionsL() |
884 { |
869 { |
885 __LOGMETHODSTARTEND( EPhoneUIStates, |
870 // Show incoming call buttons |
886 "CPhoneConference::DisplayCallSetupL()"); |
871 SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons ); |
887 // Close menu bar, if it is displayed |
|
888 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
|
889 |
|
890 // Remove dialogs if necessary |
|
891 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); |
|
892 |
|
893 // Capture keys when the phone is dialling |
|
894 CaptureKeysDuringCallNotificationL( ETrue ); |
|
895 |
|
896 // Bring Phone app in the foreground |
|
897 TPhoneCmdParamInteger uidParam; |
|
898 uidParam.SetInteger( KUidPhoneApplication.iUid ); |
|
899 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
|
900 &uidParam ); |
|
901 |
|
902 // Display call setup header |
|
903 DisplayHeaderForOutgoingCallL( aCallId ); |
|
904 } |
872 } |
905 |
873 |
906 // --------------------------------------------------------- |
874 // --------------------------------------------------------- |
907 // CPhoneConference::CallFromNewCallQueryL |
875 // CPhoneConference::CallFromNewCallQueryL |
908 // --------------------------------------------------------- |
876 // --------------------------------------------------------- |
941 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
909 CPhonePubSubProxy::Instance()->ChangePropertyValue( |
942 KPSUidScreenSaver, |
910 KPSUidScreenSaver, |
943 KScreenSaverAllowScreenSaver, |
911 KScreenSaverAllowScreenSaver, |
944 EPhoneScreensaverNotAllowed ); |
912 EPhoneScreensaverNotAllowed ); |
945 |
913 |
|
914 IsNumberEntryUsedL() ? |
|
915 BeginTransEffectLC( ECallUiAppear ) : |
|
916 BeginTransEffectLC( ENumberEntryOpen ); |
946 BeginUiUpdateLC(); |
917 BeginUiUpdateLC(); |
947 |
918 |
948 // Hide the number entry if it exists |
919 // Hide the number entry if it exists |
949 if ( IsNumberEntryUsedL() ) |
920 if ( IsNumberEntryUsedL() ) |
950 { |
921 { |
951 SetNumberEntryVisibilityL( EFalse ); |
922 SetNumberEntryVisibilityL( EFalse ); |
952 } |
923 } |
953 |
924 |
954 // Indicate that the menu application on foreground needs to be sent back to the foreground |
925 // Indicate that the menu application on foreground needs to be sent back to the foreground |
955 // after call is ended. |
926 // after call is ended. |
956 TPhoneCmdParamBoolean booleanParam; |
927 SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); |
957 booleanParam.SetBoolean( !TopAppIsDisplayedL() ); |
928 |
958 iViewCommandHandle->ExecuteCommandL( |
|
959 EPhoneViewSetNeedToReturnToForegroundAppStatus, |
|
960 &booleanParam ); |
|
961 |
|
962 TPhoneCmdParamBoolean dialerParam; |
929 TPhoneCmdParamBoolean dialerParam; |
963 dialerParam.SetBoolean( ETrue ); |
930 dialerParam.SetBoolean( ETrue ); |
964 |
931 |
965 // Get allow waiting call header param value. |
932 // Get allow waiting call header param value. |
966 AllowShowingOfWaitingCallHeaderL( dialerParam ); |
933 AllowShowingOfWaitingCallHeaderL( dialerParam ); |
967 |
934 |
968 CloseSelectionListL(); |
935 CloseSelectionListL(); |
969 |
936 |
970 // Close fast swap window if it's displayed |
937 // Close fast swap window if it's displayed |
971 CEikonEnv::Static()->DismissTaskList(); |
938 EikonEnv()->DismissTaskList(); |
972 |
939 |
973 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
940 SetTouchPaneButtons( EPhoneWaitingCallButtons ); |
974 |
941 |
975 // Display incoming call |
942 // Display incoming call |
976 DisplayIncomingCallL( aCallId, dialerParam ); |
943 DisplayIncomingCallL( aCallId, dialerParam ); |
977 |
944 |
978 EndUiUpdate(); |
945 EndUiUpdate(); |
|
946 EndTransEffect(); |
979 |
947 |
980 // Go to incoming state |
948 // Go to incoming state |
981 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
949 UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); |
982 iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting ); |
950 iStateMachine->ChangeState( EPhoneStateConferenceAndWaiting ); |
983 } |
951 } |
986 // CPhoneConference::DisplayIncomingCallL |
954 // CPhoneConference::DisplayIncomingCallL |
987 // ----------------------------------------------------------- |
955 // ----------------------------------------------------------- |
988 // |
956 // |
989 void CPhoneConference::DisplayIncomingCallL( |
957 void CPhoneConference::DisplayIncomingCallL( |
990 TInt aCallId, |
958 TInt aCallId, |
991 const TPhoneCmdParamBoolean aCommandParam ) |
959 const TPhoneCmdParamBoolean /*aCommandParam*/ ) |
992 { |
960 { |
993 __LOGMETHODSTARTEND( EPhoneUIStates, |
961 __LOGMETHODSTARTEND( EPhoneUIStates, |
994 "CPhoneConference::DisplayIncomingCallL()"); |
962 "CPhoneConference::DisplayIncomingCallL()"); |
995 // Close menu bar, if it is displayed |
963 // Close menu bar, if it is displayed |
996 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
964 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
998 // Remove any phone dialogs if they are displayed |
966 // Remove any phone dialogs if they are displayed |
999 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); |
967 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); |
1000 |
968 |
1001 // Indicate that the Phone needs to be sent to the background if |
969 // Indicate that the Phone needs to be sent to the background if |
1002 // an application other than the top application is in the foreground |
970 // an application other than the top application is in the foreground |
1003 TPhoneCmdParamBoolean booleanParam; |
971 SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); |
1004 booleanParam.SetBoolean( !TopAppIsDisplayedL() ); |
|
1005 iViewCommandHandle->ExecuteCommandL( |
|
1006 EPhoneViewSetNeedToReturnToForegroundAppStatus, |
|
1007 &booleanParam ); |
|
1008 |
972 |
1009 // Bring Phone app in the foreground |
973 // Bring Phone app in the foreground |
1010 TPhoneCmdParamInteger uidParam; |
974 TPhoneCmdParamInteger uidParam; |
1011 uidParam.SetInteger( KUidPhoneApplication.iUid ); |
975 uidParam.SetInteger( KUidPhoneApplication.iUid ); |
1012 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |
976 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, |