283 // Remove call |
277 // Remove call |
284 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
278 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); |
285 |
279 |
286 //Make sure that toolbar is not shown |
280 //Make sure that toolbar is not shown |
287 iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar ); |
281 iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar ); |
288 BeginTransEffectLC( ENumberEntryOpen ); |
|
289 BeginUiUpdateLC(); |
282 BeginUiUpdateLC(); |
290 SetDefaultFlagsL(); |
283 SetDefaultFlagsL(); |
291 if ( IsNumberEntryUsedL() ) |
284 if ( IsNumberEntryUsedL() ) |
292 { |
285 { |
293 if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) |
286 iViewCommandHandle->ExecuteCommand( |
294 { |
287 EPhoneViewGetNumberFromEntry, |
295 CloseCustomizedDialerL(); |
288 &stringParam ); |
296 } |
289 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
297 else |
290 showDialer = ETrue; |
298 { |
291 } |
299 iViewCommandHandle->ExecuteCommand( |
|
300 EPhoneViewGetNumberFromEntry, |
|
301 &stringParam ); |
|
302 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
|
303 showDialer = ETrue; |
|
304 } |
|
305 } |
|
306 |
|
307 |
|
308 // Close menu bar, if it is displayed |
|
309 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); |
|
310 |
292 |
311 if ( !TopAppIsDisplayedL() || IsAutoLockOn() ) |
293 if ( !TopAppIsDisplayedL() || IsAutoLockOn() ) |
312 { |
294 { |
313 // Continue displaying current app but set up the |
295 // Continue displaying current app but set up the |
314 // idle screen in the background |
296 // idle screen in the background |
355 // ----------------------------------------------------------- |
336 // ----------------------------------------------------------- |
356 // |
337 // |
357 EXPORT_C void CPhoneStateInCall::UpdateCbaL( TInt aResource ) |
338 EXPORT_C void CPhoneStateInCall::UpdateCbaL( TInt aResource ) |
358 { |
339 { |
359 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::UpdateCbaL() "); |
340 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::UpdateCbaL() "); |
360 if ( iOnScreenDialer && IsDTMFEditorVisibleL() ) |
341 iCbaManager->UpdateCbaL( aResource ); |
361 { |
|
362 iCbaManager->SetCbaL( EPhoneDtmfDialerCBA ); |
|
363 } |
|
364 else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) |
|
365 { |
|
366 iCbaManager->SetCbaL( CustomizedDialerCbaResourceIdL() ); |
|
367 } |
|
368 else |
|
369 { |
|
370 iCbaManager->UpdateCbaL( aResource ); |
|
371 } |
|
372 } |
342 } |
373 |
343 |
374 // ----------------------------------------------------------- |
344 // ----------------------------------------------------------- |
375 // CPhoneStateInCall::HandleAudioMuteChangedL |
345 // CPhoneStateInCall::HandleAudioMuteChangedL |
376 // ----------------------------------------------------------- |
346 // ----------------------------------------------------------- |
631 iDtmfWaitCharTimer = CPhoneDtmfWaitCharTimer::NewL( |
587 iDtmfWaitCharTimer = CPhoneDtmfWaitCharTimer::NewL( |
632 iStateMachine ); |
588 iStateMachine ); |
633 } |
589 } |
634 iDtmfWaitCharTimer->ButtonPressedL(); |
590 iDtmfWaitCharTimer->ButtonPressedL(); |
635 break; |
591 break; |
636 |
|
637 case EPhoneDialerCmdHelpDtmf: |
|
638 { |
|
639 if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) ) |
|
640 { |
|
641 TPtrC contextName( KDATA_DIALER_HLP_SEND_DTMF ); |
|
642 iViewCommandHandle->ExecuteCommandL( |
|
643 EPhoneViewLaunchHelpApplication, |
|
644 0, |
|
645 contextName ); |
|
646 } |
|
647 } |
|
648 break; |
|
649 |
592 |
650 // New Call - Search |
593 // New Call - Search |
651 case EPhoneInCallCmdNewCallFind: |
594 case EPhoneInCallCmdNewCallFind: |
652 LaunchNewCallSearchDialogL(); |
|
653 break; |
595 break; |
654 |
596 |
655 // New Call - Dialog |
597 // New Call - Dialog |
656 case EPhoneInCallCmdNewCall: |
598 case EPhoneInCallCmdNewCall: |
657 LaunchNewCallQueryL(); |
|
658 break; |
|
659 |
|
660 case EPhoneViewYesSingleItemFetch: |
|
661 HandleSuccessFetchedNumberL(); |
|
662 break; |
|
663 |
|
664 case EPhoneViewNoSingleItemFetch: |
|
665 if ( !iOnScreenDialer ) |
|
666 { |
|
667 HandleFailedFetchedNumberL(); |
|
668 } |
|
669 break; |
599 break; |
670 |
600 |
671 case EPhoneNumberAcqCmdCall: |
601 case EPhoneNumberAcqCmdCall: |
672 case EPhoneNumberAcqCmdSendCommand: |
602 case EPhoneNumberAcqCmdSendCommand: |
673 if ( IsVideoCallActiveL() ) |
603 if ( IsVideoCallActiveL() ) |
772 break; |
685 break; |
773 } |
686 } |
774 |
687 |
775 return commandStatus; |
688 return commandStatus; |
776 } |
689 } |
777 |
|
778 // ----------------------------------------------------------- |
|
779 // CPhoneStateInCall::CreateNumberEntryL |
|
780 // ----------------------------------------------------------- |
|
781 // |
|
782 EXPORT_C void CPhoneStateInCall::CreateNumberEntryL() |
|
783 { |
|
784 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneStateInCall::CreateNumberEntryL( ) "); |
|
785 iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateNumberEntry ); |
|
786 } |
|
787 |
|
788 // ----------------------------------------------------------- |
|
789 // CPhoneStateInCall::OpenMenuBarL |
|
790 // ----------------------------------------------------------- |
|
791 // |
|
792 EXPORT_C void CPhoneStateInCall::OpenMenuBarL() |
|
793 { |
|
794 __LOGMETHODSTARTEND(EPhoneControl, |
|
795 "CPhoneStateInCall::OpenMenuBarL()" ); |
|
796 TInt resourceId; |
|
797 |
|
798 if ( iOnScreenDialer && IsDTMFEditorVisibleL() ) |
|
799 { |
|
800 resourceId = EPhoneDtmfDialerMenubar; |
|
801 } |
|
802 else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) |
|
803 { |
|
804 resourceId = CustomizedDialerMenuResourceIdL(); |
|
805 } |
|
806 else if ( IsNumberEntryVisibleL() ) |
|
807 { |
|
808 resourceId = EPhoneCallHandlingMenubarWithNumberEntry; |
|
809 } |
|
810 else |
|
811 { |
|
812 resourceId = EPhoneCallHandlingMenubar; |
|
813 } |
|
814 |
|
815 TPhoneCmdParamInteger integerParam; |
|
816 integerParam.SetInteger( |
|
817 CPhoneMainResourceResolver::Instance()-> |
|
818 ResolveResourceID( resourceId ) ); |
|
819 iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen, |
|
820 &integerParam ); |
|
821 } |
|
822 |
|
823 // ----------------------------------------------------------- |
|
824 // CPhoneStateInCall::LaunchNewCallQueryL |
|
825 // ----------------------------------------------------------- |
|
826 // |
|
827 EXPORT_C void CPhoneStateInCall::LaunchNewCallQueryL() |
|
828 { |
|
829 __LOGMETHODSTARTEND(EPhoneControl, |
|
830 "CPhoneStateInCall::LaunchNewCallQueryL()" ); |
|
831 |
|
832 if ( iOnScreenDialer ) |
|
833 { |
|
834 //In touch, just activate dialer |
|
835 BeginTransEffectLC( ENumberEntryCreate ); |
|
836 if ( IsNumberEntryUsedL() ) |
|
837 { |
|
838 SetNumberEntryVisibilityL(ETrue); |
|
839 } |
|
840 else |
|
841 { |
|
842 CreateNumberEntryL(); |
|
843 SetNumberEntryVisibilityL(ETrue); |
|
844 } |
|
845 EndTransEffect(); |
|
846 } |
|
847 else |
|
848 { |
|
849 HBufC *text = HBufC::NewLC( KPhoneNumberEntryBufferSize ); |
|
850 TPtr ptr( text->Des() ); |
|
851 |
|
852 // Pre-populate the query with the number entry contents, |
|
853 // if it exists |
|
854 if ( IsNumberEntryUsedL() ) |
|
855 { |
|
856 // get the number entry contents |
|
857 TPhoneCmdParamString stringParam; |
|
858 stringParam.SetString( &ptr ); |
|
859 iViewCommandHandle->ExecuteCommandL( |
|
860 EPhoneViewGetLocalizedNumberFromEntry, |
|
861 &stringParam ); |
|
862 } |
|
863 |
|
864 // Show text query with send key enabled |
|
865 const TBool enableSendKey = ETrue; |
|
866 |
|
867 CPhoneState::ShowTextQueryL( |
|
868 CPhoneMainResourceResolver::Instance()-> |
|
869 ResolveResourceID( EPhoneNewCallPhoneNumberEditor ), |
|
870 CPhoneMainResourceResolver::Instance()-> |
|
871 ResolveResourceID( EPhoneCallHandlingNewCallFindCBA ), |
|
872 CPhoneMainResourceResolver::Instance()-> |
|
873 ResolveResourceID( EPhoneCallHandlingNewCallCallCBA ), |
|
874 &ptr, |
|
875 enableSendKey ); |
|
876 |
|
877 CleanupStack::PopAndDestroy( text ); |
|
878 } |
|
879 |
|
880 } |
|
881 |
690 |
882 // ----------------------------------------------------------- |
691 // ----------------------------------------------------------- |
883 // CPhoneStateInCall::CallFetchedNumberL |
692 // CPhoneStateInCall::CallFetchedNumberL |
884 // ----------------------------------------------------------- |
693 // ----------------------------------------------------------- |
885 // |
694 // |
912 TPhoneCmdParamString dtmfSequence; |
721 TPhoneCmdParamString dtmfSequence; |
913 HBufC *content = HBufC::NewLC( KPEDtmfMaxLength ); |
722 HBufC *content = HBufC::NewLC( KPEDtmfMaxLength ); |
914 TPtr ptr( content->Des() ); |
723 TPtr ptr( content->Des() ); |
915 dtmfSequence.SetString( &ptr ); |
724 dtmfSequence.SetString( &ptr ); |
916 |
725 |
917 if ( iOnScreenDialer && IsDTMFEditorVisibleL() ) |
726 if ( iOnScreenDialer ) |
918 { |
727 { |
919 iViewCommandHandle->ExecuteCommand( |
728 iViewCommandHandle->ExecuteCommand( |
920 EPhoneViewGetNumberFromEntry, |
729 EPhoneViewGetNumberFromEntry, |
921 &dtmfSequence ); |
730 &dtmfSequence ); |
922 |
731 |
923 CloseDTMFEditorL(); |
732 } |
924 } |
|
925 else |
|
926 { |
|
927 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetTextQueryContent, |
|
928 &dtmfSequence ); |
|
929 } |
|
930 |
733 |
931 // Send the DTMF |
734 // Send the DTMF |
932 if ( ptr.Length() ) |
735 if ( ptr.Length() ) |
933 { |
736 { |
934 iStateMachine->PhoneEngineInfo()->SetDtmfStringCommand( ptr ); |
737 iStateMachine->PhoneEngineInfo()->SetDtmfStringCommand( ptr ); |
935 iStateMachine->SendPhoneEngineMessage( |
738 iStateMachine->SendPhoneEngineMessage( |
936 MPEPhoneModel::EPEMessageSendDTMF ); |
739 MPEPhoneModel::EPEMessageSendDTMF ); |
937 } |
740 } |
938 |
741 |
939 CleanupStack::PopAndDestroy( content ); |
742 CleanupStack::PopAndDestroy( content ); |
940 } |
|
941 |
|
942 // ----------------------------------------------------------- |
|
943 // CPhoneStateInCall::LaunchDtmfManualQueryL |
|
944 // ----------------------------------------------------------- |
|
945 // |
|
946 void CPhoneStateInCall::LaunchDtmfManualQueryL() |
|
947 { |
|
948 __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::LaunchDtmfManualQueryL()" ); |
|
949 |
|
950 HBufC *text = HBufC::NewLC( KPhoneNumberEntryBufferSize ); |
|
951 TPtr ptr( text->Des() ); |
|
952 // Pre-populate the query with the number entry contents, if it exists |
|
953 if ( IsNumberEntryUsedL() ) |
|
954 { |
|
955 // get the number entry contents |
|
956 TPhoneCmdParamString stringParam; |
|
957 stringParam.SetString( &ptr ); |
|
958 iViewCommandHandle->ExecuteCommandL( |
|
959 EPhoneViewGetLocalizedNumberFromEntry, |
|
960 &stringParam ); |
|
961 } |
|
962 |
|
963 ShowDtmfTextQueryL( |
|
964 CPhoneMainResourceResolver::Instance()-> |
|
965 ResolveResourceID( EPhoneDtmfNumberQuery ), |
|
966 CPhoneMainResourceResolver::Instance()-> |
|
967 ResolveResourceID( EPhoneSendDtmfEmptyEditBoxCBA ), |
|
968 CPhoneMainResourceResolver::Instance()-> |
|
969 ResolveResourceID( EPhoneSendDtmfNormalEditBoxCBA ), |
|
970 &ptr ); |
|
971 CleanupStack::PopAndDestroy( text ); |
|
972 } |
743 } |
973 |
744 |
974 // ----------------------------------------------------------- |
745 // ----------------------------------------------------------- |
975 // CPhoneStateInCall::LaunchDtmfListQueryL |
746 // CPhoneStateInCall::LaunchDtmfListQueryL |
976 // ----------------------------------------------------------- |
747 // ----------------------------------------------------------- |
1040 |
811 |
1041 // Display dialog |
812 // Display dialog |
1042 iViewCommandHandle->ExecuteCommandL( EPhoneViewShowQuery, |
813 iViewCommandHandle->ExecuteCommandL( EPhoneViewShowQuery, |
1043 &queryDialogParam ); |
814 &queryDialogParam ); |
1044 } |
815 } |
1045 } |
816 } |
1046 |
|
1047 // ----------------------------------------------------------- |
|
1048 // CPhoneStateInCall::LaunchDtmfSearchDialogL |
|
1049 // ----------------------------------------------------------- |
|
1050 // |
|
1051 void CPhoneStateInCall::LaunchDtmfSearchDialogL() |
|
1052 { |
|
1053 __LOGMETHODSTARTEND(EPhoneControl, |
|
1054 "CPhoneStateInCall::LaunchDtmfSearchDialogL()" ); |
|
1055 |
|
1056 TPhoneCmdParamInteger integerParam; |
|
1057 integerParam.SetInteger( EPhoneDtmfNumberQuery ); |
|
1058 iViewCommandHandle->HandleCommandL( EPhoneViewOpenSingleItemFetchDialog, &integerParam ); |
|
1059 } |
|
1060 |
|
1061 // ----------------------------------------------------------- |
|
1062 // CPhoneStateInCall::LaunchDtmfListViewSearchDialogL |
|
1063 // ----------------------------------------------------------- |
|
1064 // |
|
1065 void CPhoneStateInCall::LaunchDtmfListViewSearchDialogL() |
|
1066 { |
|
1067 __LOGMETHODSTARTEND(EPhoneControl, |
|
1068 "CPhoneStateInCall::LaunchDtmfListViewSearchDialogL()" ); |
|
1069 |
|
1070 TPhoneCmdParamInteger integerParam; |
|
1071 integerParam.SetInteger( EPhoneDtmfFetchTitle ); |
|
1072 iViewCommandHandle->HandleCommandL( EPhoneViewOpenSingleItemFetchDialog, &integerParam ); |
|
1073 } |
|
1074 |
|
1075 // ----------------------------------------------------------- |
|
1076 // CPhoneStateInCall::LaunchNewCallSearchDialogL |
|
1077 // ----------------------------------------------------------- |
|
1078 // |
|
1079 void CPhoneStateInCall::LaunchNewCallSearchDialogL() |
|
1080 { |
|
1081 __LOGMETHODSTARTEND(EPhoneControl, |
|
1082 "CPhoneStateInCall::LaunchNewCallSearchDialogL()" ); |
|
1083 |
|
1084 TPhoneCmdParamBoolean blockingDialogStatus; |
|
1085 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetBlockingDialogStatus, |
|
1086 &blockingDialogStatus ); |
|
1087 // Prevents unlegal use of singleitem fetch |
|
1088 if ( !blockingDialogStatus.Boolean() ) |
|
1089 { |
|
1090 |
|
1091 TPhoneCmdParamInteger integerParam; |
|
1092 integerParam.SetInteger( EPhoneNewCallFetchTitle ); |
|
1093 iViewCommandHandle->HandleCommandL( EPhoneViewOpenSingleItemFetchDialog, &integerParam ); |
|
1094 } |
|
1095 } |
|
1096 |
817 |
1097 // --------------------------------------------------------- |
818 // --------------------------------------------------------- |
1098 // CPhoneStateInCall::IsVideoCallActiveL |
819 // CPhoneStateInCall::IsVideoCallActiveL |
1099 // --------------------------------------------------------- |
820 // --------------------------------------------------------- |
1100 // |
821 // |
1242 { |
963 { |
1243 iViewCommandHandle->ExecuteCommandL( |
964 iViewCommandHandle->ExecuteCommandL( |
1244 EPhoneViewEnableKeyLock ); |
965 EPhoneViewEnableKeyLock ); |
1245 } |
966 } |
1246 } |
967 } |
1247 |
|
1248 // ----------------------------------------------------------------------------- |
|
1249 // CPhoneStateInCall::HandleSuccessFetchedNumberL |
|
1250 // ----------------------------------------------------------------------------- |
|
1251 // |
|
1252 void CPhoneStateInCall::HandleSuccessFetchedNumberL() |
|
1253 { |
|
1254 __LOGMETHODSTARTEND(EPhoneControl, |
|
1255 "CPhoneStateInCall::HandleSuccessFetchedNumberL()"); |
|
1256 TBuf<KPhoneNumberEntryBufferSize> fetchContent; |
|
1257 fetchContent = iViewCommandHandle->FetchContent(); |
|
1258 |
|
1259 TPhoneCmdParamInteger fetchTypeParam; |
|
1260 iViewCommandHandle->ExecuteCommand( EPhoneViewGetSingleItemFetchType, |
|
1261 &fetchTypeParam ); |
|
1262 TInt fetchType( fetchTypeParam.Integer() ); |
|
1263 |
|
1264 if ( fetchType == EPhoneNewCallFetchTitle ) |
|
1265 { |
|
1266 if ( iOnScreenDialer ) |
|
1267 { |
|
1268 iViewCommandHandle->ExecuteCommandL( |
|
1269 EPhoneViewSetNumberEntryContent, |
|
1270 0, |
|
1271 fetchContent ); |
|
1272 } |
|
1273 // Call the fetched number |
|
1274 CallFetchedNumberL( fetchContent ); |
|
1275 } |
|
1276 else if ( fetchType == EPhoneDtmfFetchTitle ) |
|
1277 { |
|
1278 // Send the DTMF |
|
1279 iStateMachine->PhoneEngineInfo()->SetDtmfStringCommand( fetchContent ); |
|
1280 iStateMachine->SendPhoneEngineMessage( |
|
1281 MPEPhoneModel::EPEMessageSendDTMF ); |
|
1282 } |
|
1283 else if( iCustomization && fetchType > EPhoneRssBaseLast ) |
|
1284 { |
|
1285 // Handle unattended transfer contact fetch |
|
1286 iCustomization->HandleCommandL( fetchType ); |
|
1287 } |
|
1288 else // EPhoneCmdDtmfSearch |
|
1289 { |
|
1290 // Send the DTMF |
|
1291 iStateMachine->PhoneEngineInfo()->SetDtmfStringCommand( fetchContent ); |
|
1292 iStateMachine->SendPhoneEngineMessage( |
|
1293 MPEPhoneModel::EPEMessageSendDTMF ); |
|
1294 } |
|
1295 } |
|
1296 |
|
1297 // ----------------------------------------------------------------------------- |
|
1298 // CPhoneStateInCall::HandleFailedFetchedNumberL |
|
1299 // ----------------------------------------------------------------------------- |
|
1300 // |
|
1301 void CPhoneStateInCall::HandleFailedFetchedNumberL() |
|
1302 { |
|
1303 __LOGMETHODSTARTEND(EPhoneControl, |
|
1304 "CPhoneStateInCall::HandleFailedFetchedNumberL()"); |
|
1305 |
|
1306 TPhoneCmdParamInteger fetchTypeParam; |
|
1307 iViewCommandHandle->ExecuteCommand( EPhoneViewGetSingleItemFetchType, |
|
1308 &fetchTypeParam ); |
|
1309 TInt fetchType( fetchTypeParam.Integer() ); |
|
1310 |
|
1311 if ( fetchType == EPhoneNewCallFetchTitle ) |
|
1312 { |
|
1313 HandleCommandL( EPhoneInCallCmdNewCall ); |
|
1314 } |
|
1315 else if ( fetchType == EPhoneDtmfFetchTitle ) |
|
1316 { |
|
1317 HandleCommandL( EPhoneInCallCmdDtmfListQuery ); |
|
1318 } |
|
1319 else // EPhoneCmdDtmfSearch |
|
1320 { |
|
1321 HandleCommandL( EPhoneDtmfFetchTitle ); |
|
1322 } |
|
1323 } |
|
1324 |
|
1325 |
968 |
1326 // ----------------------------------------------------------------------------- |
969 // ----------------------------------------------------------------------------- |
1327 // CPhoneStateInCall::CloseDtmfQueryL |
970 // CPhoneStateInCall::CloseDtmfQueryL |
1328 // ----------------------------------------------------------------------------- |
971 // ----------------------------------------------------------------------------- |
1329 // |
972 // |
1330 EXPORT_C void CPhoneStateInCall::CloseDtmfQueryL() |
973 EXPORT_C void CPhoneStateInCall::CloseDtmfQueryL() |
1331 { |
974 { |
1332 __LOGMETHODSTARTEND(EPhoneControl, |
|
1333 "CPhoneStateInCall::CloseDtmfQueryL()"); |
|
1334 TPhoneCmdParamInteger fetchTypeParam; |
|
1335 iViewCommandHandle->ExecuteCommand( EPhoneViewGetSingleItemFetchType, |
|
1336 &fetchTypeParam ); |
|
1337 TInt fetchType( fetchTypeParam.Integer() ); |
|
1338 |
|
1339 // If DTMF fetch is active then remove numberentry because it is considered |
|
1340 // to be a part of DTMF fetch operation. |
|
1341 if ( fetchType == EPhoneDtmfFetchTitle ) |
|
1342 { |
|
1343 iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); |
|
1344 iViewCommandHandle->ExecuteCommand( EPhoneViewCloseSingleItemFetchDialog ); |
|
1345 } |
|
1346 |
|
1347 // Close dtmf dialer or dtmf query if exist. |
|
1348 if ( IsDTMFEditorVisibleL() ) |
|
1349 { |
|
1350 CloseDTMFEditorL(); |
|
1351 } |
|
1352 } |
975 } |
1353 |
|
1354 // ----------------------------------------------------------- |
|
1355 // CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL |
|
1356 // ----------------------------------------------------------- |
|
1357 // |
|
1358 EXPORT_C void CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL( TInt aCallId ) |
|
1359 { |
|
1360 __LOGMETHODSTARTEND( EPhoneControl, "CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL() "); |
|
1361 TPhoneCmdParamBoolean phoneNumberAvailable; |
|
1362 |
|
1363 const TBool contactInfoAvailable = |
|
1364 iStateMachine->PhoneEngineInfo()->RemoteName( aCallId ).Length() || |
|
1365 iStateMachine->PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length(); |
|
1366 |
|
1367 if( iStateMachine->PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() || |
|
1368 contactInfoAvailable ) |
|
1369 { |
|
1370 // Phone number is available straight or via contact info |
|
1371 // so switch to video/voice call is possible |
|
1372 __PHONELOG( EBasic, EPhoneControl, "CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL - Phonenumber is available" ); |
|
1373 phoneNumberAvailable.SetBoolean( ETrue ); |
|
1374 } |
|
1375 else |
|
1376 { |
|
1377 __PHONELOG( EBasic, EPhoneControl, "CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL - Phonenumber is not available" ); |
|
1378 phoneNumberAvailable.SetBoolean( EFalse ); |
|
1379 } |
|
1380 |
|
1381 iViewCommandHandle->ExecuteCommandL( EPhoneViewSetPhoneNumberAvailableInPhoneEngine, |
|
1382 &phoneNumberAvailable ); |
|
1383 } |
|
1384 |
976 |
1385 |
977 |
1386 // ----------------------------------------------------------------------------- |
978 // ----------------------------------------------------------------------------- |
1387 // CPhoneStateInCall::HandleEndKeyPressL |
979 // CPhoneStateInCall::HandleEndKeyPressL |
1388 // ----------------------------------------------------------------------------- |
980 // ----------------------------------------------------------------------------- |