# HG changeset patch # User andy simpson # Date 1284052197 -3600 # Node ID b0a26d6936b254e56b6c71a1db34281d4d1fbea2 # Parent fe4f904300fcf9f2ea7b28bc6c24fa91e5770435# Parent fbea179620e6074866c2375dcbe8aa8697458b6d Merge fix for Bug 3596 diff -r fbea179620e6 -r b0a26d6936b2 group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 layers.sysdef.xml diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/3d_ringing_tone_enabler_api/inc/c3dringingtoneinterface.h diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/phone_application_commands_api/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh --- a/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh Tue Aug 17 18:45:21 2010 +0100 +++ b/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh Thu Sep 09 18:09:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -11,10 +11,10 @@ * * Contributors: * -* Description: +* Description: * This file contains declarations for commands of PhoneAppS60. * The file can be included in C++ or resource file. -* +* * */ @@ -28,7 +28,7 @@ // CONSTANTS #define KPhoneCmdBase 6000 -enum +enum { // commands for all EPhoneCmdDoNothing = KPhoneCmdBase, @@ -132,13 +132,13 @@ EPhoneInCallCmdCancelSendingDtmfString, EPhoneInCallCmdContinueSendingDtmfString, EPhoneInCallCmdVoiceMode, - EPhoneInCallCmdSendToCallerMenu, + EPhoneInCallCmdSendToCallerMenu, EPhoneInCallCmdSendNew, EPhoneInCallCmdSendFile, EPhoneInCallCmdProcessSend, // NOT IN MENU! EPhoneInCallCmdDrop, EPhoneInCallCmdPrivate, - EPhoneInCallCmdCbaJoin, // NOT IN MENU! + EPhoneInCallCmdCbaJoin, // NOT IN MENU! EPhoneInCallCmdDialer, // Enable video @@ -160,7 +160,7 @@ EPhoneInCallCmdNewCallCall, EPhoneInCallCmdGoToIdle, EPhoneInCallCmdParticipants, - + // CDMA specific EPhoneInCallCmdMulticall3WayCall, EPhoneInCallCmdMulticallIgnore, @@ -181,12 +181,12 @@ EPhoneCmdSettingsUiExit, // Settings GUI - Data Parameters GUI (commands specific to DataParameters) EPhoneCmdDataParametersRestoreSettings, - EPhoneCmdRelease, + EPhoneCmdRelease, // DTMF specific EPhoneCmdDtmfSearch, EPhoneCmdDtmfOk, EPhoneCmdDtmfSpeedDialOk, - EPhoneInCallCmdDtmfListViewSearch, + EPhoneInCallCmdDtmfListViewSearch, // other commands EPhoneCmdWaitNoteOk, EPhoneCmdVideoCallMemoryLowNoteDismissed, @@ -196,7 +196,7 @@ EPhoneCmdYesSwitchToVideo, EPhoneCmdNoSwitchToVideo, EPhoneCmdYesSwitchToVoice, - EPhoneCmdNoSwitchToVoice, + EPhoneCmdNoSwitchToVoice, EPhoneMediatorSetPhoneNumber, EPhoneCmdCoverUiShowMultimediaRingingTone, EPhoneInCallCmdLockKeypad, @@ -204,17 +204,17 @@ EPhoneCmdYesVideoFailedNoMemorySwitchToVoice, EPhoneCmdNoVideoFailedNoMemorySwitchToVoice, EPhoneInCallCmdSetVolumeLevel, - + //Dialer commands EPhoneDialerCmdLog, EPhoneDialerCmdContacts, - EPhoneDialerCmdClear, + EPhoneDialerCmdClear, EPhoneDialerCallHandling, EPhoneDialerCmdTouchInput, EPhoneDialerCmdSpeedDial, EPhoneDialerCmdEditText, - EPhoneDialerCallSettings, - EPhoneDtmfDialerCancel, + EPhoneDialerCallSettings, + EPhoneDtmfDialerCancel, EPhoneDtmfDialerExit, EPhoneIsDTMFDialerVisible, EPhoneDialerCmdHelp, @@ -232,10 +232,13 @@ EPhoneCmdBlockingDialogLaunched, EPhoneCmdBlockingDialogClosed, + // Update cba in case of emergency call + EPhoneCmdUpdateEmergencyCba, + EPhoneCmdLast }; - - + + // Command range for custom menu commands. // Custom commands can be used for menu extensions. #define KPhoneCustomCmdBase 8000 diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/phone_application_voip_commands_api/inc/phoneappvoipcommands.hrh diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h --- a/phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h Thu Sep 09 18:09:57 2010 +0100 @@ -31,6 +31,8 @@ /** * Amount of digits to be used in contact matching. * This allows a customer to variate the amount of digits to be matched. +* Note that altough PhoneApp doesn't use this value anymore, there are other +* users for it in S60 SW. */ const TUint32 KTelMatchDigits = 0x00000001; diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_device_mode_api/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_information_api/inc/telinformationpskeys.h diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_information_api/inc/telinformationpstypes.h diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_mediator_api/inc/mediatoreventsfromtelephonyapi.h diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/telephony_menu_extension_api/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phone_plat/tsrc/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/Blacklist/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/Blacklist/group/phoneanimdll.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/Blacklist/rom/PhoneAnimDll.iby diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/Blacklist/src/CPhoneAnimDll.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/Blacklist/src/CPhoneBlacklistAnim.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/inc/cphonedataportmessage.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/inc/cphonemediatorcommandlistener.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/inc/cphonemediatorfactory.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/inc/cphonemediatormessagefactory.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/inc/cphonemediatorsender.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonecontinueemergencycallcommand.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonedataportmessage.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonemediatorcommandlistener.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonemediatorfactory.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonemediatormessagefactory.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphonereleasecommand.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phonemediatorcenter/src/cphoneterminateallconnectionscommand.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/group/commonphoneapp_icons_scalable.mk diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/group/iconlist.txt diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/help/data/xhtml.zip Binary file phoneapp/phoneui/help/data/xhtml.zip has changed diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/help/inc/incl.hlp.hrh diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/inc/cphoneappui.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/loc/incalloperations.loc --- a/phoneapp/phoneui/loc/incalloperations.loc Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneui/loc/incalloperations.loc Thu Sep 09 18:09:57 2010 +0100 @@ -541,6 +541,13 @@ // #define qtn_incal_tooltip_handset "Activate handset" +// d: Tooltip text for callhandling toolbar 'BT handsfree' button. +// l: popup_preview_text_window_t1 +// w: +// r: 9.2 +// +#define qtn_incal_tooltip_bt_handsfree "Activate BT handsfree" + // d: Tooltip text for callhandling toolbar 'Mute' button. // l: popup_preview_text_window_t1 // w: diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/loc/phone.loc diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/loc/voip.loc diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/src/cphoneappui.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/srcdata/callhandlingui.rss diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneui/srcdata/phoneui.rss --- a/phoneapp/phoneui/srcdata/phoneui.rss Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneui/srcdata/phoneui.rss Thu Sep 09 18:09:57 2010 +0100 @@ -151,19 +151,6 @@ } -// --------------------------------------------------------- -// -// r_phone_incall_muted_pane -// -// --------------------------------------------------------- -// -RESOURCE TBUF64 r_phone_incall_muted_pane - { - buf = qtn_incal_muted_pane; - } - - - // ---------------------------------------------------------------- // // r_phoneui_idle_menubar @@ -7593,6 +7580,17 @@ // ---------------------------------------------------------------- // +// r_phoneui_tooltip_bt_handsfree +// +// ---------------------------------------------------------------- +// +RESOURCE TBUF r_phoneui_tooltip_bt_handsfree + { + buf = qtn_incal_tooltip_bt_handsfree; + } + +// ---------------------------------------------------------------- +// // r_phoneui_tooltip_mute // // ---------------------------------------------------------------- @@ -7638,6 +7636,10 @@ MENU_TITLE { menu_pane = r_phoneuidialer_options_menu; + }, + MENU_TITLE + { + menu_pane = r_phoneui_numberacq_options_call_menu; } }; } @@ -7696,12 +7698,6 @@ }, MENU_ITEM { - command = EPhoneNumberAcqCmdCall; - cascade = r_phoneui_numberacq_options_call_menu; - txt = text_number_call; - }, - MENU_ITEM - { command = EPhoneNumberAcqCmdSendMessage; txt = qtn_nren_send_message; }, diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def --- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def Thu Sep 09 18:09:57 2010 +0100 @@ -1,243 +1,247 @@ EXPORTS - ?CallWaitingNoteL@CPhoneState@@IAEXH@Z @ 1 NONAME ; void CPhoneState::CallWaitingNoteL(int) - ?HandleKeyMessageL@CPhoneStateIncoming@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 2 NONAME ; void CPhoneStateIncoming::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?TopAppIsDisplayedL@CPhoneState@@IBEHXZ @ 3 NONAME ; int CPhoneState::TopAppIsDisplayedL(void) const - ?HandleKeyMessageL@CPhoneStateCallSetup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 4 NONAME ; void CPhoneStateCallSetup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?SetContextMenuL@CPhoneState@@MAEXH@Z @ 5 NONAME ; void CPhoneState::SetContextMenuL(int) - ?CallFetchedNumberL@CPhoneStateInCall@@MAEXABVTDesC16@@@Z @ 6 NONAME ; void CPhoneStateInCall::CallFetchedNumberL(class TDesC16 const &) - ?DisconnectCallL@CPhoneState@@MAEXXZ @ 7 NONAME ; void CPhoneState::DisconnectCallL(void) - ?SetCbaL@CPhoneCbaManager@@QAEXH@Z @ 8 NONAME ; void CPhoneCbaManager::SetCbaL(int) - ?InstanceL@CPhoneReconnectQuery@@SAPAV1@XZ @ 9 NONAME ; class CPhoneReconnectQuery * CPhoneReconnectQuery::InstanceL(void) - ?HandlePhoneStartupL@CPhoneState@@UAEXXZ @ 10 NONAME ; void CPhoneState::HandlePhoneStartupL(void) - ?HandlePhoneFocusLostEventL@CPhoneStateIdle@@UAEXXZ @ 11 NONAME ; void CPhoneStateIdle::HandlePhoneFocusLostEventL(void) - ?HandleIdleL@CPhoneStateInCall@@IAEXH@Z @ 12 NONAME ; void CPhoneStateInCall::HandleIdleL(int) - ?ShowQueryL@CPhoneState@@IAEXH@Z @ 13 NONAME ; void CPhoneState::ShowQueryL(int) - ?PhoneNumberAvailableInPhoneEngineL@CPhoneStateInCall@@IAEXH@Z @ 14 NONAME ; void CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL(int) - ?DisplayCallTerminationNoteL@CPhoneState@@IAEXXZ @ 15 NONAME ; void CPhoneState::DisplayCallTerminationNoteL(void) - ??0CPhoneStateInCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 16 NONAME ; CPhoneStateInCall::CPhoneStateInCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?HandleNumberLongKeyPressL@CPhoneStateIdle@@IAEXXZ @ 17 NONAME ; void CPhoneStateIdle::HandleNumberLongKeyPressL(void) - ?DisplayHeaderForInitializingCallL@CPhoneState@@IAEXH@Z @ 18 NONAME ; void CPhoneState::DisplayHeaderForInitializingCallL(int) - ?HandlePropertyChangedL@CPhoneStateMachine@@UAEXABVTUid@@IH@Z @ 19 NONAME ; void CPhoneStateMachine::HandlePropertyChangedL(class TUid const &, unsigned int, int) - ?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 20 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void) - ?OpenMenuBarL@CPhoneStateCallSetup@@MAEXXZ @ 21 NONAME ; void CPhoneStateCallSetup::OpenMenuBarL(void) - ??1CPhoneStateCallSetup@@UAE@XZ @ 22 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void) - ?HandleEnvironmentChangeL@CPhoneUIController@@UAEXH@Z @ 23 NONAME ; void CPhoneUIController::HandleEnvironmentChangeL(int) - ?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 24 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void) - ?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 25 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void) - ?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 26 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void) - ?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 27 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *) - ?HandleCommandL@CPhoneState@@UAEHH@Z @ 28 NONAME ; int CPhoneState::HandleCommandL(int) - ?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 29 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void) - ?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 30 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void) - ?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 31 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int) - ?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 32 NONAME ; void CPhoneStateIdle::HandleDialingL(int) - ?CustomizedDialerCbaResourceIdL@CPhoneState@@IAEHXZ @ 33 NONAME ; int CPhoneState::CustomizedDialerCbaResourceIdL(void) - ?CaptureKeysDuringCallNotificationL@CPhoneState@@IAEXH@Z @ 34 NONAME ; void CPhoneState::CaptureKeysDuringCallNotificationL(int) - ?HandleKeyPressDurationL@CPhoneState@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 35 NONAME ; void CPhoneState::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds) - ?RegisterStateObserver@CPhoneSecurityModeObserver@@UAEXAAVMPhoneSecurityModeChangeObserver@@@Z @ 36 NONAME ; void CPhoneSecurityModeObserver::RegisterStateObserver(class MPhoneSecurityModeChangeObserver &) - ?SetToolbarButtonHandsetEnabled@CPhoneState@@IAEXXZ @ 37 NONAME ; void CPhoneState::SetToolbarButtonHandsetEnabled(void) - ?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 38 NONAME ; void CPhoneStateMachine::ChangeState(int) - ?NewL@CPhoneUIController@@SAPAV1@AAVCPhoneViewController@@@Z @ 39 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class CPhoneViewController &) - ?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 40 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void) - ?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 41 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int) - ?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 42 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void) - ?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 43 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 44 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) - ?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 45 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void) - ?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 46 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int) - ?HandleLongHashL@CPhoneState@@UAEXXZ @ 47 NONAME ; void CPhoneState::HandleLongHashL(void) - ?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@@W4TDialInitiationMethod@1@@Z @ 48 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod) - ?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 49 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void) - ?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 50 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void) - ?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 51 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void) - ?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 52 NONAME ; void CPhoneState::HandleDisconnectingL(int) - ?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 53 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void) - ?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 54 NONAME ; int CPhoneStateIncoming::HandleCommandL(int) - ?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 55 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int) - ?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 56 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const - ?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 57 NONAME ; enum TPESimState CPhoneState::SimState(void) const - ?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 58 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 59 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void) - ?SendGlobalWarningNoteL@CPhoneState@@IAEXH@Z @ 60 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int) - ?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 61 NONAME ; void CPhoneState::CompleteSatRequestL(int) - ?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 62 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 63 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void) - ?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 64 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *) - ?HandlePhoneEngineMessageL@CPhoneStateMachine@@UAEXHH@Z @ 65 NONAME ; void CPhoneStateMachine::HandlePhoneEngineMessageL(int, int) - ?IsSecurityMode@CPhoneSecurityModeObserver@@UAEHXZ @ 66 NONAME ; int CPhoneSecurityModeObserver::IsSecurityMode(void) - ?IsSimOk@CPhoneState@@QAEHXZ @ 67 NONAME ; int CPhoneState::IsSimOk(void) - ?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 68 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void) - ?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 69 NONAME ; int CPhoneStateIdle::HandleCommandL(int) - ?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 70 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void) - ?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 71 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void) - ?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 72 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void) - ?IsKeyLockOn@CPhoneState@@MBEHXZ @ 73 NONAME ; int CPhoneState::IsKeyLockOn(void) const - ??1CPhoneStateInCall@@UAE@XZ @ 74 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void) - ?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 75 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void) - ?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 76 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int) - ?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 77 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void) - ?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 78 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int) - ?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 79 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &) - ?ConstructL@CPhoneStateInCall@@MAEXXZ @ 80 NONAME ; void CPhoneStateInCall::ConstructL(void) - ?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 81 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void) - ?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 82 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void) - ?IsAutolockEnabled@CPhoneSecurityModeObserver@@UAEHXZ @ 83 NONAME ; int CPhoneSecurityModeObserver::IsAutolockEnabled(void) - ?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 84 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void) - ?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 85 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void) - ?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 86 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *) - ?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 87 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode) - ?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 88 NONAME ; void CPhoneState::HandleNumberEntryEdited(void) - ?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 89 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int) - ?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 90 NONAME ; void CPhoneState::DialMultimediaCallL(void) - ?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 91 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) - ?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 92 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const - ?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 93 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &) - ?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 94 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int) - ?SecurityMode@CPhoneStateMachine@@UAEPAVMPhoneSecurityModeObserver@@XZ @ 95 NONAME ; class MPhoneSecurityModeObserver * CPhoneStateMachine::SecurityMode(void) - ?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 96 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void) - ??1CPhoneUIController@@UAE@XZ @ 97 NONAME ; CPhoneUIController::~CPhoneUIController(void) - ?ForwardPEMessageToPhoneCustomizationL@CPhoneState@@IAEHHH@Z @ 98 NONAME ; int CPhoneState::ForwardPEMessageToPhoneCustomizationL(int, int) - ?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 99 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 100 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int) - ?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 101 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void) - ?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 102 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int) - ?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 103 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int) - ?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 104 NONAME ; void CPhoneStateIncoming::ConstructL(void) - ?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 105 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &) - ?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 106 NONAME ; void CPhoneState::SetTouchPaneButtons(int) - ?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 107 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void) - ?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 108 NONAME ; void CPhoneState::CallFromNumberEntryL(void) - ?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 109 NONAME ; void CPhoneCbaManager::UpdateCbaL(int) - ?IsVideoCall@CPhoneState@@IAEHH@Z @ 110 NONAME ; int CPhoneState::IsVideoCall(int) - ?IsSwivelClosed@CPhoneState@@QBEHXZ @ 111 NONAME ; int CPhoneState::IsSwivelClosed(void) const - ?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 112 NONAME ; void CPhoneState::CloseCustomizedDialerL(void) - ?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 113 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void) - ?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 114 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void) - ?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 115 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void) - ?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 116 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 117 NONAME ; void CPhoneState::SetToolbarDimming(int) - ?SendGlobalErrorNoteL@CPhoneState@@QAEXH@Z @ 118 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int) - ?IsAutoLockOn@CPhoneState@@UBEHXZ @ 119 NONAME ; int CPhoneState::IsAutoLockOn(void) const - ?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 120 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int) - ?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 121 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void) - ?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 122 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 123 NONAME ; int CPhoneState::IsNumberEntryContentStored(void) - ?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 124 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void) - ?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 125 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void) - ?DialVoiceCallL@CPhoneState@@IAEXXZ @ 126 NONAME ; void CPhoneState::DialVoiceCallL(void) - ?EndUiUpdate@CPhoneState@@IAEXXZ @ 127 NONAME ; void CPhoneState::EndUiUpdate(void) - ?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 128 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds) - ?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 129 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void) - ?EndTransEffect@CPhoneState@@QAEXXZ @ 130 NONAME ; void CPhoneState::EndTransEffect(void) - ?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 131 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int) - ?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 132 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 133 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int) - ?ProcessCommandL@CPhoneState@@UAEHH@Z @ 134 NONAME ; int CPhoneState::ProcessCommandL(int) - ?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 135 NONAME ; void CPhoneState::BeginUiUpdateLC(void) - ?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 136 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void) - ?RemoveStateObserver@CPhoneSecurityModeObserver@@UAEXAAVMPhoneSecurityModeChangeObserver@@@Z @ 137 NONAME ; void CPhoneSecurityModeObserver::RemoveStateObserver(class MPhoneSecurityModeChangeObserver &) - ?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 138 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void) - ?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 139 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void) - ?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 140 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &) - ?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 141 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *) - ??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 142 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 143 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &) - ?SetDivertIndication@CPhoneState@@UAEXH@Z @ 144 NONAME ; void CPhoneState::SetDivertIndication(int) - ?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 145 NONAME ; void CPhoneStateInCall::UpdateCbaL(int) - ?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 146 NONAME ; void CPhoneStateMachine::SetCallId(int) - ?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 147 NONAME ; int CPhoneUIController::ProcessCommandL(int) - ?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 148 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int) - ?CanTransEffectTypeBeUsed@CPhoneState@@MAEHW4TStateTransEffectType@@@Z @ 149 NONAME ; int CPhoneState::CanTransEffectTypeBeUsed(enum TStateTransEffectType) - ??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 150 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 151 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int) - ??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 152 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 153 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 154 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode) - ?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 155 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?HandlePEConstructionReadyL@CPhoneStateStartup@@QAEXH@Z @ 156 NONAME ; void CPhoneStateStartup::HandlePEConstructionReadyL(int) - ?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 157 NONAME ; void CPhoneUIController::HandleForegroundEventL(int) - ?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 158 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void) - ?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 159 NONAME ; int CPhoneUIController::HandleCommandL(int) - ?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 160 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) - ?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 161 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int) - ?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 162 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int) - ?IsSpeedDialNumber@CPhoneStateIdle@@IBEHABVTDesC16@@@Z @ 163 NONAME ; int CPhoneStateIdle::IsSpeedDialNumber(class TDesC16 const &) const - ?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 164 NONAME ; int CPhoneState::IsNumberEntryUsedL(void) - ??1CPhoneState@@UAE@XZ @ 165 NONAME ; CPhoneState::~CPhoneState(void) - ?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 166 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) - ?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 167 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int) - ?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 168 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void) - ?HandlePropertyChangedL@CPhoneStateInCall@@EAEXABVTUid@@IH@Z @ 169 NONAME ; void CPhoneStateInCall::HandlePropertyChangedL(class TUid const &, unsigned int, int) - ??1CPhoneStateMachine@@UAE@XZ @ 170 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void) - ?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 171 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void) - ?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 172 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *) - ?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 173 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const - ?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 174 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType) - ?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 175 NONAME ; void CPhoneStateCallSetup::ConstructL(void) - ?SetSecurityModeObserver@CPhoneStateMachine@@UAEXPAVMPhoneSecurityModeObserver@@@Z @ 176 NONAME ; void CPhoneStateMachine::SetSecurityModeObserver(class MPhoneSecurityModeObserver *) - ?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 177 NONAME ; void CPhoneUIController::HandleMessage(int, int) - ?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 178 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &) - ?NeedToReturnToForegroundAppL@CPhoneState@@IBEHXZ @ 179 NONAME ; int CPhoneState::NeedToReturnToForegroundAppL(void) const - ?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 180 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int) - ?ConstructL@CPhoneStateStartup@@MAEXXZ @ 181 NONAME ; void CPhoneStateStartup::ConstructL(void) - ?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 182 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?ShowNoteL@CPhoneState@@IAEXH@Z @ 183 NONAME ; void CPhoneState::ShowNoteL(int) - ?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 184 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int) - ?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 185 NONAME ; int CPhoneState::IsAnyQueryActiveL(void) - ?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 186 NONAME ; class MPhoneState * CPhoneStateMachine::State(void) - ?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 187 NONAME ; void CPhoneState::SetHandsfreeModeL(int) - ?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 188 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const - ?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 189 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void) - ?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 190 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void) - ??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 191 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?CanTransEffectTypeBeUsed@CPhoneStateIdle@@MAEHW4TStateTransEffectType@@@Z @ 192 NONAME ; int CPhoneStateIdle::CanTransEffectTypeBeUsed(enum TStateTransEffectType) - ??1CPhoneStateIncoming@@UAE@XZ @ 193 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void) - ?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 194 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void) - ?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 195 NONAME ; int CPhoneStateIdle::ProcessCommandL(int) - ?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 196 NONAME ; int CPhoneState::IsNoteVisibleL(void) - ?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 197 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *) - ?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 198 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &) - ?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 199 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int) - ?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 200 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 201 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 202 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void) - ?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 203 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void) - ?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void) - ?ConstructL@CPhoneStateIdle@@MAEXXZ @ 205 NONAME ; void CPhoneStateIdle::ConstructL(void) - ?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 206 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void) - ?SetCallHeaderType@CPhoneState@@IAEXW4TPhoneCallTypeFlags@CBubbleManager@@@Z @ 207 NONAME ; void CPhoneState::SetCallHeaderType(enum CBubbleManager::TPhoneCallTypeFlags) - ?SendGlobalInfoNoteL@CPhoneState@@QAEXH@Z @ 208 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int) - ?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 209 NONAME ; void CPhoneState::DisplayIdleScreenL(void) - ?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 210 NONAME ; void CPhoneState::StartShowSecurityNoteL(void) - ?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 211 NONAME ; void CPhoneState::StoreNumberEntryContentL(void) - ?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 212 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int) - ?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 213 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int) - ?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 214 NONAME ; void CPhoneState::SetDefaultFlagsL(void) - ?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 215 NONAME ; int CPhoneStateInCall::HandleCommandL(int) - ?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 216 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void) - ?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 217 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int) - ?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 218 NONAME ; int CPhoneStateInCall::GetRingingCallL(void) - ?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 219 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void) - ?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 220 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void) - ?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 221 NONAME ; void CPhoneState::HandleForegroundEventL(int) - ?HandleErrorL@CPhoneStateIdle@@UAEXABUTPEErrorInfo@@@Z @ 222 NONAME ; void CPhoneStateIdle::HandleErrorL(struct TPEErrorInfo const &) - ?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 223 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int) - ?SetSecurityMessageHandler@CPhoneStateMachine@@UAEXPAVMPhoneSecurityMessageHandler@@@Z @ 224 NONAME ; void CPhoneStateMachine::SetSecurityMessageHandler(class MPhoneSecurityMessageHandler *) - ?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 225 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) - ??1CPhoneStateIdle@@UAE@XZ @ 226 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void) - ?IsDialingExtensionInFocusL@CPhoneState@@QBEHXZ @ 227 NONAME ; int CPhoneState::IsDialingExtensionInFocusL(void) const - ?Initialize@CPhoneSecurityModeObserver@@UAEXXZ @ 228 NONAME ; void CPhoneSecurityModeObserver::Initialize(void) - ?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 229 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void) - ?BaseConstructL@CPhoneState@@QAEXXZ @ 230 NONAME ; void CPhoneState::BaseConstructL(void) - ?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 231 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void) - ?SpeedDialL@CPhoneStateIdle@@IAEXABIW4TDialInitiationMethod@1@@Z @ 232 NONAME ; void CPhoneStateIdle::SpeedDialL(unsigned int const &, enum CPhoneStateIdle::TDialInitiationMethod) - ?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 233 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int) - ?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 234 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *) - ?SpeedDialCanceledL@CPhoneStateIdle@@IAEXABI@Z @ 235 NONAME ; void CPhoneStateIdle::SpeedDialCanceledL(unsigned int const &) - ?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 236 NONAME ; void CPhoneState::CloseDTMFEditorL(void) - ?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 237 NONAME ; void CPhoneState::SetTouchPaneVisible(int) - ?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 238 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void) - ??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 239 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *) - ??1CPhoneStateStartup@@UAE@XZ @ 240 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void) - ?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 241 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?CallWaitingNoteL@CPhoneState@@IAEXH@Z @ 1 NONAME ; void CPhoneState::CallWaitingNoteL(int) + ?HandleKeyMessageL@CPhoneStateIncoming@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 2 NONAME ; void CPhoneStateIncoming::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?TopAppIsDisplayedL@CPhoneState@@IBEHXZ @ 3 NONAME ; int CPhoneState::TopAppIsDisplayedL(void) const + ?HandleKeyMessageL@CPhoneStateCallSetup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 4 NONAME ; void CPhoneStateCallSetup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?SetContextMenuL@CPhoneState@@MAEXH@Z @ 5 NONAME ; void CPhoneState::SetContextMenuL(int) + ?CallFetchedNumberL@CPhoneStateInCall@@MAEXABVTDesC16@@@Z @ 6 NONAME ; void CPhoneStateInCall::CallFetchedNumberL(class TDesC16 const &) + ?DisconnectCallL@CPhoneState@@MAEXXZ @ 7 NONAME ; void CPhoneState::DisconnectCallL(void) + ?SetCbaL@CPhoneCbaManager@@QAEXH@Z @ 8 NONAME ; void CPhoneCbaManager::SetCbaL(int) + ?InstanceL@CPhoneReconnectQuery@@SAPAV1@XZ @ 9 NONAME ; class CPhoneReconnectQuery * CPhoneReconnectQuery::InstanceL(void) + ?HandlePhoneStartupL@CPhoneState@@UAEXXZ @ 10 NONAME ; void CPhoneState::HandlePhoneStartupL(void) + ?HandlePhoneFocusLostEventL@CPhoneStateIdle@@UAEXXZ @ 11 NONAME ; void CPhoneStateIdle::HandlePhoneFocusLostEventL(void) + ?HandleIdleL@CPhoneStateInCall@@IAEXH@Z @ 12 NONAME ; void CPhoneStateInCall::HandleIdleL(int) + ?ShowQueryL@CPhoneState@@IAEXH@Z @ 13 NONAME ; void CPhoneState::ShowQueryL(int) + ?PhoneNumberAvailableInPhoneEngineL@CPhoneStateInCall@@IAEXH@Z @ 14 NONAME ; void CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL(int) + ?DisplayCallTerminationNoteL@CPhoneState@@IAEXXZ @ 15 NONAME ; void CPhoneState::DisplayCallTerminationNoteL(void) + ??0CPhoneStateInCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 16 NONAME ; CPhoneStateInCall::CPhoneStateInCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?HandleNumberLongKeyPressL@CPhoneStateIdle@@IAEXXZ @ 17 NONAME ; void CPhoneStateIdle::HandleNumberLongKeyPressL(void) + ?HandlePropertyChangedL@CPhoneStateMachine@@UAEXABVTUid@@IH@Z @ 18 NONAME ; void CPhoneStateMachine::HandlePropertyChangedL(class TUid const &, unsigned int, int) + ?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 19 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void) + ?OpenMenuBarL@CPhoneStateCallSetup@@MAEXXZ @ 20 NONAME ; void CPhoneStateCallSetup::OpenMenuBarL(void) + ??1CPhoneStateCallSetup@@UAE@XZ @ 21 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void) + ?HandleEnvironmentChangeL@CPhoneUIController@@UAEXH@Z @ 22 NONAME ; void CPhoneUIController::HandleEnvironmentChangeL(int) + ?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 23 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void) + ?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 24 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void) + ?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 25 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void) + ?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 26 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *) + ?HandleCommandL@CPhoneState@@UAEHH@Z @ 27 NONAME ; int CPhoneState::HandleCommandL(int) + ?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 28 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void) + ?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 29 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void) + ?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 30 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int) + ?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 31 NONAME ; void CPhoneStateIdle::HandleDialingL(int) + ?CustomizedDialerCbaResourceIdL@CPhoneState@@IAEHXZ @ 32 NONAME ; int CPhoneState::CustomizedDialerCbaResourceIdL(void) + ?CaptureKeysDuringCallNotificationL@CPhoneState@@IAEXH@Z @ 33 NONAME ; void CPhoneState::CaptureKeysDuringCallNotificationL(int) + ?HandleKeyPressDurationL@CPhoneState@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 34 NONAME ; void CPhoneState::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds) + ?DisplayCallSetupL@CPhoneState@@IAEXH@Z @ 35 NONAME ; void CPhoneState::DisplayCallSetupL(int) + ?RegisterStateObserver@CPhoneSecurityModeObserver@@UAEXAAVMPhoneSecurityModeChangeObserver@@@Z @ 36 NONAME ; void CPhoneSecurityModeObserver::RegisterStateObserver(class MPhoneSecurityModeChangeObserver &) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneState@@UAEXXZ @ 37 NONAME ; void CPhoneState::DoStateSpecificCallSetUpDefinitionsL(void) + ?SetToolbarButtonHandsetEnabled@CPhoneState@@IAEXXZ @ 38 NONAME ; void CPhoneState::SetToolbarButtonHandsetEnabled(void) + ?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 39 NONAME ; void CPhoneStateMachine::ChangeState(int) + ?NewL@CPhoneUIController@@SAPAV1@AAVCPhoneViewController@@@Z @ 40 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class CPhoneViewController &) + ?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 41 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void) + ?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 42 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int) + ?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 43 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void) + ?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 44 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 45 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) + ?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 46 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void) + ?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 47 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int) + ?HandleLongHashL@CPhoneState@@UAEXXZ @ 48 NONAME ; void CPhoneState::HandleLongHashL(void) + ?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@@W4TDialInitiationMethod@1@@Z @ 49 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod) + ?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 50 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void) + ?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 51 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void) + ?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 52 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void) + ?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 53 NONAME ; void CPhoneState::HandleDisconnectingL(int) + ?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 54 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void) + ?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 55 NONAME ; int CPhoneStateIncoming::HandleCommandL(int) + ?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 56 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int) + ?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 57 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const + ?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 58 NONAME ; enum TPESimState CPhoneState::SimState(void) const + ?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 59 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 60 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void) + ?SendGlobalWarningNoteL@CPhoneState@@IAEXH@Z @ 61 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int) + ?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 62 NONAME ; void CPhoneState::CompleteSatRequestL(int) + ?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 63 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 64 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void) + ?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 65 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *) + ?HandlePhoneEngineMessageL@CPhoneStateMachine@@UAEXHH@Z @ 66 NONAME ; void CPhoneStateMachine::HandlePhoneEngineMessageL(int, int) + ?IsSecurityMode@CPhoneSecurityModeObserver@@UAEHXZ @ 67 NONAME ; int CPhoneSecurityModeObserver::IsSecurityMode(void) + ?IsSimOk@CPhoneState@@QAEHXZ @ 68 NONAME ; int CPhoneState::IsSimOk(void) + ?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 69 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void) + ?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 70 NONAME ; int CPhoneStateIdle::HandleCommandL(int) + ?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 71 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void) + ?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 72 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void) + ?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 73 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void) + ?IsKeyLockOn@CPhoneState@@MBEHXZ @ 74 NONAME ; int CPhoneState::IsKeyLockOn(void) const + ??1CPhoneStateInCall@@UAE@XZ @ 75 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void) + ?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 76 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void) + ?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 77 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int) + ?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 78 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void) + ?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 79 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int) + ?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 80 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &) + ?ConstructL@CPhoneStateInCall@@MAEXXZ @ 81 NONAME ; void CPhoneStateInCall::ConstructL(void) + ?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 82 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void) + ?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 83 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void) + ?IsAutolockEnabled@CPhoneSecurityModeObserver@@UAEHXZ @ 84 NONAME ; int CPhoneSecurityModeObserver::IsAutolockEnabled(void) + ?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 85 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void) + ?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 86 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void) + ?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 87 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *) + ?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 88 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode) + ?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 89 NONAME ; void CPhoneState::HandleNumberEntryEdited(void) + ?EikonEnv@CPhoneStateMachine@@QBEPAVCEikonEnv@@XZ @ 90 NONAME ; class CEikonEnv * CPhoneStateMachine::EikonEnv(void) const + ?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 91 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int) + ?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 92 NONAME ; void CPhoneState::DialMultimediaCallL(void) + ?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 93 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) + ?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 94 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const + ?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 95 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &) + ?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 96 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int) + ?SecurityMode@CPhoneStateMachine@@UAEPAVMPhoneSecurityModeObserver@@XZ @ 97 NONAME ; class MPhoneSecurityModeObserver * CPhoneStateMachine::SecurityMode(void) + ?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 98 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void) + ??1CPhoneUIController@@UAE@XZ @ 99 NONAME ; CPhoneUIController::~CPhoneUIController(void) + ?ForwardPEMessageToPhoneCustomizationL@CPhoneState@@IAEHHH@Z @ 100 NONAME ; int CPhoneState::ForwardPEMessageToPhoneCustomizationL(int, int) + ?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 101 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 102 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int) + ?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 103 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void) + ?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 104 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int) + ?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 105 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int) + ?SetToolbarButtonBTHFEnabled@CPhoneState@@IAEXXZ @ 106 NONAME ; void CPhoneState::SetToolbarButtonBTHFEnabled(void) + ?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 107 NONAME ; void CPhoneStateIncoming::ConstructL(void) + ?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 108 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &) + ?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 109 NONAME ; void CPhoneState::SetTouchPaneButtons(int) + ?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 110 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void) + ?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 111 NONAME ; void CPhoneState::CallFromNumberEntryL(void) + ?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 112 NONAME ; void CPhoneCbaManager::UpdateCbaL(int) + ?IsVideoCall@CPhoneState@@IAEHH@Z @ 113 NONAME ; int CPhoneState::IsVideoCall(int) + ?IsSwivelClosed@CPhoneState@@QBEHXZ @ 114 NONAME ; int CPhoneState::IsSwivelClosed(void) const + ?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 115 NONAME ; void CPhoneState::CloseCustomizedDialerL(void) + ?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 116 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void) + ?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 117 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void) + ?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 118 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void) + ?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 119 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 120 NONAME ; void CPhoneState::SetToolbarDimming(int) + ?SendGlobalErrorNoteL@CPhoneState@@QAEXH@Z @ 121 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int) + ?IsAutoLockOn@CPhoneState@@UBEHXZ @ 122 NONAME ; int CPhoneState::IsAutoLockOn(void) const + ?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 123 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int) + ?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 124 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void) + ?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 125 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 126 NONAME ; int CPhoneState::IsNumberEntryContentStored(void) + ?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 127 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void) + ?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 128 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void) + ?DialVoiceCallL@CPhoneState@@IAEXXZ @ 129 NONAME ; void CPhoneState::DialVoiceCallL(void) + ?EndUiUpdate@CPhoneState@@IAEXXZ @ 130 NONAME ; void CPhoneState::EndUiUpdate(void) + ?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 131 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds) + ?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 132 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void) + ?EndTransEffect@CPhoneState@@QAEXXZ @ 133 NONAME ; void CPhoneState::EndTransEffect(void) + ?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 134 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int) + ?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 135 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 136 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int) + ?ProcessCommandL@CPhoneState@@UAEHH@Z @ 137 NONAME ; int CPhoneState::ProcessCommandL(int) + ?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 138 NONAME ; void CPhoneState::BeginUiUpdateLC(void) + ?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 139 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void) + ?RemoveStateObserver@CPhoneSecurityModeObserver@@UAEXAAVMPhoneSecurityModeChangeObserver@@@Z @ 140 NONAME ; void CPhoneSecurityModeObserver::RemoveStateObserver(class MPhoneSecurityModeChangeObserver &) + ?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 141 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void) + ?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 142 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void) + ?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 143 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &) + ?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 144 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *) + ??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 145 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 146 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &) + ?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 147 NONAME ; void CPhoneStateInCall::UpdateCbaL(int) + ?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 148 NONAME ; void CPhoneStateMachine::SetCallId(int) + ?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 149 NONAME ; int CPhoneUIController::ProcessCommandL(int) + ?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 150 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int) + ??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 151 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 152 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int) + ??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 153 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 154 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 155 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode) + ?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 156 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?HandlePEConstructionReadyL@CPhoneStateStartup@@QAEXH@Z @ 157 NONAME ; void CPhoneStateStartup::HandlePEConstructionReadyL(int) + ?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 158 NONAME ; void CPhoneUIController::HandleForegroundEventL(int) + ?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 159 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneStateIdle@@UAEXXZ @ 160 NONAME ; void CPhoneStateIdle::DoStateSpecificCallSetUpDefinitionsL(void) + ?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 161 NONAME ; int CPhoneUIController::HandleCommandL(int) + ?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 162 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) + ?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 163 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int) + ?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 164 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int) + ?IsSpeedDialNumber@CPhoneStateIdle@@IBEHABVTDesC16@@@Z @ 165 NONAME ; int CPhoneStateIdle::IsSpeedDialNumber(class TDesC16 const &) const + ?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 166 NONAME ; int CPhoneState::IsNumberEntryUsedL(void) + ??1CPhoneState@@UAE@XZ @ 167 NONAME ; CPhoneState::~CPhoneState(void) + ?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 168 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode) + ?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 169 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int) + ?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 170 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void) + ?HandlePropertyChangedL@CPhoneStateInCall@@EAEXABVTUid@@IH@Z @ 171 NONAME ; void CPhoneStateInCall::HandlePropertyChangedL(class TUid const &, unsigned int, int) + ??1CPhoneStateMachine@@UAE@XZ @ 172 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void) + ?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 173 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void) + ?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 174 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *) + ?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 175 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const + ?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 176 NONAME ; void CPhoneStateCallSetup::ConstructL(void) + ?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 177 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType) + ?SetSecurityModeObserver@CPhoneStateMachine@@UAEXPAVMPhoneSecurityModeObserver@@@Z @ 178 NONAME ; void CPhoneStateMachine::SetSecurityModeObserver(class MPhoneSecurityModeObserver *) + ?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 179 NONAME ; void CPhoneUIController::HandleMessage(int, int) + ?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 180 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &) + ?NeedToReturnToForegroundAppL@CPhoneState@@IBEHXZ @ 181 NONAME ; int CPhoneState::NeedToReturnToForegroundAppL(void) const + ?ConstructL@CPhoneStateStartup@@MAEXXZ @ 182 NONAME ; void CPhoneStateStartup::ConstructL(void) + ?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 183 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?ShowNoteL@CPhoneState@@IAEXH@Z @ 184 NONAME ; void CPhoneState::ShowNoteL(int) + ?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 185 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int) + ?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 186 NONAME ; int CPhoneState::IsAnyQueryActiveL(void) + ?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 187 NONAME ; class MPhoneState * CPhoneStateMachine::State(void) + ?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 188 NONAME ; void CPhoneState::SetHandsfreeModeL(int) + ?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 189 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const + ?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 190 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void) + ?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 191 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void) + ??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 192 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ??1CPhoneStateIncoming@@UAE@XZ @ 193 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void) + ?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 194 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void) + ?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 195 NONAME ; int CPhoneStateIdle::ProcessCommandL(int) + ?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 196 NONAME ; int CPhoneState::IsNoteVisibleL(void) + ?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 197 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *) + ?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 198 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &) + ?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 199 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int) + ?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 200 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 201 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 202 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void) + ?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 203 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void) + ?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void) + ?ConstructL@CPhoneStateIdle@@MAEXXZ @ 205 NONAME ; void CPhoneStateIdle::ConstructL(void) + ?SetEikonEnv@CPhoneState@@UAEXPAVCEikonEnv@@@Z @ 206 NONAME ; void CPhoneState::SetEikonEnv(class CEikonEnv *) + ?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 207 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void) + ?SetCallHeaderType@CPhoneState@@IAEXW4TPhoneCallTypeFlags@CBubbleManager@@@Z @ 208 NONAME ; void CPhoneState::SetCallHeaderType(enum CBubbleManager::TPhoneCallTypeFlags) + ?SendGlobalInfoNoteL@CPhoneState@@QAEXH@Z @ 209 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int) + ?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 210 NONAME ; void CPhoneState::DisplayIdleScreenL(void) + ?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 211 NONAME ; void CPhoneState::StartShowSecurityNoteL(void) + ?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 212 NONAME ; void CPhoneState::StoreNumberEntryContentL(void) + ?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 213 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int) + ?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 214 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int) + ?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 215 NONAME ; void CPhoneState::SetDefaultFlagsL(void) + ?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 216 NONAME ; int CPhoneStateInCall::HandleCommandL(int) + ?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 217 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void) + ?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 218 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int) + ?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 219 NONAME ; int CPhoneStateInCall::GetRingingCallL(void) + ?EikonEnv@CPhoneState@@QBEPAVCEikonEnv@@XZ @ 220 NONAME ; class CEikonEnv * CPhoneState::EikonEnv(void) const + ?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 221 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void) + ?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 222 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void) + ?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 223 NONAME ; void CPhoneState::HandleForegroundEventL(int) + ?CloseClearNumberEntryAndLoadEffectL@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 224 NONAME ; void CPhoneState::CloseClearNumberEntryAndLoadEffectL(enum TStateTransEffectType) + ?HandleErrorL@CPhoneStateIdle@@UAEXABUTPEErrorInfo@@@Z @ 225 NONAME ; void CPhoneStateIdle::HandleErrorL(struct TPEErrorInfo const &) + ?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 226 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int) + ?SetSecurityMessageHandler@CPhoneStateMachine@@UAEXPAVMPhoneSecurityMessageHandler@@@Z @ 227 NONAME ; void CPhoneStateMachine::SetSecurityMessageHandler(class MPhoneSecurityMessageHandler *) + ?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 228 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) + ??1CPhoneStateIdle@@UAE@XZ @ 229 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void) + ?IsDialingExtensionInFocusL@CPhoneState@@QBEHXZ @ 230 NONAME ; int CPhoneState::IsDialingExtensionInFocusL(void) const + ?Initialize@CPhoneSecurityModeObserver@@UAEXXZ @ 231 NONAME ; void CPhoneSecurityModeObserver::Initialize(void) + ?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 232 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void) + ?BaseConstructL@CPhoneState@@QAEXXZ @ 233 NONAME ; void CPhoneState::BaseConstructL(void) + ?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 234 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void) + ?SpeedDialL@CPhoneStateIdle@@IAEXABIW4TDialInitiationMethod@1@@Z @ 235 NONAME ; void CPhoneStateIdle::SpeedDialL(unsigned int const &, enum CPhoneStateIdle::TDialInitiationMethod) + ?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 236 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int) + ?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 237 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *) + ?SpeedDialCanceledL@CPhoneStateIdle@@IAEXABI@Z @ 238 NONAME ; void CPhoneStateIdle::SpeedDialCanceledL(unsigned int const &) + ?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 239 NONAME ; void CPhoneState::CloseDTMFEditorL(void) + ?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 240 NONAME ; void CPhoneState::SetTouchPaneVisible(int) + ?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 241 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void) + ??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 242 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *) + ??1CPhoneStateStartup@@UAE@XZ @ 243 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void) + ?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 244 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?SetNeedToReturnToForegroundAppStatusL@CPhoneState@@IAEXH@Z @ 245 NONAME ; void CPhoneState::SetNeedToReturnToForegroundAppStatusL(int) diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def --- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Thu Sep 09 18:09:57 2010 +0100 @@ -2,68 +2,68 @@ _ZN11CPhoneState10ShowQueryLEi @ 1 NONAME _ZN11CPhoneState11EndUiUpdateEv @ 2 NONAME _ZN11CPhoneState11IsVideoCallEi @ 3 NONAME - _ZN11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 4 NONAME - _ZN11CPhoneState14BaseConstructLEv @ 5 NONAME - _ZN11CPhoneState14DialVoiceCallLEv @ 6 NONAME - _ZN11CPhoneState14EndTransEffectEv @ 7 NONAME - _ZN11CPhoneState14HandleCommandLEi @ 8 NONAME - _ZN11CPhoneState14IsNoteVisibleLEv @ 9 NONAME - _ZN11CPhoneState14ShowTextQueryLEiiiP6TDes16i @ 10 NONAME - _ZN11CPhoneState15BeginUiUpdateLCEv @ 11 NONAME - _ZN11CPhoneState15DisconnectCallLEv @ 12 NONAME - _ZN11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 13 NONAME - _ZN11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 14 NONAME - _ZN11CPhoneState15HandleLongHashLEv @ 15 NONAME - _ZN11CPhoneState15ProcessCommandLEi @ 16 NONAME - _ZN11CPhoneState15SetContextMenuLEi @ 17 NONAME - _ZN11CPhoneState16CallWaitingNoteLEi @ 18 NONAME - _ZN11CPhoneState16CloseDTMFEditorLEv @ 19 NONAME - _ZN11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 20 NONAME - _ZN11CPhoneState16SetDefaultFlagsLEv @ 21 NONAME - _ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 22 NONAME - _ZN11CPhoneState17IsAnyQueryActiveLEv @ 23 NONAME - _ZN11CPhoneState17SetCallHeaderTypeEN14CBubbleManager19TPhoneCallTypeFlagsE @ 24 NONAME - _ZN11CPhoneState17SetHandsfreeModeLEi @ 25 NONAME - _ZN11CPhoneState17SetToolbarDimmingEi @ 26 NONAME - _ZN11CPhoneState18BeginTransEffectLCE21TStateTransEffectType @ 27 NONAME - _ZN11CPhoneState18DisplayIdleScreenLEv @ 28 NONAME - _ZN11CPhoneState18GetRemoteInfoDataLEiR6TDes16 @ 29 NONAME - _ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 30 NONAME - _ZN11CPhoneState18HandleSystemEventLERK8TWsEvent @ 31 NONAME - _ZN11CPhoneState18IsNumberEntryUsedLEv @ 32 NONAME - _ZN11CPhoneState19CompleteSatRequestLEi @ 33 NONAME - _ZN11CPhoneState19DialMultimediaCallLEv @ 34 NONAME - _ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 35 NONAME - _ZN11CPhoneState19HandlePhoneStartupLEv @ 36 NONAME - _ZN11CPhoneState19SendGlobalInfoNoteLEi @ 37 NONAME - _ZN11CPhoneState19SetBTHandsfreeModeLEi @ 38 NONAME - _ZN11CPhoneState19SetDivertIndicationEi @ 39 NONAME - _ZN11CPhoneState19SetTouchPaneButtonsEi @ 40 NONAME - _ZN11CPhoneState19SetTouchPaneVisibleEi @ 41 NONAME - _ZN11CPhoneState19ShowNumberBusyNoteLEv @ 42 NONAME - _ZN11CPhoneState20CallFromNumberEntryLEv @ 43 NONAME - _ZN11CPhoneState20DecreaseAudioVolumeLEv @ 44 NONAME - _ZN11CPhoneState20HandleDisconnectingLEi @ 45 NONAME - _ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 46 NONAME - _ZN11CPhoneState20IncreaseAudioVolumeLEv @ 47 NONAME - _ZN11CPhoneState20SendGlobalErrorNoteLEi @ 48 NONAME - _ZN11CPhoneState21IsNumberEntryVisibleLEv @ 49 NONAME - _ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 50 NONAME - _ZN11CPhoneState22CloseCustomizedDialerLEv @ 51 NONAME - _ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 52 NONAME - _ZN11CPhoneState22HandleForegroundEventLEi @ 53 NONAME - _ZN11CPhoneState22HandleNumericKeyEventLERK9TKeyEvent10TEventCode @ 54 NONAME - _ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 55 NONAME - _ZN11CPhoneState22OnlyHashInNumberEntryLEv @ 56 NONAME - _ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 57 NONAME - _ZN11CPhoneState22SendGlobalWarningNoteLEi @ 58 NONAME - _ZN11CPhoneState22StartShowSecurityNoteLEv @ 59 NONAME - _ZN11CPhoneState23HandleAudioMuteChangedLEv @ 60 NONAME - _ZN11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 61 NONAME - _ZN11CPhoneState23HandleNumberEntryEditedEv @ 62 NONAME - _ZN11CPhoneState23SetRingingTonePlaybackLEi @ 63 NONAME - _ZN11CPhoneState23UpdateSingleActiveCallLEi @ 64 NONAME - _ZN11CPhoneState24CanTransEffectTypeBeUsedE21TStateTransEffectType @ 65 NONAME + _ZN11CPhoneState11SetEikonEnvEP9CEikonEnv @ 4 NONAME + _ZN11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 5 NONAME + _ZN11CPhoneState14BaseConstructLEv @ 6 NONAME + _ZN11CPhoneState14DialVoiceCallLEv @ 7 NONAME + _ZN11CPhoneState14EndTransEffectEv @ 8 NONAME + _ZN11CPhoneState14HandleCommandLEi @ 9 NONAME + _ZN11CPhoneState14IsNoteVisibleLEv @ 10 NONAME + _ZN11CPhoneState14ShowTextQueryLEiiiP6TDes16i @ 11 NONAME + _ZN11CPhoneState15BeginUiUpdateLCEv @ 12 NONAME + _ZN11CPhoneState15DisconnectCallLEv @ 13 NONAME + _ZN11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 14 NONAME + _ZN11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 15 NONAME + _ZN11CPhoneState15HandleLongHashLEv @ 16 NONAME + _ZN11CPhoneState15ProcessCommandLEi @ 17 NONAME + _ZN11CPhoneState15SetContextMenuLEi @ 18 NONAME + _ZN11CPhoneState16CallWaitingNoteLEi @ 19 NONAME + _ZN11CPhoneState16CloseDTMFEditorLEv @ 20 NONAME + _ZN11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 21 NONAME + _ZN11CPhoneState16SetDefaultFlagsLEv @ 22 NONAME + _ZN11CPhoneState17DisplayCallSetupLEi @ 23 NONAME + _ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 24 NONAME + _ZN11CPhoneState17IsAnyQueryActiveLEv @ 25 NONAME + _ZN11CPhoneState17SetCallHeaderTypeEN14CBubbleManager19TPhoneCallTypeFlagsE @ 26 NONAME + _ZN11CPhoneState17SetHandsfreeModeLEi @ 27 NONAME + _ZN11CPhoneState17SetToolbarDimmingEi @ 28 NONAME + _ZN11CPhoneState18BeginTransEffectLCE21TStateTransEffectType @ 29 NONAME + _ZN11CPhoneState18DisplayIdleScreenLEv @ 30 NONAME + _ZN11CPhoneState18GetRemoteInfoDataLEiR6TDes16 @ 31 NONAME + _ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 32 NONAME + _ZN11CPhoneState18HandleSystemEventLERK8TWsEvent @ 33 NONAME + _ZN11CPhoneState18IsNumberEntryUsedLEv @ 34 NONAME + _ZN11CPhoneState19CompleteSatRequestLEi @ 35 NONAME + _ZN11CPhoneState19DialMultimediaCallLEv @ 36 NONAME + _ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 37 NONAME + _ZN11CPhoneState19HandlePhoneStartupLEv @ 38 NONAME + _ZN11CPhoneState19SendGlobalInfoNoteLEi @ 39 NONAME + _ZN11CPhoneState19SetBTHandsfreeModeLEi @ 40 NONAME + _ZN11CPhoneState19SetTouchPaneButtonsEi @ 41 NONAME + _ZN11CPhoneState19SetTouchPaneVisibleEi @ 42 NONAME + _ZN11CPhoneState19ShowNumberBusyNoteLEv @ 43 NONAME + _ZN11CPhoneState20CallFromNumberEntryLEv @ 44 NONAME + _ZN11CPhoneState20DecreaseAudioVolumeLEv @ 45 NONAME + _ZN11CPhoneState20HandleDisconnectingLEi @ 46 NONAME + _ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 47 NONAME + _ZN11CPhoneState20IncreaseAudioVolumeLEv @ 48 NONAME + _ZN11CPhoneState20SendGlobalErrorNoteLEi @ 49 NONAME + _ZN11CPhoneState21IsNumberEntryVisibleLEv @ 50 NONAME + _ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 51 NONAME + _ZN11CPhoneState22CloseCustomizedDialerLEv @ 52 NONAME + _ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 53 NONAME + _ZN11CPhoneState22HandleForegroundEventLEi @ 54 NONAME + _ZN11CPhoneState22HandleNumericKeyEventLERK9TKeyEvent10TEventCode @ 55 NONAME + _ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 56 NONAME + _ZN11CPhoneState22OnlyHashInNumberEntryLEv @ 57 NONAME + _ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 58 NONAME + _ZN11CPhoneState22SendGlobalWarningNoteLEi @ 59 NONAME + _ZN11CPhoneState22StartShowSecurityNoteLEv @ 60 NONAME + _ZN11CPhoneState23HandleAudioMuteChangedLEv @ 61 NONAME + _ZN11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 62 NONAME + _ZN11CPhoneState23HandleNumberEntryEditedEv @ 63 NONAME + _ZN11CPhoneState23SetRingingTonePlaybackLEi @ 64 NONAME + _ZN11CPhoneState23UpdateSingleActiveCallLEi @ 65 NONAME _ZN11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 66 NONAME _ZN11CPhoneState24HandleEnvironmentChangeLEi @ 67 NONAME _ZN11CPhoneState24StartAlsLineChangeTimerLEv @ 68 NONAME @@ -83,394 +83,386 @@ _ZN11CPhoneState26UpdateSilenceButtonDimmingEv @ 82 NONAME _ZN11CPhoneState27DisplayCallTerminationNoteLEv @ 83 NONAME _ZN11CPhoneState27HandlePhoneForegroundEventLEv @ 84 NONAME - _ZN11CPhoneState28ClearNumberEntryContentCacheEv @ 85 NONAME - _ZN11CPhoneState28SetupIdleScreenInBackgroundLEv @ 86 NONAME - _ZN11CPhoneState29DisplayHeaderForCallComingInLEii @ 87 NONAME - _ZN11CPhoneState29DisplayHeaderForOutgoingCallLEi @ 88 NONAME - _ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 89 NONAME - _ZN11CPhoneState30CustomizedDialerCbaResourceIdLEv @ 90 NONAME - _ZN11CPhoneState30SetToolbarButtonHandsetEnabledEv @ 91 NONAME - _ZN11CPhoneState31CustomizedDialerMenuResourceIdLEv @ 92 NONAME - _ZN11CPhoneState33DisplayHeaderForInitializingCallLEi @ 93 NONAME + _ZN11CPhoneState27SetToolbarButtonBTHFEnabledEv @ 85 NONAME + _ZN11CPhoneState28ClearNumberEntryContentCacheEv @ 86 NONAME + _ZN11CPhoneState28SetupIdleScreenInBackgroundLEv @ 87 NONAME + _ZN11CPhoneState29DisplayHeaderForCallComingInLEii @ 88 NONAME + _ZN11CPhoneState29DisplayHeaderForOutgoingCallLEi @ 89 NONAME + _ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 90 NONAME + _ZN11CPhoneState30CustomizedDialerCbaResourceIdLEv @ 91 NONAME + _ZN11CPhoneState30SetToolbarButtonHandsetEnabledEv @ 92 NONAME + _ZN11CPhoneState31CustomizedDialerMenuResourceIdLEv @ 93 NONAME _ZN11CPhoneState34CaptureKeysDuringCallNotificationLEi @ 94 NONAME _ZN11CPhoneState34SetCallHeaderTextsForCallComingInLEiiP28TPhoneCmdParamCallHeaderData @ 95 NONAME _ZN11CPhoneState34SetToolbarButtonLoudspeakerEnabledEv @ 96 NONAME - _ZN11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 97 NONAME - _ZN11CPhoneState37ForwardPEMessageToPhoneCustomizationLEii @ 98 NONAME - _ZN11CPhoneState38CheckIfRestoreNEContentAfterDtmfDialerEv @ 99 NONAME - _ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 100 NONAME - _ZN11CPhoneState7IsSimOkEv @ 101 NONAME - _ZN11CPhoneState9ShowNoteLEi @ 102 NONAME - _ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 103 NONAME - _ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 104 NONAME - _ZN11CPhoneStateD0Ev @ 105 NONAME - _ZN11CPhoneStateD1Ev @ 106 NONAME - _ZN11CPhoneStateD2Ev @ 107 NONAME - _ZN15CPhoneStateIdle10ConstructLEv @ 108 NONAME - _ZN15CPhoneStateIdle10SpeedDialLERKjNS_21TDialInitiationMethodE @ 109 NONAME - _ZN15CPhoneStateIdle12HandleErrorLERK12TPEErrorInfo @ 110 NONAME - _ZN15CPhoneStateIdle14DialVoiceCallLEv @ 111 NONAME - _ZN15CPhoneStateIdle14HandleCommandLEi @ 112 NONAME - _ZN15CPhoneStateIdle14HandleDialingLEi @ 113 NONAME - _ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 114 NONAME - _ZN15CPhoneStateIdle15ProcessCommandLEi @ 115 NONAME - _ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 116 NONAME - _ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 117 NONAME - _ZN15CPhoneStateIdle18HandleSendCommandLEv @ 118 NONAME - _ZN15CPhoneStateIdle18SpeedDialCanceledLERKj @ 119 NONAME - _ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 120 NONAME - _ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 121 NONAME - _ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 122 NONAME - _ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 123 NONAME - _ZN15CPhoneStateIdle24CanTransEffectTypeBeUsedE21TStateTransEffectType @ 124 NONAME + _ZN11CPhoneState35CloseClearNumberEntryAndLoadEffectLE21TStateTransEffectType @ 97 NONAME + _ZN11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 98 NONAME + _ZN11CPhoneState36DoStateSpecificCallSetUpDefinitionsLEv @ 99 NONAME + _ZN11CPhoneState37ForwardPEMessageToPhoneCustomizationLEii @ 100 NONAME + _ZN11CPhoneState38CheckIfRestoreNEContentAfterDtmfDialerEv @ 101 NONAME + _ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 102 NONAME + _ZN11CPhoneState7IsSimOkEv @ 103 NONAME + _ZN11CPhoneState9ShowNoteLEi @ 104 NONAME + _ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 105 NONAME + _ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 106 NONAME + _ZN11CPhoneStateD0Ev @ 107 NONAME + _ZN11CPhoneStateD1Ev @ 108 NONAME + _ZN11CPhoneStateD2Ev @ 109 NONAME + _ZN15CPhoneStateIdle10ConstructLEv @ 110 NONAME + _ZN15CPhoneStateIdle10SpeedDialLERKjNS_21TDialInitiationMethodE @ 111 NONAME + _ZN15CPhoneStateIdle12HandleErrorLERK12TPEErrorInfo @ 112 NONAME + _ZN15CPhoneStateIdle14DialVoiceCallLEv @ 113 NONAME + _ZN15CPhoneStateIdle14HandleCommandLEi @ 114 NONAME + _ZN15CPhoneStateIdle14HandleDialingLEi @ 115 NONAME + _ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 116 NONAME + _ZN15CPhoneStateIdle15ProcessCommandLEi @ 117 NONAME + _ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 118 NONAME + _ZN15CPhoneStateIdle18HandleSendCommandLEv @ 119 NONAME + _ZN15CPhoneStateIdle18SpeedDialCanceledLERKj @ 120 NONAME + _ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 121 NONAME + _ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 122 NONAME + _ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 123 NONAME + _ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 124 NONAME _ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 125 NONAME _ZN15CPhoneStateIdle25HandleNumberLongKeyPressLEv @ 126 NONAME _ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 127 NONAME _ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 128 NONAME _ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 129 NONAME _ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 130 NONAME - _ZN15CPhoneStateIdle5DialLERK7TDesC1616TPhoneNumberTypeNS_21TDialInitiationMethodE @ 131 NONAME - _ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 132 NONAME - _ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 133 NONAME - _ZN15CPhoneStateIdleD0Ev @ 134 NONAME - _ZN15CPhoneStateIdleD1Ev @ 135 NONAME - _ZN15CPhoneStateIdleD2Ev @ 136 NONAME - _ZN16CPhoneCbaManager10UpdateCbaLEi @ 137 NONAME - _ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 138 NONAME - _ZN16CPhoneCbaManager7SetCbaLEi @ 139 NONAME - _ZN17CPhoneStateHandle17ViewCommandHandleEv @ 140 NONAME - _ZN17CPhoneStateHandle8InstanceEv @ 141 NONAME - _ZN17CPhoneStateInCall10ConstructLEv @ 142 NONAME - _ZN17CPhoneStateInCall10UpdateCbaLEi @ 143 NONAME - _ZN17CPhoneStateInCall11HandleIdleLEi @ 144 NONAME - _ZN17CPhoneStateInCall12OpenMenuBarLEv @ 145 NONAME - _ZN17CPhoneStateInCall14HandleCommandLEi @ 146 NONAME - _ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 147 NONAME - _ZN17CPhoneStateInCall15GetRingingCallLEv @ 148 NONAME - _ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 149 NONAME - _ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 150 NONAME - _ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 151 NONAME - _ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 152 NONAME - _ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 153 NONAME - _ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 154 NONAME - _ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 155 NONAME - _ZN17CPhoneStateInCall22HandlePropertyChangedLERK4TUidji @ 156 NONAME - _ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 157 NONAME - _ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 158 NONAME - _ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 159 NONAME - _ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 160 NONAME - _ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 161 NONAME - _ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 162 NONAME - _ZN17CPhoneStateInCallD0Ev @ 163 NONAME - _ZN17CPhoneStateInCallD1Ev @ 164 NONAME - _ZN17CPhoneStateInCallD2Ev @ 165 NONAME - _ZN18CPhoneStateMachine11ChangeStateEi @ 166 NONAME - _ZN18CPhoneStateMachine11PhoneEngineEv @ 167 NONAME - _ZN18CPhoneStateMachine12SecurityModeEv @ 168 NONAME - _ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 169 NONAME - _ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 170 NONAME - _ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 171 NONAME - _ZN18CPhoneStateMachine22HandlePropertyChangedLERK4TUidji @ 172 NONAME - _ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 173 NONAME - _ZN18CPhoneStateMachine23SetSecurityModeObserverEP26MPhoneSecurityModeObserver @ 174 NONAME - _ZN18CPhoneStateMachine25HandlePhoneEngineMessageLEii @ 175 NONAME - _ZN18CPhoneStateMachine25SetSecurityMessageHandlerEP28MPhoneSecurityMessageHandler @ 176 NONAME - _ZN18CPhoneStateMachine5StateEv @ 177 NONAME - _ZN18CPhoneStateMachine9SetCallIdEi @ 178 NONAME - _ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 179 NONAME - _ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 180 NONAME - _ZN18CPhoneStateMachineD0Ev @ 181 NONAME - _ZN18CPhoneStateMachineD1Ev @ 182 NONAME - _ZN18CPhoneStateMachineD2Ev @ 183 NONAME - _ZN18CPhoneStateStartup10ConstructLEv @ 184 NONAME - _ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 185 NONAME - _ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 186 NONAME - _ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 187 NONAME - _ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 188 NONAME - _ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 189 NONAME - _ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 190 NONAME - _ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 191 NONAME - _ZN18CPhoneStateStartup26HandlePEConstructionReadyLEi @ 192 NONAME - _ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 193 NONAME - _ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 194 NONAME - _ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 195 NONAME - _ZN18CPhoneStateStartupD0Ev @ 196 NONAME - _ZN18CPhoneStateStartupD1Ev @ 197 NONAME - _ZN18CPhoneStateStartupD2Ev @ 198 NONAME - _ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 199 NONAME - _ZN18CPhoneUIController13HandleMessageEii @ 200 NONAME - _ZN18CPhoneUIController14HandleCommandLEi @ 201 NONAME - _ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 202 NONAME - _ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 203 NONAME - _ZN18CPhoneUIController15ProcessCommandLEi @ 204 NONAME - _ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 205 NONAME - _ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 206 NONAME - _ZN18CPhoneUIController19HandlePhoneStartupLEv @ 207 NONAME - _ZN18CPhoneUIController22HandleForegroundEventLEi @ 208 NONAME - _ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 209 NONAME - _ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 210 NONAME - _ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 211 NONAME - _ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 212 NONAME - _ZN18CPhoneUIController4NewLER20CPhoneViewController @ 213 NONAME - _ZN18CPhoneUIControllerD0Ev @ 214 NONAME - _ZN18CPhoneUIControllerD1Ev @ 215 NONAME - _ZN18CPhoneUIControllerD2Ev @ 216 NONAME - _ZN19CPhoneStateIncoming10ConstructLEv @ 217 NONAME - _ZN19CPhoneStateIncoming14HandleCommandLEi @ 218 NONAME - _ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 219 NONAME - _ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 220 NONAME - _ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 221 NONAME - _ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 222 NONAME - _ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 223 NONAME - _ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 224 NONAME - _ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 225 NONAME - _ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 226 NONAME - _ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 227 NONAME - _ZN19CPhoneStateIncomingD0Ev @ 228 NONAME - _ZN19CPhoneStateIncomingD1Ev @ 229 NONAME - _ZN19CPhoneStateIncomingD2Ev @ 230 NONAME - _ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 231 NONAME - _ZN20CPhoneReconnectQuery9InstanceLEv @ 232 NONAME - _ZN20CPhoneStateCallSetup10ConstructLEv @ 233 NONAME - _ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 234 NONAME - _ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 235 NONAME - _ZN20CPhoneStateCallSetup14HandleCommandLEi @ 236 NONAME - _ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 237 NONAME - _ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 238 NONAME - _ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 239 NONAME - _ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 240 NONAME - _ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 241 NONAME - _ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 242 NONAME - _ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 243 NONAME - _ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 244 NONAME - _ZN20CPhoneStateCallSetupD0Ev @ 245 NONAME - _ZN20CPhoneStateCallSetupD1Ev @ 246 NONAME - _ZN20CPhoneStateCallSetupD2Ev @ 247 NONAME - _ZNK11CPhoneState11IsKeyLockOnEv @ 248 NONAME - _ZNK11CPhoneState12IsAutoLockOnEv @ 249 NONAME - _ZNK11CPhoneState14IsSwivelClosedEv @ 250 NONAME - _ZNK11CPhoneState17IsMenuBarVisibleLEv @ 251 NONAME - _ZNK11CPhoneState18TopAppIsDisplayedLEv @ 252 NONAME - _ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 253 NONAME - _ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 254 NONAME - _ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 255 NONAME - _ZNK11CPhoneState26IsDialingExtensionInFocusLEv @ 256 NONAME - _ZNK11CPhoneState28NeedToReturnToForegroundAppLEv @ 257 NONAME - _ZNK11CPhoneState8SimStateEv @ 258 NONAME - _ZNK15CPhoneStateIdle17IsSpeedDialNumberERK7TDesC16 @ 259 NONAME - _ZTI11CPhoneState @ 260 NONAME - _ZTI15CPhoneStateIdle @ 261 NONAME - _ZTI17CPhoneStateHandle @ 262 NONAME - _ZTI17CPhoneStateInCall @ 263 NONAME - _ZTI18CPhoneStateMachine @ 264 NONAME - _ZTI18CPhoneStateStartup @ 265 NONAME - _ZTI18CPhoneUIController @ 266 NONAME - _ZTI19CPhoneStateIncoming @ 267 NONAME - _ZTI20CPhoneReconnectQuery @ 268 NONAME - _ZTI20CPhoneStateCallSetup @ 269 NONAME - _ZTI23CPhoneDtmfWaitCharTimer @ 270 NONAME - _ZTI23CPhoneKeyEventForwarder @ 271 NONAME - _ZTI24CPhoneSystemEventHandler @ 272 NONAME - _ZTI26CPhoneRemoteControlHandler @ 273 NONAME - _ZTI27CPhoneBtaaDisconnectHandler @ 274 NONAME - _ZTV11CPhoneState @ 275 NONAME - _ZTV15CPhoneStateIdle @ 276 NONAME - _ZTV17CPhoneStateHandle @ 277 NONAME - _ZTV17CPhoneStateInCall @ 278 NONAME - _ZTV18CPhoneStateMachine @ 279 NONAME - _ZTV18CPhoneStateStartup @ 280 NONAME - _ZTV18CPhoneUIController @ 281 NONAME - _ZTV19CPhoneStateIncoming @ 282 NONAME - _ZTV20CPhoneReconnectQuery @ 283 NONAME - _ZTV20CPhoneStateCallSetup @ 284 NONAME - _ZTV23CPhoneDtmfWaitCharTimer @ 285 NONAME - _ZTV23CPhoneKeyEventForwarder @ 286 NONAME - _ZTV24CPhoneSystemEventHandler @ 287 NONAME - _ZTV26CPhoneRemoteControlHandler @ 288 NONAME - _ZTV27CPhoneBtaaDisconnectHandler @ 289 NONAME - _ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 290 NONAME - _ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 291 NONAME - _ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 292 NONAME - _ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 293 NONAME - _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 294 NONAME - _ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 295 NONAME - _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 296 NONAME - _ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 297 NONAME - _ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 298 NONAME - _ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 299 NONAME - _ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 300 NONAME - _ZThn12_N11CPhoneStateD0Ev @ 301 NONAME - _ZThn12_N11CPhoneStateD1Ev @ 302 NONAME - _ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 303 NONAME - _ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 304 NONAME - _ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 305 NONAME - _ZThn12_N15CPhoneStateIdleD0Ev @ 306 NONAME - _ZThn12_N15CPhoneStateIdleD1Ev @ 307 NONAME - _ZThn12_N17CPhoneStateInCall22HandlePropertyChangedLERK4TUidji @ 308 NONAME - _ZThn12_N17CPhoneStateInCallD0Ev @ 309 NONAME - _ZThn12_N17CPhoneStateInCallD1Ev @ 310 NONAME - _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 311 NONAME - _ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 312 NONAME - _ZThn12_N18CPhoneStateStartupD0Ev @ 313 NONAME - _ZThn12_N18CPhoneStateStartupD1Ev @ 314 NONAME - _ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 315 NONAME - _ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 316 NONAME - _ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 317 NONAME - _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 318 NONAME - _ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 319 NONAME - _ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 320 NONAME - _ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 321 NONAME - _ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 322 NONAME - _ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 323 NONAME - _ZThn12_N18CPhoneUIControllerD0Ev @ 324 NONAME - _ZThn12_N18CPhoneUIControllerD1Ev @ 325 NONAME - _ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 326 NONAME - _ZThn12_N19CPhoneStateIncomingD0Ev @ 327 NONAME - _ZThn12_N19CPhoneStateIncomingD1Ev @ 328 NONAME - _ZThn12_N20CPhoneStateCallSetupD0Ev @ 329 NONAME - _ZThn12_N20CPhoneStateCallSetupD1Ev @ 330 NONAME - _ZThn16_N11CPhoneState14HandleCommandLEi @ 331 NONAME - _ZThn16_N11CPhoneState15ProcessCommandLEi @ 332 NONAME - _ZThn16_N11CPhoneStateD0Ev @ 333 NONAME - _ZThn16_N11CPhoneStateD1Ev @ 334 NONAME - _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 335 NONAME - _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 336 NONAME - _ZThn16_N15CPhoneStateIdleD0Ev @ 337 NONAME - _ZThn16_N15CPhoneStateIdleD1Ev @ 338 NONAME - _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 339 NONAME - _ZThn16_N17CPhoneStateInCallD0Ev @ 340 NONAME - _ZThn16_N17CPhoneStateInCallD1Ev @ 341 NONAME - _ZThn16_N18CPhoneStateStartupD0Ev @ 342 NONAME - _ZThn16_N18CPhoneStateStartupD1Ev @ 343 NONAME - _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 344 NONAME - _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 345 NONAME - _ZThn16_N18CPhoneUIControllerD0Ev @ 346 NONAME - _ZThn16_N18CPhoneUIControllerD1Ev @ 347 NONAME - _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 348 NONAME - _ZThn16_N19CPhoneStateIncomingD0Ev @ 349 NONAME - _ZThn16_N19CPhoneStateIncomingD1Ev @ 350 NONAME - _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 351 NONAME - _ZThn16_N20CPhoneStateCallSetupD0Ev @ 352 NONAME - _ZThn16_N20CPhoneStateCallSetupD1Ev @ 353 NONAME - _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 354 NONAME - _ZThn20_N11CPhoneStateD0Ev @ 355 NONAME - _ZThn20_N11CPhoneStateD1Ev @ 356 NONAME - _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 357 NONAME - _ZThn20_N15CPhoneStateIdleD0Ev @ 358 NONAME - _ZThn20_N15CPhoneStateIdleD1Ev @ 359 NONAME - _ZThn20_N17CPhoneStateInCallD0Ev @ 360 NONAME - _ZThn20_N17CPhoneStateInCallD1Ev @ 361 NONAME - _ZThn20_N18CPhoneStateStartupD0Ev @ 362 NONAME - _ZThn20_N18CPhoneStateStartupD1Ev @ 363 NONAME - _ZThn20_N19CPhoneStateIncomingD0Ev @ 364 NONAME - _ZThn20_N19CPhoneStateIncomingD1Ev @ 365 NONAME - _ZThn20_N20CPhoneStateCallSetupD0Ev @ 366 NONAME - _ZThn20_N20CPhoneStateCallSetupD1Ev @ 367 NONAME - _ZThn24_N11CPhoneState19SetDivertIndicationEi @ 368 NONAME - _ZThn24_N11CPhoneStateD0Ev @ 369 NONAME - _ZThn24_N11CPhoneStateD1Ev @ 370 NONAME - _ZThn24_N15CPhoneStateIdleD0Ev @ 371 NONAME - _ZThn24_N15CPhoneStateIdleD1Ev @ 372 NONAME - _ZThn24_N17CPhoneStateInCallD0Ev @ 373 NONAME - _ZThn24_N17CPhoneStateInCallD1Ev @ 374 NONAME - _ZThn24_N18CPhoneStateStartupD0Ev @ 375 NONAME - _ZThn24_N18CPhoneStateStartupD1Ev @ 376 NONAME - _ZThn24_N19CPhoneStateIncomingD0Ev @ 377 NONAME - _ZThn24_N19CPhoneStateIncomingD1Ev @ 378 NONAME - _ZThn24_N20CPhoneStateCallSetupD0Ev @ 379 NONAME - _ZThn24_N20CPhoneStateCallSetupD1Ev @ 380 NONAME - _ZThn28_N11CPhoneState25HandleNumberEntryClearedLEv @ 381 NONAME - _ZThn28_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 382 NONAME - _ZThn28_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 383 NONAME - _ZThn28_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 384 NONAME - _ZThn28_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 385 NONAME - _ZThn32_N11CPhoneState23HandleNumberEntryEditedEv @ 386 NONAME - _ZThn32_N11CPhoneStateD0Ev @ 387 NONAME - _ZThn32_N11CPhoneStateD1Ev @ 388 NONAME - _ZThn32_N15CPhoneStateIdleD0Ev @ 389 NONAME - _ZThn32_N15CPhoneStateIdleD1Ev @ 390 NONAME - _ZThn32_N17CPhoneStateInCallD0Ev @ 391 NONAME - _ZThn32_N17CPhoneStateInCallD1Ev @ 392 NONAME - _ZThn32_N18CPhoneStateStartupD0Ev @ 393 NONAME - _ZThn32_N18CPhoneStateStartupD1Ev @ 394 NONAME - _ZThn32_N19CPhoneStateIncomingD0Ev @ 395 NONAME - _ZThn32_N19CPhoneStateIncomingD1Ev @ 396 NONAME - _ZThn32_N20CPhoneStateCallSetupD0Ev @ 397 NONAME - _ZThn32_N20CPhoneStateCallSetupD1Ev @ 398 NONAME - _ZThn36_NK11CPhoneState11IsKeyLockOnEv @ 399 NONAME - _ZThn36_NK11CPhoneState12IsAutoLockOnEv @ 400 NONAME - _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 401 NONAME - _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 402 NONAME - _ZThn4_N11CPhoneStateD0Ev @ 403 NONAME - _ZThn4_N11CPhoneStateD1Ev @ 404 NONAME - _ZThn4_N15CPhoneStateIdle12HandleErrorLERK12TPEErrorInfo @ 405 NONAME - _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 406 NONAME - _ZThn4_N15CPhoneStateIdleD0Ev @ 407 NONAME - _ZThn4_N15CPhoneStateIdleD1Ev @ 408 NONAME - _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 409 NONAME - _ZThn4_N17CPhoneStateInCallD0Ev @ 410 NONAME - _ZThn4_N17CPhoneStateInCallD1Ev @ 411 NONAME - _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 412 NONAME - _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 413 NONAME - _ZThn4_N18CPhoneStateMachine12SecurityModeEv @ 414 NONAME - _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 415 NONAME - _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 416 NONAME - _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 417 NONAME - _ZThn4_N18CPhoneStateMachine22HandlePropertyChangedLERK4TUidji @ 418 NONAME - _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 419 NONAME - _ZThn4_N18CPhoneStateMachine23SetSecurityModeObserverEP26MPhoneSecurityModeObserver @ 420 NONAME - _ZThn4_N18CPhoneStateMachine25HandlePhoneEngineMessageLEii @ 421 NONAME - _ZThn4_N18CPhoneStateMachine25SetSecurityMessageHandlerEP28MPhoneSecurityMessageHandler @ 422 NONAME - _ZThn4_N18CPhoneStateMachine5StateEv @ 423 NONAME - _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 424 NONAME - _ZThn4_N18CPhoneStateMachineD0Ev @ 425 NONAME - _ZThn4_N18CPhoneStateMachineD1Ev @ 426 NONAME - _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 427 NONAME - _ZThn4_N18CPhoneStateStartupD0Ev @ 428 NONAME - _ZThn4_N18CPhoneStateStartupD1Ev @ 429 NONAME - _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 430 NONAME - _ZThn4_N18CPhoneUIController13HandleMessageEii @ 431 NONAME - _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 432 NONAME - _ZThn4_N19CPhoneStateIncomingD0Ev @ 433 NONAME - _ZThn4_N19CPhoneStateIncomingD1Ev @ 434 NONAME - _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 435 NONAME - _ZThn4_N20CPhoneStateCallSetupD0Ev @ 436 NONAME - _ZThn4_N20CPhoneStateCallSetupD1Ev @ 437 NONAME - _ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 438 NONAME - _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 439 NONAME - _ZThn8_N11CPhoneState15HandleLongHashLEv @ 440 NONAME - _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 441 NONAME - _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 442 NONAME - _ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 443 NONAME - _ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 444 NONAME - _ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 445 NONAME - _ZThn8_N11CPhoneStateD0Ev @ 446 NONAME - _ZThn8_N11CPhoneStateD1Ev @ 447 NONAME - _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 448 NONAME - _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 449 NONAME - _ZThn8_N15CPhoneStateIdleD0Ev @ 450 NONAME - _ZThn8_N15CPhoneStateIdleD1Ev @ 451 NONAME - _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 452 NONAME - _ZThn8_N17CPhoneStateInCallD0Ev @ 453 NONAME - _ZThn8_N17CPhoneStateInCallD1Ev @ 454 NONAME - _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 455 NONAME - _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 456 NONAME - _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 457 NONAME - _ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 458 NONAME - _ZThn8_N18CPhoneStateStartupD0Ev @ 459 NONAME - _ZThn8_N18CPhoneStateStartupD1Ev @ 460 NONAME - _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 461 NONAME - _ZThn8_N18CPhoneUIControllerD0Ev @ 462 NONAME - _ZThn8_N18CPhoneUIControllerD1Ev @ 463 NONAME - _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 464 NONAME - _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 465 NONAME - _ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 466 NONAME - _ZThn8_N19CPhoneStateIncomingD0Ev @ 467 NONAME - _ZThn8_N19CPhoneStateIncomingD1Ev @ 468 NONAME - _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 469 NONAME - _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 470 NONAME - _ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 471 NONAME - _ZThn8_N20CPhoneStateCallSetupD0Ev @ 472 NONAME - _ZThn8_N20CPhoneStateCallSetupD1Ev @ 473 NONAME - _ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 474 NONAME + _ZN15CPhoneStateIdle36DoStateSpecificCallSetUpDefinitionsLEv @ 131 NONAME + _ZN15CPhoneStateIdle5DialLERK7TDesC1616TPhoneNumberTypeNS_21TDialInitiationMethodE @ 132 NONAME + _ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 133 NONAME + _ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 134 NONAME + _ZN15CPhoneStateIdleD0Ev @ 135 NONAME + _ZN15CPhoneStateIdleD1Ev @ 136 NONAME + _ZN15CPhoneStateIdleD2Ev @ 137 NONAME + _ZN16CPhoneCbaManager10UpdateCbaLEi @ 138 NONAME + _ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 139 NONAME + _ZN16CPhoneCbaManager7SetCbaLEi @ 140 NONAME + _ZN17CPhoneStateHandle17ViewCommandHandleEv @ 141 NONAME + _ZN17CPhoneStateHandle8InstanceEv @ 142 NONAME + _ZN17CPhoneStateInCall10ConstructLEv @ 143 NONAME + _ZN17CPhoneStateInCall10UpdateCbaLEi @ 144 NONAME + _ZN17CPhoneStateInCall11HandleIdleLEi @ 145 NONAME + _ZN17CPhoneStateInCall12OpenMenuBarLEv @ 146 NONAME + _ZN17CPhoneStateInCall14HandleCommandLEi @ 147 NONAME + _ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 148 NONAME + _ZN17CPhoneStateInCall15GetRingingCallLEv @ 149 NONAME + _ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 150 NONAME + _ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 151 NONAME + _ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 152 NONAME + _ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 153 NONAME + _ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 154 NONAME + _ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 155 NONAME + _ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 156 NONAME + _ZN17CPhoneStateInCall22HandlePropertyChangedLERK4TUidji @ 157 NONAME + _ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 158 NONAME + _ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 159 NONAME + _ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 160 NONAME + _ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 161 NONAME + _ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 162 NONAME + _ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 163 NONAME + _ZN17CPhoneStateInCallD0Ev @ 164 NONAME + _ZN17CPhoneStateInCallD1Ev @ 165 NONAME + _ZN17CPhoneStateInCallD2Ev @ 166 NONAME + _ZN18CPhoneStateMachine11ChangeStateEi @ 167 NONAME + _ZN18CPhoneStateMachine11PhoneEngineEv @ 168 NONAME + _ZN18CPhoneStateMachine12SecurityModeEv @ 169 NONAME + _ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 170 NONAME + _ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 171 NONAME + _ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 172 NONAME + _ZN18CPhoneStateMachine22HandlePropertyChangedLERK4TUidji @ 173 NONAME + _ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 174 NONAME + _ZN18CPhoneStateMachine23SetSecurityModeObserverEP26MPhoneSecurityModeObserver @ 175 NONAME + _ZN18CPhoneStateMachine25HandlePhoneEngineMessageLEii @ 176 NONAME + _ZN18CPhoneStateMachine25SetSecurityMessageHandlerEP28MPhoneSecurityMessageHandler @ 177 NONAME + _ZN18CPhoneStateMachine5StateEv @ 178 NONAME + _ZN18CPhoneStateMachine9SetCallIdEi @ 179 NONAME + _ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 180 NONAME + _ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 181 NONAME + _ZN18CPhoneStateMachineD0Ev @ 182 NONAME + _ZN18CPhoneStateMachineD1Ev @ 183 NONAME + _ZN18CPhoneStateMachineD2Ev @ 184 NONAME + _ZN18CPhoneStateStartup10ConstructLEv @ 185 NONAME + _ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 186 NONAME + _ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 187 NONAME + _ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 188 NONAME + _ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 189 NONAME + _ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 190 NONAME + _ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 191 NONAME + _ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 192 NONAME + _ZN18CPhoneStateStartup26HandlePEConstructionReadyLEi @ 193 NONAME + _ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 194 NONAME + _ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 195 NONAME + _ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 196 NONAME + _ZN18CPhoneStateStartupD0Ev @ 197 NONAME + _ZN18CPhoneStateStartupD1Ev @ 198 NONAME + _ZN18CPhoneStateStartupD2Ev @ 199 NONAME + _ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 200 NONAME + _ZN18CPhoneUIController13HandleMessageEii @ 201 NONAME + _ZN18CPhoneUIController14HandleCommandLEi @ 202 NONAME + _ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 203 NONAME + _ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 204 NONAME + _ZN18CPhoneUIController15ProcessCommandLEi @ 205 NONAME + _ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 206 NONAME + _ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 207 NONAME + _ZN18CPhoneUIController19HandlePhoneStartupLEv @ 208 NONAME + _ZN18CPhoneUIController22HandleForegroundEventLEi @ 209 NONAME + _ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 210 NONAME + _ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 211 NONAME + _ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 212 NONAME + _ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 213 NONAME + _ZN18CPhoneUIController4NewLER20CPhoneViewController @ 214 NONAME + _ZN18CPhoneUIControllerD0Ev @ 215 NONAME + _ZN18CPhoneUIControllerD1Ev @ 216 NONAME + _ZN18CPhoneUIControllerD2Ev @ 217 NONAME + _ZN19CPhoneStateIncoming10ConstructLEv @ 218 NONAME + _ZN19CPhoneStateIncoming14HandleCommandLEi @ 219 NONAME + _ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 220 NONAME + _ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 221 NONAME + _ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 222 NONAME + _ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 223 NONAME + _ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 224 NONAME + _ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 225 NONAME + _ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 226 NONAME + _ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 227 NONAME + _ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 228 NONAME + _ZN19CPhoneStateIncomingD0Ev @ 229 NONAME + _ZN19CPhoneStateIncomingD1Ev @ 230 NONAME + _ZN19CPhoneStateIncomingD2Ev @ 231 NONAME + _ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 232 NONAME + _ZN20CPhoneReconnectQuery9InstanceLEv @ 233 NONAME + _ZN20CPhoneStateCallSetup10ConstructLEv @ 234 NONAME + _ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 235 NONAME + _ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 236 NONAME + _ZN20CPhoneStateCallSetup14HandleCommandLEi @ 237 NONAME + _ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 238 NONAME + _ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 239 NONAME + _ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 240 NONAME + _ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 241 NONAME + _ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 242 NONAME + _ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 243 NONAME + _ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 244 NONAME + _ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 245 NONAME + _ZN20CPhoneStateCallSetupD0Ev @ 246 NONAME + _ZN20CPhoneStateCallSetupD1Ev @ 247 NONAME + _ZN20CPhoneStateCallSetupD2Ev @ 248 NONAME + _ZNK11CPhoneState11IsKeyLockOnEv @ 249 NONAME + _ZNK11CPhoneState12IsAutoLockOnEv @ 250 NONAME + _ZNK11CPhoneState14IsSwivelClosedEv @ 251 NONAME + _ZNK11CPhoneState17IsMenuBarVisibleLEv @ 252 NONAME + _ZNK11CPhoneState18TopAppIsDisplayedLEv @ 253 NONAME + _ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 254 NONAME + _ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 255 NONAME + _ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 256 NONAME + _ZNK11CPhoneState26IsDialingExtensionInFocusLEv @ 257 NONAME + _ZNK11CPhoneState28NeedToReturnToForegroundAppLEv @ 258 NONAME + _ZNK11CPhoneState8EikonEnvEv @ 259 NONAME + _ZNK11CPhoneState8SimStateEv @ 260 NONAME + _ZNK15CPhoneStateIdle17IsSpeedDialNumberERK7TDesC16 @ 261 NONAME + _ZNK18CPhoneStateMachine8EikonEnvEv @ 262 NONAME + _ZTI11CPhoneState @ 263 NONAME + _ZTI15CPhoneStateIdle @ 264 NONAME + _ZTI17CPhoneStateHandle @ 265 NONAME + _ZTI17CPhoneStateInCall @ 266 NONAME + _ZTI18CPhoneStateMachine @ 267 NONAME + _ZTI18CPhoneStateStartup @ 268 NONAME + _ZTI18CPhoneUIController @ 269 NONAME + _ZTI19CPhoneStateIncoming @ 270 NONAME + _ZTI20CPhoneReconnectQuery @ 271 NONAME + _ZTI20CPhoneStateCallSetup @ 272 NONAME + _ZTI23CPhoneDtmfWaitCharTimer @ 273 NONAME + _ZTI23CPhoneKeyEventForwarder @ 274 NONAME + _ZTI24CPhoneSystemEventHandler @ 275 NONAME + _ZTI26CPhoneRemoteControlHandler @ 276 NONAME + _ZTI27CPhoneBtaaDisconnectHandler @ 277 NONAME + _ZTV11CPhoneState @ 278 NONAME + _ZTV15CPhoneStateIdle @ 279 NONAME + _ZTV17CPhoneStateHandle @ 280 NONAME + _ZTV17CPhoneStateInCall @ 281 NONAME + _ZTV18CPhoneStateMachine @ 282 NONAME + _ZTV18CPhoneStateStartup @ 283 NONAME + _ZTV18CPhoneUIController @ 284 NONAME + _ZTV19CPhoneStateIncoming @ 285 NONAME + _ZTV20CPhoneReconnectQuery @ 286 NONAME + _ZTV20CPhoneStateCallSetup @ 287 NONAME + _ZTV23CPhoneDtmfWaitCharTimer @ 288 NONAME + _ZTV23CPhoneKeyEventForwarder @ 289 NONAME + _ZTV24CPhoneSystemEventHandler @ 290 NONAME + _ZTV26CPhoneRemoteControlHandler @ 291 NONAME + _ZTV27CPhoneBtaaDisconnectHandler @ 292 NONAME + _ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 293 NONAME + _ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 294 NONAME + _ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 295 NONAME + _ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 296 NONAME + _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 297 NONAME + _ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 298 NONAME + _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 299 NONAME + _ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 300 NONAME + _ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 301 NONAME + _ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 302 NONAME + _ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 303 NONAME + _ZThn12_N11CPhoneStateD0Ev @ 304 NONAME + _ZThn12_N11CPhoneStateD1Ev @ 305 NONAME + _ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 306 NONAME + _ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 307 NONAME + _ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 308 NONAME + _ZThn12_N15CPhoneStateIdleD0Ev @ 309 NONAME + _ZThn12_N15CPhoneStateIdleD1Ev @ 310 NONAME + _ZThn12_N17CPhoneStateInCall22HandlePropertyChangedLERK4TUidji @ 311 NONAME + _ZThn12_N17CPhoneStateInCallD0Ev @ 312 NONAME + _ZThn12_N17CPhoneStateInCallD1Ev @ 313 NONAME + _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 314 NONAME + _ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 315 NONAME + _ZThn12_N18CPhoneStateStartupD0Ev @ 316 NONAME + _ZThn12_N18CPhoneStateStartupD1Ev @ 317 NONAME + _ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 318 NONAME + _ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 319 NONAME + _ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 320 NONAME + _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 321 NONAME + _ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 322 NONAME + _ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 323 NONAME + _ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 324 NONAME + _ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 325 NONAME + _ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 326 NONAME + _ZThn12_N18CPhoneUIControllerD0Ev @ 327 NONAME + _ZThn12_N18CPhoneUIControllerD1Ev @ 328 NONAME + _ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 329 NONAME + _ZThn12_N19CPhoneStateIncomingD0Ev @ 330 NONAME + _ZThn12_N19CPhoneStateIncomingD1Ev @ 331 NONAME + _ZThn12_N20CPhoneStateCallSetupD0Ev @ 332 NONAME + _ZThn12_N20CPhoneStateCallSetupD1Ev @ 333 NONAME + _ZThn16_N11CPhoneState14HandleCommandLEi @ 334 NONAME + _ZThn16_N11CPhoneState15ProcessCommandLEi @ 335 NONAME + _ZThn16_N11CPhoneStateD0Ev @ 336 NONAME + _ZThn16_N11CPhoneStateD1Ev @ 337 NONAME + _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 338 NONAME + _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 339 NONAME + _ZThn16_N15CPhoneStateIdleD0Ev @ 340 NONAME + _ZThn16_N15CPhoneStateIdleD1Ev @ 341 NONAME + _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 342 NONAME + _ZThn16_N17CPhoneStateInCallD0Ev @ 343 NONAME + _ZThn16_N17CPhoneStateInCallD1Ev @ 344 NONAME + _ZThn16_N18CPhoneStateStartupD0Ev @ 345 NONAME + _ZThn16_N18CPhoneStateStartupD1Ev @ 346 NONAME + _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 347 NONAME + _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 348 NONAME + _ZThn16_N18CPhoneUIControllerD0Ev @ 349 NONAME + _ZThn16_N18CPhoneUIControllerD1Ev @ 350 NONAME + _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 351 NONAME + _ZThn16_N19CPhoneStateIncomingD0Ev @ 352 NONAME + _ZThn16_N19CPhoneStateIncomingD1Ev @ 353 NONAME + _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 354 NONAME + _ZThn16_N20CPhoneStateCallSetupD0Ev @ 355 NONAME + _ZThn16_N20CPhoneStateCallSetupD1Ev @ 356 NONAME + _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 357 NONAME + _ZThn20_N11CPhoneStateD0Ev @ 358 NONAME + _ZThn20_N11CPhoneStateD1Ev @ 359 NONAME + _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 360 NONAME + _ZThn20_N15CPhoneStateIdleD0Ev @ 361 NONAME + _ZThn20_N15CPhoneStateIdleD1Ev @ 362 NONAME + _ZThn20_N17CPhoneStateInCallD0Ev @ 363 NONAME + _ZThn20_N17CPhoneStateInCallD1Ev @ 364 NONAME + _ZThn20_N18CPhoneStateStartupD0Ev @ 365 NONAME + _ZThn20_N18CPhoneStateStartupD1Ev @ 366 NONAME + _ZThn20_N19CPhoneStateIncomingD0Ev @ 367 NONAME + _ZThn20_N19CPhoneStateIncomingD1Ev @ 368 NONAME + _ZThn20_N20CPhoneStateCallSetupD0Ev @ 369 NONAME + _ZThn20_N20CPhoneStateCallSetupD1Ev @ 370 NONAME + _ZThn24_N11CPhoneState25HandleNumberEntryClearedLEv @ 371 NONAME + _ZThn24_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 372 NONAME + _ZThn24_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 373 NONAME + _ZThn24_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 374 NONAME + _ZThn24_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 375 NONAME + _ZThn28_N11CPhoneState23HandleNumberEntryEditedEv @ 376 NONAME + _ZThn28_N11CPhoneStateD0Ev @ 377 NONAME + _ZThn28_N11CPhoneStateD1Ev @ 378 NONAME + _ZThn28_N15CPhoneStateIdleD0Ev @ 379 NONAME + _ZThn28_N15CPhoneStateIdleD1Ev @ 380 NONAME + _ZThn28_N17CPhoneStateInCallD0Ev @ 381 NONAME + _ZThn28_N17CPhoneStateInCallD1Ev @ 382 NONAME + _ZThn28_N18CPhoneStateStartupD0Ev @ 383 NONAME + _ZThn28_N18CPhoneStateStartupD1Ev @ 384 NONAME + _ZThn28_N19CPhoneStateIncomingD0Ev @ 385 NONAME + _ZThn28_N19CPhoneStateIncomingD1Ev @ 386 NONAME + _ZThn28_N20CPhoneStateCallSetupD0Ev @ 387 NONAME + _ZThn28_N20CPhoneStateCallSetupD1Ev @ 388 NONAME + _ZThn32_NK11CPhoneState11IsKeyLockOnEv @ 389 NONAME + _ZThn32_NK11CPhoneState12IsAutoLockOnEv @ 390 NONAME + _ZThn36_N11CPhoneState11SetEikonEnvEP9CEikonEnv @ 391 NONAME + _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 392 NONAME + _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 393 NONAME + _ZThn4_N11CPhoneStateD0Ev @ 394 NONAME + _ZThn4_N11CPhoneStateD1Ev @ 395 NONAME + _ZThn4_N15CPhoneStateIdle12HandleErrorLERK12TPEErrorInfo @ 396 NONAME + _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 397 NONAME + _ZThn4_N15CPhoneStateIdleD0Ev @ 398 NONAME + _ZThn4_N15CPhoneStateIdleD1Ev @ 399 NONAME + _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 400 NONAME + _ZThn4_N17CPhoneStateInCallD0Ev @ 401 NONAME + _ZThn4_N17CPhoneStateInCallD1Ev @ 402 NONAME + _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 403 NONAME + _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 404 NONAME + _ZThn4_N18CPhoneStateMachine12SecurityModeEv @ 405 NONAME + _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 406 NONAME + _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 407 NONAME + _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 408 NONAME + _ZThn4_N18CPhoneStateMachine22HandlePropertyChangedLERK4TUidji @ 409 NONAME + _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 410 NONAME + _ZThn4_N18CPhoneStateMachine23SetSecurityModeObserverEP26MPhoneSecurityModeObserver @ 411 NONAME + _ZThn4_N18CPhoneStateMachine25HandlePhoneEngineMessageLEii @ 412 NONAME + _ZThn4_N18CPhoneStateMachine25SetSecurityMessageHandlerEP28MPhoneSecurityMessageHandler @ 413 NONAME + _ZThn4_N18CPhoneStateMachine5StateEv @ 414 NONAME + _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 415 NONAME + _ZThn4_N18CPhoneStateMachineD0Ev @ 416 NONAME + _ZThn4_N18CPhoneStateMachineD1Ev @ 417 NONAME + _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 418 NONAME + _ZThn4_N18CPhoneStateStartupD0Ev @ 419 NONAME + _ZThn4_N18CPhoneStateStartupD1Ev @ 420 NONAME + _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 421 NONAME + _ZThn4_N18CPhoneUIController13HandleMessageEii @ 422 NONAME + _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 423 NONAME + _ZThn4_N19CPhoneStateIncomingD0Ev @ 424 NONAME + _ZThn4_N19CPhoneStateIncomingD1Ev @ 425 NONAME + _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 426 NONAME + _ZThn4_N20CPhoneStateCallSetupD0Ev @ 427 NONAME + _ZThn4_N20CPhoneStateCallSetupD1Ev @ 428 NONAME + _ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 429 NONAME + _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 430 NONAME + _ZThn8_N11CPhoneState15HandleLongHashLEv @ 431 NONAME + _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 432 NONAME + _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 433 NONAME + _ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 434 NONAME + _ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 435 NONAME + _ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 436 NONAME + _ZThn8_N11CPhoneStateD0Ev @ 437 NONAME + _ZThn8_N11CPhoneStateD1Ev @ 438 NONAME + _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 439 NONAME + _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 440 NONAME + _ZThn8_N15CPhoneStateIdleD0Ev @ 441 NONAME + _ZThn8_N15CPhoneStateIdleD1Ev @ 442 NONAME + _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 443 NONAME + _ZThn8_N17CPhoneStateInCallD0Ev @ 444 NONAME + _ZThn8_N17CPhoneStateInCallD1Ev @ 445 NONAME + _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 446 NONAME + _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 447 NONAME + _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 448 NONAME + _ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 449 NONAME + _ZThn8_N18CPhoneStateStartupD0Ev @ 450 NONAME + _ZThn8_N18CPhoneStateStartupD1Ev @ 451 NONAME + _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 452 NONAME + _ZThn8_N18CPhoneUIControllerD0Ev @ 453 NONAME + _ZThn8_N18CPhoneUIControllerD1Ev @ 454 NONAME + _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 455 NONAME + _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 456 NONAME + _ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 457 NONAME + _ZThn8_N19CPhoneStateIncomingD0Ev @ 458 NONAME + _ZThn8_N19CPhoneStateIncomingD1Ev @ 459 NONAME + _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 460 NONAME + _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 461 NONAME + _ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 462 NONAME + _ZThn8_N20CPhoneStateCallSetupD0Ev @ 463 NONAME + _ZThn8_N20CPhoneStateCallSetupD1Ev @ 464 NONAME + _ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 465 NONAME + _ZN11CPhoneState37SetNeedToReturnToForegroundAppStatusLEi @ 466 NONAME diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/group/phoneuicontrol.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h --- a/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h Thu Sep 09 18:09:57 2010 +0100 @@ -86,12 +86,6 @@ */ void DisplayHeaderForOutgoingCallL( const TInt aCallId ); - - /** - * Display initializing call header (phone number isn't initially - * displayed) - */ - void DisplayHeaderForInitializingCallL( TInt aCallId ); /** * Sets the call header type used in the call bubble. @@ -106,14 +100,6 @@ CBubbleManager::TPhoneCallTypeFlags CallHeaderType() const; /** - * Sets divert indication to call header if necessary - * @param aCallId - Call Id. - * @param aCallHeaderData - Call header where indication will be set - * if needed. - */ - void SetDivertIndication( const TBool aDivertIndication ); - - /** * Checks if call is waiting, returns ETrue if call is waiting * otherwise EFalse. * @param aCallId, call id. diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonecbamanager.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h --- a/phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h Thu Sep 09 18:09:57 2010 +0100 @@ -186,7 +186,7 @@ /** * Convert key code */ - void ConvertKeyCode( TUint& aCode, const TKeyEvent& aKeyEvent ); + void ConvertKeyCodeL( TUint& aCode, const TKeyEvent& aKeyEvent ); /** * Handle key long press @@ -197,7 +197,7 @@ * Checks from the statemachine is the given keyevent * one which produces a legal character in the current mode. */ - TBool IsKeyAllowed( const TKeyEvent& aKeyEvent ); + TBool IsKeyAllowedL( const TKeyEvent& aKeyEvent ); /** * Checks is the given key special character (*, 0, # ) from half-qwerty @@ -297,6 +297,13 @@ */ TBool iVirtualKeyBoardOpen; + + /** + * Indicates if menu or dialog was displayed + * when the key was pressed down. + */ + TBool iDisplayingMenuOrDialogOnEventKeyDown; + /** * Application menu. * Not owned. diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonenumberentrymanager.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphoneremotecontrolhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestate.h --- a/phoneapp/phoneuicontrol/inc/cphonestate.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/cphonestate.h Thu Sep 09 18:09:57 2010 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include #include "mphonestate.h" #include "mphoneviewcommandhandle.h" @@ -42,6 +43,8 @@ enum TStateTransEffectType { ENoneType, + ECallUiAppear, + ECallUiDisappear, // These effect types can be used only when NE is opened/closed // when some other app than phone is visible on the foreground/ // background. @@ -232,15 +235,6 @@ TRemConCoreApiButtonAction aButtonAct); /** - * Setter for divert indication showing in bubble. - * @param aDivertIndication ETrue to show divert indication, - * EFalse to not. Usually setting EFalse isn't necessary - * as it's a default value in bubble creation. - */ - IMPORT_C virtual void SetDivertIndication( - const TBool aDivertIndication ); - - /** * Handles Long hash key press */ IMPORT_C void HandleLongHashL(); @@ -336,6 +330,24 @@ * @return boolean value indicating if dialer extension is in focus */ IMPORT_C TBool IsDialingExtensionInFocusL() const; + + /** + * At moment does nothing in CPhoneState, only causes function call + * to inherinting classes. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); + + /** + * Getter for CEikonEnv to avoid use of static system calls + * @return CEikonEnv handle + */ + IMPORT_C CEikonEnv* EikonEnv() const; + + /** + * Setter for CEikonEnv to avoid use of static system calls + * @param CEikonEnv handle + */ + IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv ); public: // NumberEntry functions. @@ -356,6 +368,11 @@ * @return boolean value indicating that number entry is visible */ IMPORT_C TBool IsNumberEntryVisibleL(); + + /** + * Close and and clear number entry. + */ + IMPORT_C void CloseClearNumberEntryAndLoadEffectL( TStateTransEffectType aType ); protected: @@ -434,12 +451,6 @@ * @param aCallid call id */ IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId ); - - /** - * Display initializing call header (phone number isn't initially - * displayed) - */ - IMPORT_C void DisplayHeaderForInitializingCallL( TInt aCallId ); /** * Update Single Active Call @@ -626,14 +637,6 @@ */ IMPORT_C virtual void OnlyHashInNumberEntryL(); - /* - * Checks if it's ok to use aType effect in this state. - * - * @param aType effect to be checked - * @return true if aType effect can be used - */ - IMPORT_C virtual TBool CanTransEffectTypeBeUsed( TStateTransEffectType aType ); - /** * Informs view that UI is being updated (call bubble or number editor). * EndUiUpdate() must be called when update is done. @@ -740,6 +743,20 @@ IMPORT_C TBool ForwardPEMessageToPhoneCustomizationL( const TInt aMessage, TInt aCallId ); + + /** + * Sets up all call setup to display. + * @param aCallId - call id to set up + */ + IMPORT_C void DisplayCallSetupL( TInt aCallId ); + + /** + * Sets the flag wether the foreground application + * needs to be brought foreground after the phone + * goes idle + */ + IMPORT_C void SetNeedToReturnToForegroundAppStatusL( + TBool aNeedToReturn ); protected: // NumberEntry functions. @@ -842,6 +859,11 @@ */ IMPORT_C void SetToolbarButtonHandsetEnabled(); + /** + * Sets Bluetooth handsfree button enabled. + */ + IMPORT_C void SetToolbarButtonBTHFEnabled(); + protected: /** @@ -1167,7 +1189,7 @@ // Internal variable for EikonEnv to avoid // use of static system calls - CEikonEnv& iEnv; + CEikonEnv* iEnv; // Not owned // Call header manager. CPhoneCallHeaderManager* iCallHeaderManager; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestatecallsetup.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestatehandle.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestateidle.h --- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h Thu Sep 09 18:09:57 2010 +0100 @@ -101,13 +101,18 @@ IMPORT_C virtual void HandlePhoneFocusLostEventL(); /** + * This function is called from displaycallsetup and + * the purpose is to do state specific things for callsetup. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); + + /** * HandleError * Implements error handling framework * @param aErrorInfo: the error info */ IMPORT_C virtual void HandleErrorL( const TPEErrorInfo& aErrorInfo ); - protected: /** @@ -126,12 +131,6 @@ IMPORT_C void DisplayIncomingCallL( TInt aCallId ); /** - * Display Call Setup - * @param aCallid call id - */ - IMPORT_C void DisplayCallSetupL( TInt aCallId ); - - /** * By default EPOC constructor is private. */ IMPORT_C CPhoneStateIdle( @@ -171,14 +170,6 @@ * in number entry. */ IMPORT_C virtual void OnlyHashInNumberEntryL(); - - /* - * Checks if it's ok to use aType effect in this state. - * - * @param aType effect to be checked - * @return true if aType effect can be used - */ - IMPORT_C virtual TBool CanTransEffectTypeBeUsed( TStateTransEffectType aType ); /** * A message handling function for EPEMessageDialling @@ -221,14 +212,20 @@ protected: /** - * Sets iBubbleInitialized value. + * Sets iCallInitialized value. */ - void SetBubbleInitialized( TBool aValue ); + void SetCallInitialized( TBool aValue ); /** - * Gets iBubbleInitialized value. + * Gets iCallInitialized value. */ - TBool IsBubbleInitialized(); + TBool IsCallInitialized(); + + /** + * Removes NE and sets idle to background, for more detailed + * information check comments from implementation. + */ + void RemoveNumberEntryAndSetIdleToBackgroundIfNeededL(); private: // New functions @@ -317,32 +314,15 @@ TInt GetNumberAcqMenuIdL(); /** - * Launches initializing call bubble. - */ - void DisplayInitializingCallL( TInt aCallId ); - - /** - * Updates existing call bubble. - */ - TBool UpdateCallBubbleL( TInt aCallId ); - - /** - * Handles initialized call error. - */ - void HandleInitializingCallErrorL( TInt aCallId ); - - /** * Changes state to aState and resets iBubbleInitialized * value to false. */ void ChangeTo( TInt aState ); private: - // indicates that incomming call is arrived. - TBool iIncommingCall; - // Indicates call bubble is already initiliazed. - TBool iBubbleInitialized; + // True if call initiliazed. + TBool iCallInitialized; }; #endif // CPHONESTATEIDLE diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestateincall.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestateincoming.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestatemachine.h --- a/phoneapp/phoneuicontrol/inc/cphonestatemachine.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/cphonestatemachine.h Thu Sep 09 18:09:57 2010 +0100 @@ -142,6 +142,13 @@ IMPORT_C void HandlePropertyChangedL(const TUid& aCategory, const TUint aKey, const TInt aValue ); + + /** + * Getter for CEikonEnv to avoid use of static system calls + * @return CEikonEnv handle + */ + IMPORT_C CEikonEnv* EikonEnv() const; + protected: @@ -193,6 +200,11 @@ */ MPhoneSecurityMessageHandler* iSecurityMessageHandler; + /** Internal variable for EikonEnv to avoid use of static system calls + * Not own. + */ + CEikonEnv* iEnv; + }; #endif // CPHONESTATEMACHINE_H diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonestatestartup.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphonesystemeventhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/cphoneuicontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonecallheadermanagerutility.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonedivertif.h --- a/phoneapp/phoneuicontrol/inc/mphonedivertif.h Tue Aug 17 18:45:21 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -/* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* Interface for manipulating divert information. -* -*/ - - -#ifndef MPHONEDIVERTIF_H -#define MPHONEDIVERTIF_H - -// INCLUDES -#include - -// CLASS DECLARATION - -/** -* Handle all possible messages from Phone Engine -*/ -class MPhoneDivertIF - { - public: - - /** - * Destructor. - */ - virtual ~MPhoneDivertIF() {}; - - /** - * Setter for divert indication showing in bubble. - * @param aDivertIndication ETrue to show divert indication, - * EFalse to not. Usually setting EFalse isn't necessary - * as it's a default value in bubble creation. - */ - virtual void SetDivertIndication( - const TBool aDivertIndication ) = 0; - }; - -#endif // MPHONEDIVERTIF_H - -// End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonekeyevents.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonestate.h --- a/phoneapp/phoneuicontrol/inc/mphonestate.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/mphonestate.h Thu Sep 09 18:09:57 2010 +0100 @@ -26,10 +26,10 @@ #include "mphonesystemevents.h" #include "mphonemenuandcbaevents.h" #include "mphoneremotecontrolevents.h" -#include "mphonedivertif.h" #include "mphoneneclearedhandler.h" #include "mphonenumberentryevents.h" #include "mphonelockinfo.h" +#include "mphonestateproperties.h" // FORWARD DECLARATIONS @@ -45,10 +45,10 @@ public MPhoneSystemEvents, public MPhoneMenuAndCbaEvents, public MPhoneRemoteControlEvents, - public MPhoneDivertIF, public MPhoneNEClearedHandler, public MPhoneNumberEntryEvents, - public MPhoneLockInfo + public MPhoneLockInfo, + public MPhoneStateProperties { public: diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonestatemachine.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonestateproperties.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuicontrol/inc/mphonestateproperties.h Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,48 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: Nokia +* +* Description: An abstract class for accessing generic state properties +* +*/ + + +#ifndef MPHONESTATEPROPERTIES_H +#define MPHONESTATEPROPERTIES_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* An abstract class for accessing generic state properties +* +*/ +class MPhoneStateProperties + { + public: + + /** + * Sets CEikonEnv handle to minimize static system calls + * @param CEikonEnv handle + */ + virtual void SetEikonEnv( CEikonEnv* aEnv ) = 0; + + }; + +#endif // MPHONESTATEPROPERTIES_H + +// End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonesystemeventhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphonesystemevents.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/mphoneuistatemachinefactory.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h --- a/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h Thu Sep 09 18:09:57 2010 +0100 @@ -70,16 +70,6 @@ void SetOutgoingCallHeaderParamsL( const TInt aCallId, TPhoneCmdParamCallHeaderData* aCallHeaderData ); - - /** - * Sets info to initializing call header. - * @param aCallId - call id. - * @param aCallHeaderData - Call header parameter into which the text/picture - * parameters will be set. - */ - void SetIniticalizingCallHeaderParamsL( - const TInt aCallId, - TPhoneCmdParamCallHeaderData* aCallHeaderData ); /** * Updates call header info. @@ -109,14 +99,6 @@ * of call bubble. */ CBubbleManager::TPhoneCallTypeFlags CallHeaderType() const; - - /** - * Setter for divert indication showing in bubble. - * @param aDivertIndication ETrue to show divert indication, - * EFalse to not. Usually setting EFalse isn't necessary - * as it's a default value in bubble creation. - */ - void SetDivertIndication( const TBool aDivertIndication ); /** * Return remote info data @@ -152,8 +134,7 @@ */ void SetBasicCallHeaderParamsL( const TInt aCallId, - TPhoneCmdParamCallHeaderData* aCallHeaderData, - TBool aInitializing ); + TPhoneCmdParamCallHeaderData* aCallHeaderData ); /** * Sets divert indication to call header if necessary @@ -271,8 +252,6 @@ MPhoneCallHeaderManagerUtility& iManagerUtility; MPhoneStateMachine& iStateMachine; CBubbleManager::TPhoneCallTypeFlags iCallHeaderType; - TBool iSetDivertIndication; - }; #endif // TPHONECALLHEADERPARAM_H diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp --- a/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -22,6 +22,7 @@ #include #include #include +#include #include "cphoneaccessorybthandler.h" #include "cphonecenrepproxy.h" @@ -34,6 +35,8 @@ #include "phoneui.pan" #include "phonerssbase.h" #include "tphonecmdparamnote.h" +#include "tphonecmdparamglobalnote.h" + // CONSTANTS @@ -235,18 +238,18 @@ // void CPhoneAccessoryBTHandler::ShowBTActivatedL() { - // Get localised text - HBufC* buf = StringLoader::LoadLC( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( EPhoneInfoBTAccActivated ) ); - - TPhoneCmdParamNote noteParam; - noteParam.SetType( EPhoneNoteConfirmation ); - noteParam.SetText( *buf ); + + TPhoneCmdParamGlobalNote globalNoteParam; + globalNoteParam.SetType( EAknGlobalInformationNote ); + globalNoteParam.SetTone( EAvkonSIDNoSound ); + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneInfoBTAccActivated ) ); + // Display note - iViewCommandHandle->ExecuteCommandL( EPhoneViewShowNote, ¬eParam ); - CleanupStack::PopAndDestroy( buf ); + iViewCommandHandle->ExecuteCommandL( + EPhoneViewShowGlobalNote, &globalNoteParam ); } // --------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp --- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -223,38 +223,6 @@ &callHeaderParam ); } - -// --------------------------------------------------------------------------- -// CPhoneCallHeaderManager::DisplayHeaderForInitializingCallL -// --------------------------------------------------------------------------- -// -void CPhoneCallHeaderManager::DisplayHeaderForInitializingCallL( TInt aCallId ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::DisplayHeaderForInitializingCallL() "); - __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) ); - - TPhoneCmdParamCallHeaderData callHeaderParam; - - iCallHeaderParam->SetIniticalizingCallHeaderParamsL( - aCallId, - &callHeaderParam ); - - if( iCustomization ) - { - // to do modifications to call header parameters - // if VoIP call in question - iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam, - KNullDesC ); - } - - // Display call header for outgoing call - iViewCommandHandle.ExecuteCommandL( - EPhoneViewCreateCallHeader, - aCallId, - &callHeaderParam ); - - } - // --------------------------------------------------------------------------- // CPhoneCallHeaderManager::IsWaitingCallL // --------------------------------------------------------------------------- @@ -318,16 +286,6 @@ } // --------------------------------------------------------------------------- -// CPhoneCallHeaderManager::SetDivertIndication -// --------------------------------------------------------------------------- -// -void CPhoneCallHeaderManager::SetDivertIndication( const TBool aDivertIndication ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetDivertIndication()"); - iCallHeaderParam->SetDivertIndication( aDivertIndication ); - } - -// --------------------------------------------------------------------------- // CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL // --------------------------------------------------------------------------- // diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonecbamanager.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonedtmfwaitchartimer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphoneenginehandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp --- a/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -156,11 +156,18 @@ ret = OfferKeyEventBeforeControlStackL( aKeyEvent, aType ); - if ( !aKeyEvent.iRepeats ) + if ( !aKeyEvent.iRepeats && aKeyEvent.iCode != EKeyEscape ) { // Convert event. Use already converted iKeyPressedDown. TKeyEvent keyEvent = aKeyEvent; - keyEvent.iCode = iKeyPressedDown; + if ( keyEvent.iScanCode == EStdKeyApplication0 ) + { + keyEvent.iCode = EKeyApplication0; + } + else + { + keyEvent.iCode = iKeyPressedDown; + } // Do not handle dtmf tone if the type is EEventKey but we are not // expecting key up event. This happens if the key up event has been @@ -174,7 +181,7 @@ // Open number entry view if any allowed character key // is pressed on homescreen or in-call ui - if ( aType != EEventKeyUp && IsKeyAllowed( keyEvent ) ) + if ( aType != EEventKeyUp && IsKeyAllowedL( keyEvent ) ) { // Do not open number entry with up key iStateMachine->State()->HandleCreateNumberEntryL( keyEvent, aType ); @@ -252,13 +259,13 @@ } // ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::IsAlphaNumericKey +// CPhoneKeyEventForwarder::IsKeyAllowedL // ----------------------------------------------------------------------------- // -TBool CPhoneKeyEventForwarder::IsKeyAllowed( const TKeyEvent& aKeyEvent ) +TBool CPhoneKeyEventForwarder::IsKeyAllowedL( const TKeyEvent& aKeyEvent ) { __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::IsAlphaNumericKey"); + "CPhoneKeyEventForwarder::IsKeyAllowedL"); TKeyEvent keyEvent( aKeyEvent ); @@ -428,14 +435,20 @@ if ( EEventKeyUp == aType && EKeyNull != iKeyPressedDown ) { - // Handle short key press - iStateMachine->State()->HandleKeyMessageL( - MPhoneKeyEvents::EPhoneKeyShortPress, - TKeyCode( iKeyPressedDown ) ); - + // EKeyEnter is always offered to Telephony so don´t offer it + // to state if there is menu or a dialog open. + if ( !( EKeyEnter == iKeyPressedDown + && iDisplayingMenuOrDialogOnEventKeyDown ) ) + { + // Handle short key press + iStateMachine->State()->HandleKeyMessageL( + MPhoneKeyEvents::EPhoneKeyShortPress, + TKeyCode( iKeyPressedDown ) ); + } // Reset key code iScanCode = EStdKeyNull; iKeyPressedDown = EKeyNull; + iDisplayingMenuOrDialogOnEventKeyDown = EFalse; } return EKeyWasNotConsumed; @@ -478,7 +491,7 @@ "CPhoneKeyEventForwarder::HandleEventKeyDownBeforeControlStackL"); // Convert key code - ConvertKeyCode( iKeyPressedDown, aKeyEvent ); + ConvertKeyCodeL( iKeyPressedDown, aKeyEvent ); // Save key scan code iScanCode = aKeyEvent.iScanCode; @@ -520,6 +533,14 @@ this ) ); } + // Check if dialog or menu is open + // EikAppUi()->IsDisplayingMenuOrDialog doesn´t always return correct + // value for menubar, so ask visibility also from CEikMenuBar + iDisplayingMenuOrDialogOnEventKeyDown = ( iViewCommandHandle->HandleCommandL( + EPhoneViewIsDisplayingMenuOrDialog ) == + EPhoneViewResponseSuccess ) || ( iMenu && iMenu->IsDisplayed() ); + + return ( EKeyWasNotConsumed ); } @@ -631,6 +652,7 @@ // Store the previous scan code iPreviousScanCode = iScanCode; + // Consume dialer simulated key events, pass others on return EKeyWasNotConsumed; } @@ -699,19 +721,19 @@ } // ----------------------------------------------------------- -// CPhoneKeyEventForwarder::ConvertKeyCode +// CPhoneKeyEventForwarder::ConvertKeyCodeL // ----------------------------------------------------------- // -void CPhoneKeyEventForwarder::ConvertKeyCode( TUint& aCode, +void CPhoneKeyEventForwarder::ConvertKeyCodeL( TUint& aCode, const TKeyEvent& aKeyEvent ) { __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::ConvertKeyCode"); + "CPhoneKeyEventForwarder::ConvertKeyCodeL"); // Handler for special device key mapping in case iScanCode // to iCode conversion hasn't been handled by CAknAppUi::GetAliasKeyCodeL __PHONELOG1( EBasic, EPhoneControl, - "CPhoneKeyEventHandler::ConvertKeyCode scan code (%d)", + "CPhoneKeyEventHandler::ConvertKeyCodeL scan code (%d)", aKeyEvent.iScanCode ); if ( !ConvertHalfQwertySpecialChar( aCode, aKeyEvent ) ) @@ -743,6 +765,7 @@ case EStdKeyYes: aCode = EKeyYes; break; + case EStdKeyEnd: // End key is emulated if the device has combined power and end key case EStdKeyNo: aCode = EKeyNo; break; @@ -766,7 +789,7 @@ } __PHONELOG1( EBasic, EPhoneControl, - "CPhoneKeyEventHandler::ConvertKeyCode aCode (%d)", aCode ); + "CPhoneKeyEventHandler::ConvertKeyCodeL aCode (%d)", aCode ); } // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp --- a/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -67,7 +67,7 @@ iStateMachine ( aStateMachine ), iCustomization ( aCustomization ), iCbaManager ( aCbaManager ), - iEnv( *CEikonEnv::Static() ) + iEnv( *CEikonEnv::Static() ) // codescanner::eikonenvstatic { __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::CPhoneNumberEntryManager() "); } @@ -478,9 +478,12 @@ const TKeyEvent& aKeyEvent ) const { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneNumberEntryManager::IsAlphanumericSupportedAndCharInput( ) "); - TBool ret = ( iViewCommandHandle.HandleCommandL( EPhoneViewIsNumberEntryNumericMode ) - != EPhoneViewResponseSuccess ) - && + + TBool numericMode = EFalse; + TRAP_IGNORE( numericMode = ( iViewCommandHandle.HandleCommandL( EPhoneViewIsNumberEntryNumericMode ) + == EPhoneViewResponseSuccess ) ); + + TBool ret = !numericMode && ( ( aKeyEvent.iScanCode >= KPhoneKeyStart && aKeyEvent.iScanCode <= KPhoneKeyEnd ) || aKeyEvent.iModifiers & EModifierSpecial ); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonereconnectquery.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp --- a/phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -113,6 +113,12 @@ { case ERemConCoreApiButtonClick: { + // Cancel the button repeat timer + if( iButtonRepeatTimer->IsActive() ) + { + iButtonRepeatTimer->Cancel(); + } + // Pass the remote control operation to the current state TRAP_IGNORE( handled = iStateMachine->State()-> diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonesecuritymodeobserver.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestate.cpp --- a/phoneapp/phoneuicontrol/src/cphonestate.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -117,8 +117,7 @@ MPhoneCustomization* aCustomization) : iStateMachine( aStateMachine ), iViewCommandHandle( aViewCommandHandle ), - iCustomization( aCustomization ), - iEnv( *CEikonEnv::Static() ) + iCustomization( aCustomization ) { // Need to get current SimState for inherited classis iPreviousSimState = SimState(); @@ -378,21 +377,18 @@ break; default: - TBool handled( EFalse ); - handled = ForwardPEMessageToPhoneCustomizationL( aMessage, aCallId ); - if ( EFalse == handled ) { - MPhoneMediatorMessage* mediatorMessage = CPhoneMediatorFactory::Instance()->MediatorMessage( aMessage, aCallId ); - if( mediatorMessage ) - { - CleanupDeletePushL( mediatorMessage ); - mediatorMessage->ExecuteL(); - CleanupStack::PopAndDestroy( mediatorMessage ); - mediatorMessage = NULL; - } + MPhoneMediatorMessage* mediatorMessage = CPhoneMediatorFactory::Instance()->MediatorMessage( aMessage, aCallId ); + if( mediatorMessage ) + { + CleanupDeletePushL( mediatorMessage ); + mediatorMessage->ExecuteL(); + CleanupStack::PopAndDestroy( mediatorMessage ); + mediatorMessage = NULL; + } } break; } @@ -475,7 +471,7 @@ else if ( RouteParameters.iShowNote && audioOutput == EPELoudspeaker ) { CAknKeySoundSystem* keySounds = - static_cast( iEnv.EikAppUi() )->KeySounds(); + static_cast( EikonEnv()->EikAppUi() )->KeySounds(); keySounds->PlaySound( EAvkonSIDIHFActive ); } } @@ -1165,6 +1161,26 @@ } // ----------------------------------------------------------- +// CPhoneState::EikonEnv +// ----------------------------------------------------------- +// +EXPORT_C CEikonEnv* CPhoneState::EikonEnv() const + { + __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::EikonEnv( ) "); + return iEnv; + } + +// ----------------------------------------------------------- +// CPhoneState::SetEikonEnv +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::SetEikonEnv( CEikonEnv* aEnv ) + { + __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SetEikonEnv( ) "); + iEnv = aEnv; + } + +// ----------------------------------------------------------- // CPhoneState::SendKeyEventL // ----------------------------------------------------------- // @@ -1553,10 +1569,7 @@ // this should be bypasses? case EPhoneDialerCallHandling: case EPhoneCmdBack: - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - // Do state-specific behaviour if number entry is cleared - HandleNumberEntryClearedL(); + CloseClearNumberEntryAndLoadEffectL( ECallUiAppear ); break; case EPhoneDialerCmdTouchInput: @@ -1906,7 +1919,7 @@ else { CAknKeySoundSystem* keySounds = - static_cast( iEnv.EikAppUi() ) + static_cast( EikonEnv()->EikAppUi() ) ->KeySounds(); if ( aLevel < KPhoneVolumeMinValue ) @@ -1960,13 +1973,12 @@ __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DialVoiceCallL() "); __ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) ); - // Disable global notes TPhoneCmdParamBoolean globalNotifierParam; globalNotifierParam.SetBoolean( ETrue ); iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled, &globalNotifierParam ); - iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice ); + iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice ); iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial ); } @@ -2076,23 +2088,13 @@ // Don't remove reconnect query if it's shown if( !CPhoneReconnectQuery::InstanceL()->IsDisplayingQuery() ) { - // Remove dialogs if necessary iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); } // Return phone to the background iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - - // Set Idle app as the top app + // Set Idle app as the top app to PS key this way we know if need to + // bring idle to fore in next phone acitvation event. iViewCommandHandle->ExecuteCommandL( EPhoneViewSetIdleTopApplication ); - - // Go to Homescreen when application, which was open when answered incoming call, - // is closed during active call - if( TopAppIsDisplayedL() ) - { - DisplayIdleScreenL(); - } - - // Set Empty CBA iCbaManager->SetCbaL( EPhoneEmptyCBA ); } @@ -2156,9 +2158,8 @@ iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber ); if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength ) - { - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - HandleNumberEntryClearedL(); + { + CloseClearNumberEntryAndLoadEffectL( ECallUiAppear ); } CleanupStack::PopAndDestroy( phoneNumber ); @@ -2210,17 +2211,6 @@ CallheaderManagerL()->DisplayHeaderForOutgoingCallL(aCallId); } - -// ----------------------------------------------------------- -// CPhoneState::DisplayHeaderForInitializingCallL -// ----------------------------------------------------------- -// -EXPORT_C void CPhoneState::DisplayHeaderForInitializingCallL( TInt aCallId ) - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisplayHeaderForInitializingCallL( ) "); - CallheaderManagerL()->DisplayHeaderForInitializingCallL( aCallId ); - } - // ----------------------------------------------------------- // CPhoneState::UpdateSingleActiveCallL // ----------------------------------------------------------- @@ -2228,10 +2218,8 @@ EXPORT_C void CPhoneState::UpdateSingleActiveCallL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateSingleActiveCallL( ) "); - // Stop capturing keys CaptureKeysDuringCallNotificationL( EFalse ); - BeginUiUpdateLC(); SetTouchPaneButtonEnabled( EPhoneInCallCmdHold ); @@ -3388,16 +3376,6 @@ } // --------------------------------------------------------- -// CPhoneState::SetDivertIndication -// --------------------------------------------------------- -// -EXPORT_C void CPhoneState::SetDivertIndication( const TBool aDivertIndication ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::SetDivertIndication()"); - TRAP_IGNORE( CallheaderManagerL()->SetDivertIndication( aDivertIndication ) ); - } - -// --------------------------------------------------------- // CPhoneState::StartAlsLineChangeTimerL // --------------------------------------------------------- // @@ -3772,7 +3750,8 @@ if ( aResourceId == EPhoneIncallButtons && FeatureManager::FeatureSupported( KFeatureIdFfEntryPointForVideoShare ) && CPhonePubSubProxy::Instance()->Value - ( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator ) ) + ( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator ) + == ECoreAppUIsVideoSharingIndicatorOn ) { aResourceId = EPhoneIncallVideoShareButtons; } @@ -3890,56 +3869,55 @@ // EXPORT_C void CPhoneState::BeginUiUpdateLC() { - iViewCommandHandle->ExecuteCommand( EPhoneViewBeginUpdate ); - TCleanupItem operation( UiUpdateCleanup, this ); CleanupStack::PushL( operation ); } // ----------------------------------------------------------- -// CPhoneState::BeginTransEffectLC -// ----------------------------------------------------------- -// -EXPORT_C void CPhoneState::BeginTransEffectLC( TStateTransEffectType aType ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::BeginTransEffectLC( ) "); - - // Check if this particular effect can be used in the current state. - if ( CanTransEffectTypeBeUsed( aType ) ) - { - TPhoneCmdParamTransEffect effectParam; - switch ( aType ) - { - case ENumberEntryOpen: - effectParam.SetType( EPhoneTransEffectDialerOpen ); - break; - case ENumberEntryClose: - effectParam.SetType( EPhoneTransEffectDialerClose ); - break; - case ENumberEntryCreate: - effectParam.SetType( EPhoneTransEffectDialerCreate ); - break; - default: - effectParam.SetType( EPhoneTransEffectNone ); - } - - iViewCommandHandle->ExecuteCommand( EPhoneViewBeginTransEffect, - &effectParam ); - } - - // Always put the cleanup item into stack as expected by the caller. - TCleanupItem operation( EffectCleanup, this ); - CleanupStack::PushL( operation ); - } - -// ----------------------------------------------------------- // CPhoneState::EndUiUpdate // ----------------------------------------------------------- // EXPORT_C void CPhoneState::EndUiUpdate() { - CleanupStack::PopAndDestroy(); // Call UiUpdateCleanup + CleanupStack::PopAndDestroy(); // Call UiUpdateCleanup + } + +// ----------------------------------------------------------- +// CPhoneState::BeginTransEffectLC +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::BeginTransEffectLC( TStateTransEffectType aType ) + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::BeginTransEffectLC( ) "); + TPhoneCmdParamTransEffect effectParam; + switch ( aType ) + { + case ENumberEntryOpen: + effectParam.SetType( EPhoneTransEffectDialerOpen ); + break; + case ENumberEntryClose: + effectParam.SetType( EPhoneTransEffectDialerClose ); + break; + case ENumberEntryCreate: + effectParam.SetType( EPhoneTransEffectDialerCreate ); + break; + case ECallUiAppear: + effectParam.SetType( EPhoneTransEffectCallUiAppear ); + break; + case ECallUiDisappear: + effectParam.SetType( EPhoneTransEffectCallUiDisappear ); + break; + default: + effectParam.SetType( EPhoneTransEffectNone ); + } + effectParam.SetAppUid( KUidPhoneApplication ); + iViewCommandHandle->ExecuteCommand( + EPhoneViewBeginTransEffect, + &effectParam ); + // Always put the cleanup item into stack as expected by the caller. + TCleanupItem operation( EffectCleanup, this ); + CleanupStack::PushL( operation ); } // ----------------------------------------------------------- @@ -4034,11 +4012,10 @@ { TPhoneCmdParamBoolean booleanParam; booleanParam.SetBoolean( EFalse ); - // Disable dialer DTMF mode - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfDialerViewVisible, - &booleanParam ); - - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + iViewCommandHandle->ExecuteCommandL( + EPhoneViewSetDtmfDialerViewVisible, + &booleanParam ); + CloseClearNumberEntryAndLoadEffectL( ECallUiAppear ); } else // Non-Touch { @@ -4046,10 +4023,9 @@ // because it should not be shown if user has pressed end key. iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery ); + // Do state-specific behaviour if number entry is cleared + HandleNumberEntryClearedL(); } - - // Do state-specific behaviour if number entry is cleared - HandleNumberEntryClearedL(); } // ----------------------------------------------------------- @@ -4370,14 +4346,9 @@ EXPORT_C void CPhoneState::CloseCustomizedDialerL() { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CloseCustomizedDialerL( ) "); - // Set dialer back to default mode. iViewCommandHandle->HandleCommandL( EPhoneViewHideCustomizedDialer ); - - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - - // Do state-specific behaviour if number entry is cleared - HandleNumberEntryClearedL(); + CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); } // ----------------------------------------------------------------------------- @@ -4426,6 +4397,7 @@ booleanParam.SetBoolean( ETrue ); iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfDialerViewVisible, &booleanParam ); + BeginTransEffectLC( ECallUiDisappear ); if ( IsNumberEntryUsedL() ) { // Store the number entry content to cache @@ -4442,6 +4414,7 @@ // Create and display DTMF dialer NumberEntryManagerL()->CreateNumberEntryL(); } + EndTransEffect(); // Update CBA iCbaManager->UpdateInCallCbaL(); @@ -4509,7 +4482,7 @@ __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::LoadResource - aResource: %d", aResource ); StringLoader::Load( aData, CPhoneMainResourceResolver::Instance()->ResolveResourceID( aResource ), - &iEnv ); + EikonEnv() ); } // ----------------------------------------------------------- @@ -4698,16 +4671,6 @@ StartAlsLineChangeTimerL(); } -// --------------------------------------------------------- -// CPhoneState::CanTransEffectTypeBeUsed -// --------------------------------------------------------- -// -EXPORT_C TBool CPhoneState::CanTransEffectTypeBeUsed( TStateTransEffectType /*aType*/ ) - { - // State dependant so return EFalse by default. - return EFalse; - } - // ----------------------------------------------------------- // CPhoneState::NumberEntryClearL // ----------------------------------------------------------- @@ -4789,6 +4752,21 @@ } // --------------------------------------------------------- +// CPhoneState::SetToolbarButtonBTHFEnabled +// --------------------------------------------------------- +// +EXPORT_C void CPhoneState::SetToolbarButtonBTHFEnabled() + { + if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) + { + TPhoneCmdParamInteger integerParam; + integerParam.SetInteger( EPhoneInCallCmdBtHandsfree ); + iViewCommandHandle->ExecuteCommand( + EPhoneViewEnableToolbarButton, &integerParam ); + } + } + +// --------------------------------------------------------- // CPhoneState::HandleEasyDialingCommandsL // --------------------------------------------------------- // @@ -4892,5 +4870,69 @@ } } +// ----------------------------------------------------------- +// CPhoneState::DisplayCallSetupL +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::DisplayCallSetupL( TInt aCallId ) + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::DisplayCallSetupL() "); + BeginTransEffectLC( ECallUiAppear ); + BeginUiUpdateLC(); + SetNumberEntryVisibilityL( EFalse ); + CaptureKeysDuringCallNotificationL( ETrue ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); + TPhoneCmdParamInteger uidParam; + uidParam.SetInteger( KUidPhoneApplication.iUid ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, + &uidParam ); + // Do state-specific operations. + DoStateSpecificCallSetUpDefinitionsL(); + DisplayHeaderForOutgoingCallL(aCallId); + EndUiUpdate(); + EndTransEffect(); + iCbaManager->UpdateCbaL(EPhoneCallHandlingCallSetupCBA); + } + +// ----------------------------------------------------------- +// Sends command to viewcontroller to store the flag +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::SetNeedToReturnToForegroundAppStatusL( + TBool aNeedToReturn ) + { + TPhoneCmdParamBoolean booleanParam; + booleanParam.SetBoolean( aNeedToReturn ); + iViewCommandHandle->ExecuteCommandL( + EPhoneViewSetNeedToReturnToForegroundAppStatus, + &booleanParam ); + } + +// ----------------------------------------------------------- +// CPhoneState::DoStateSpecificCallSetUpDefinitionsL +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::DoStateSpecificCallSetUpDefinitionsL() + { + // do nothing + } + +// ----------------------------------------------------------- +// CPhoneState::CloseClearNumberEntryAndLoadEffect +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneState::CloseClearNumberEntryAndLoadEffectL( + TStateTransEffectType aType ) + { + __LOGMETHODSTARTEND( EPhoneControl, + "CPhoneState::CloseClearNumberEntryAndLoadEffectL() "); + BeginTransEffectLC( aType ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + EndTransEffect(); + // Do state-specific operation when number entry is cleared + HandleNumberEntryClearedL(); + } + // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp --- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -87,11 +87,17 @@ // Enable the volume display iViewCommandHandle->ExecuteCommandL( EPhoneViewShowNaviPaneAudioVolume ); HandleAudioOutputChangedL(); - - CPhonePubSubProxy::Instance()->ChangePropertyValue( - KPSUidScreenSaver, - KScreenSaverAllowScreenSaver, - EPhoneScreensaverNotAllowed ); + + TPhoneCmdParamCallStateData callStateData; + callStateData.SetCallState( EPEStateDialing ); + iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, &callStateData ); + if ( callStateData.CallId() > KErrNotFound && IsVideoCall( callStateData.CallId() ) ) + { + CPhonePubSubProxy::Instance()->ChangePropertyValue( + KPSUidScreenSaver, + KScreenSaverAllowScreenSaver, + EPhoneScreensaverNotAllowed ); + } } // ----------------------------------------------------------- @@ -245,10 +251,8 @@ { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleCreateNumberEntryL()" ); - } - // ----------------------------------------------------------- // CPhoneStateCallSetup::UpdateInCallCbaL // ----------------------------------------------------------- @@ -608,8 +612,16 @@ void CPhoneStateCallSetup::HandleIdleL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleIdleL()"); - - BeginUiUpdateLC (); + if ( !NeedToReturnToForegroundAppL() && + IsNumberEntryUsedL() ) + { + BeginTransEffectLC( ECallUiDisappear ); + } + else + { + BeginTransEffectLC( ENumberEntryOpen ); + } + BeginUiUpdateLC(); // Disable the volume display iViewCommandHandle->ExecuteCommandL( EPhoneViewHideNaviPaneAudioVolume ); @@ -622,8 +634,21 @@ if ( IsNumberEntryUsedL() ) { - // Show the number entry if it exists - SetNumberEntryVisibilityL(ETrue); + if ( NeedToReturnToForegroundAppL() ) + { + // Return phone to the background if send to background is needed. + iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); + + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); + + // Set Number Entry CBA + iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); + } + else + { + // Show the number entry if it exists + SetNumberEntryVisibilityL(ETrue); + } } else if ( NeedToReturnToForegroundAppL() ) { @@ -640,8 +665,7 @@ } EndUiUpdate(); - - // Go to idle state + EndTransEffect(); // No need update cba iStateMachine->ChangeState( EPhoneStateIdle ); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestatehandle.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestateidle.cpp --- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -76,7 +76,8 @@ MPhoneStateMachine* aStateMachine, MPhoneViewCommandHandle* aViewCommandHandle, MPhoneCustomization* aCustomization ) : - CPhoneState( aStateMachine, aViewCommandHandle, aCustomization ) + CPhoneState( aStateMachine, aViewCommandHandle, aCustomization ), + iCallInitialized( EFalse ) { } @@ -101,6 +102,25 @@ &boolean ); iViewCommandHandle->ExecuteCommandL( EPhoneViewCreatePhoneBookServices ); + + // If Sim is not ok and we are not at foreground, bring ourselves to foreground + // so that the security note can be seen. + TPhoneCmdParamInteger foregroundAppParam; + iViewCommandHandle->ExecuteCommandL( EPhoneViewGetForegroundApplication, + &foregroundAppParam ); + + if ( !IsSimOk() ) + { + TPhoneCmdParamInteger uidParam; + // Bring Phone app in the foreground + uidParam.SetInteger( KUidPhoneApplication.iUid ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, + &uidParam ); + + // Set Phone as the top application + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication, + &uidParam ); + } } // ----------------------------------------------------------- @@ -334,13 +354,7 @@ switch ( aMessage ) { case MEngineMonitor::EPEMessageInitiatedMoCall: - if( !IsBubbleInitialized() && - ( EPECallTypeCSVoice == - iStateMachine->PhoneEngineInfo()->CallType(aCallId) ) ) - { - // Display call setup ASAP. - DisplayInitializingCallL( aCallId ); - } + SetCallInitialized( ETrue ); break; case MEngineMonitor::EPEMessageIncoming: @@ -384,28 +398,11 @@ break; case MEngineMonitor::EPEMessageInValidEmergencyNumber: - // if sim is ok then there is no need show this note. - if ( !IsSimOk() ) - { - SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly ); - } + SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly ); break; case MEngineMonitor::EPEMessageValidEmergencyNumber: - /* DisplayInitializingCallL calls EPEMessageCheckEmergencyNumber which - means that engine will send EPEMessageInValidEmergencyNumber or - EPEMessageValidEmergencyNumber response to phoneapp. If phoneengine - sends EPEMessageValidEmergencyNumber then iBubbleInitialized should be - set to EFalse this way we dont initializing call bubble behind attempting emergency - call dialog.*/ - if ( IsBubbleInitialized() ) - { - SetBubbleInitialized( EFalse ); - } - else - { - DialVoiceCallL(); - } + DialVoiceCallL(); break; default: @@ -435,6 +432,9 @@ KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists @@ -444,7 +444,7 @@ } // Close fast swap window if it's displayed - CEikonEnv::Static()->DismissTaskList(); + EikonEnv()->DismissTaskList(); // Show incoming call buttons SetTouchPaneButtons( EPhoneIncomingCallButtons ); @@ -455,6 +455,7 @@ DisplayIncomingCallL( aCallId ); EndUiUpdate(); + EndTransEffect(); // Go to incoming state iCbaManager->UpdateIncomingCbaL( aCallId ); @@ -466,46 +467,39 @@ iViewCommandHandle->HandleCommandL( EPhoneViewShowToolbar ); ChangeTo( EPhoneStateIncoming ); - - // Reset divert indication - SetDivertIndication( EFalse ); } // ----------------------------------------------------------- -// CPhoneStateIdle::HandleDiallingL +// CPhoneStateIdle::HandleDialingL // Default handling for dialling message // (other items were commented in a header). // ----------------------------------------------------------- // EXPORT_C void CPhoneStateIdle::HandleDialingL( TInt aCallId ) - { + { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleDialingL( ) "); + // Indicate that the Phone needs to be sent to the background if + // an application other than phone or idle application is in the foreground + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + + DisplayCallSetupL( aCallId ); + ChangeTo( EPhoneStateCallSetup ); + } - BeginUiUpdateLC(); - - SetNumberEntryVisibilityL(EFalse); - +// ----------------------------------------------------------- +// CPhoneStateIdle::DoStateSpecificCallSetUpDefinitionsL +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneStateIdle::DoStateSpecificCallSetUpDefinitionsL() + { // Show call setup buttons SetTouchPaneButtons( EPhoneCallSetupButtons ); - SetTouchPaneButtonDisabled( EPhoneInCallCmdHold ); - - // Display call setup - DisplayCallSetupL( aCallId ); - - EndUiUpdate(); - - // Remove any phone dialogs if they are displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); - - // Go to call setup state - iCbaManager->UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); + SetTouchPaneButtonDisabled( EPhoneInCallCmdHold ); SetToolbarDimming( ETrue ); - SetToolbarButtonLoudspeakerEnabled(); SetToolbarButtonHandsetEnabled(); - - ChangeTo( EPhoneStateCallSetup ); + SetToolbarButtonBTHFEnabled(); } // ----------------------------------------------------------- @@ -529,9 +523,9 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, &uidParam ); } - + BeginTransEffectLC( ENumberEntryClose ); BeginUiUpdateLC(); - + // Remove the number entry iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); @@ -546,6 +540,7 @@ SetToolbarDimming( EFalse ); EndUiUpdate(); + EndTransEffect(); // Go to single state iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA ); @@ -566,16 +561,13 @@ case EPhoneCmdOptions: { // Open number entry menubar - TPhoneCmdParamInteger integerParam; - TInt menuId( GetNumberAcqMenuIdL() ); - integerParam.SetInteger( menuId ); - + TPhoneCmdParamInteger integerParam; + integerParam.SetInteger( menuId ); iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen, &integerParam ); + } break; - } - case EPhoneNumberAcqCmdCall: HandleVoiceCallCommandL( EFalse ); break; @@ -592,14 +584,18 @@ HandleBackCommandL(); EndTransEffect(); break; + + case EPhoneViewOpenNumberEntry: + BeginTransEffectLC( ENumberEntryOpen ); + commandStatus = CPhoneState::HandleCommandL( aCommand ); + EndTransEffect(); + break; default: commandStatus = CPhoneState::HandleCommandL( aCommand ); break; } - return commandStatus; - } // ----------------------------------------------------------------------------- @@ -623,16 +619,7 @@ EPhoneViewMenuBarOpen, &integerParam ); commandStatus = ETrue; } - break; - - case EPhoneViewOpenNumberEntry: - { - BeginTransEffectLC( ENumberEntryOpen ); - commandStatus = CPhoneState::ProcessCommandL( aCommand ); - EndTransEffect(); - } break; - default: commandStatus = CPhoneState::ProcessCommandL( aCommand ); break; @@ -780,12 +767,8 @@ // Indicate that the Foreground application needs to be sent to the foreground // after call is ended. - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); - + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; uidParam.SetInteger( KUidPhoneApplication.iUid ); @@ -808,120 +791,6 @@ } // ----------------------------------------------------------- -// CPhoneStateIdle::DisplayCallSetupL -// ----------------------------------------------------------- -// -EXPORT_C void CPhoneStateIdle::DisplayCallSetupL( TInt aCallId ) - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::DisplayCallSetupL( ) "); - __ASSERT_DEBUG( aCallId > KErrNotFound, Panic( EPhoneCtrlParameterNotInitialized ) ); - - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Capture keys when the phone is dialling - CaptureKeysDuringCallNotificationL( ETrue ); - - // Bring Phone app in the foreground - TPhoneCmdParamInteger uidParam; - uidParam.SetInteger( KUidPhoneApplication.iUid ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, - &uidParam ); - - // Set Phone as the top application - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication, - &uidParam ); - - if ( !UpdateCallBubbleL( aCallId ) ) - { - // Create and Display call setup header if update was not done. - DisplayHeaderForOutgoingCallL( aCallId ); - } - } - -// ----------------------------------------------------------- -// CPhoneStateIdle::UpdateCallBubbleL -// ----------------------------------------------------------- -// -TBool CPhoneStateIdle::UpdateCallBubbleL( TInt aCallId ) - { - __LOGMETHODSTARTEND(EPhoneControl, - "CPhoneStateIdle::UpdateCallBubbleL( )"); - TBool retValue(EFalse); - if( IsBubbleInitialized() ) - { - // Call bubble is already initialized so it is - // enough just to update existing header with - // contacts,number...etc info. - TPhoneCmdParamCallHeaderData callHeaderParam = - UpdateCallHeaderInfoL( aCallId ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewUpdateCallHeaderRemoteInfoData, - aCallId, - &callHeaderParam ); - // reset flag. - SetBubbleInitialized( EFalse ); - retValue = ETrue; - } - __PHONELOG1( EBasic, EPhoneControl, - "PhoneUIControl: CPhoneStateIdle::UpdateCallBubbleL - retValue =%d ", - retValue ); - return retValue; - } - -// ----------------------------------------------------------- -// CPhoneStateIdle::DisplayInitializingCallL -// ----------------------------------------------------------- -// -void CPhoneStateIdle::DisplayInitializingCallL( TInt aCallId ) - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::DisplayInitializingCallL( )"); - /*Set flag value to true before SendPhoneEngineMessage because if phone number - is emergency number then EPEMessageValidEmergencyNumber message handling sets - iBubbleInitialized to false value and if value is false then initializing call - bubble shouldnt be shown.*/ - SetBubbleInitialized( ETrue ); - iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageCheckEmergencyNumber ); - if ( IsBubbleInitialized() ) - { - BeginUiUpdateLC(); - - SetNumberEntryVisibilityL(EFalse); - - // Show call setup buttons - SetTouchPaneButtons( EPhoneCallSetupButtons ); - - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Capture keys when the phone is dialling - CaptureKeysDuringCallNotificationL( ETrue ); - - // Bring Phone app in the foreground - TPhoneCmdParamInteger uidParam; - uidParam.SetInteger( KUidPhoneApplication.iUid ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, - &uidParam ); - - // Set Phone as the top application - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication, - &uidParam ); - - DisplayHeaderForInitializingCallL( aCallId ); - - EndUiUpdate(); - - // Remove any phone dialogs if they are displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); - - // Go to call setup state - iCbaManager->UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); - - SetToolbarDimming( ETrue ); - } - } - -// ----------------------------------------------------------- // CPhoneStateIdle::HandleIdleForegroundEventL // ----------------------------------------------------------- // @@ -984,11 +853,11 @@ // If dialer is open add icon to FSW list. iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW ); } - /*iBubbleInitialized has to be checked because if it true then phoneapp - is already showing call bubble and we cant bring idle to screen. */ + /*iCallInitialized has to be checked because if it true then phoneapp + is already initializing call bubble and we cant bring idle to screen. */ else if ( !IsNumberEntryUsedL() && !iStateMachine->SecurityMode()->IsSecurityMode() && - !IsBubbleInitialized() ) + !iCallInitialized ) { // Bring Idle app to the foreground iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground ); @@ -1016,28 +885,21 @@ void CPhoneStateIdle::HandleIdleL( TInt /*aCallId*/ ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleIdleL()" ); - - // Remove all call headers iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveAllCallHeaders ); - - // Close number entry - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - - // Remove all notes and dialogs + CloseClearNumberEntryAndLoadEffectL( ECallUiDisappear ); iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); // Reset flag. - SetBubbleInitialized( EFalse ); + SetCallInitialized( EFalse ); } // ----------------------------------------------------------- // CPhoneStateIdle::SpeedDialL // ----------------------------------------------------------- -// +// EXPORT_C void CPhoneStateIdle::SpeedDialL( const TUint& aDigit, TDialInitiationMethod aDialMethod ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::SpeedDialL( ) "); - iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF ); TPhoneCmdParamSpeedDial speedDialParam; @@ -1050,29 +912,44 @@ if ( NULL != phoneNumber && KNullDesC() != *phoneNumber ) { DialL( *phoneNumber, speedDialParam.NumberType(), aDialMethod ); - - if ( IsNumberEntryUsedL() ) - { - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - - // Set Idle background, if still idle - if ( iStateMachine->State() == this ) - { - SetupIdleScreenInBackgroundL(); - } - } + RemoveNumberEntryAndSetIdleToBackgroundIfNeededL(); } else { // User cancelled dialog or didn't give a valid number SpeedDialCanceledL( aDigit ); } - CleanupStack::PopAndDestroy( phoneNumber ); } // ----------------------------------------------------------- -// CPhoneStateIdle:SpeedDialCanceledL +// CPhoneStateIdle::RemoveNumberEntryAndSetIdleToBackgroundIfNeededL +// ----------------------------------------------------------- +// +void CPhoneStateIdle::RemoveNumberEntryAndSetIdleToBackgroundIfNeededL() + { + __LOGMETHODSTARTEND(EPhoneControl, + "CPhoneStateIdle::RemoveNumberEntryAndSetIdleToBackgroundIfNeededL( ) "); + if ( IsNumberEntryUsedL() ) + { + BeginTransEffectLC( ECallUiAppear ); + /*NE should be removed because if speeddial dial is interupted during + call setup phone should not return to NE/Dialler view.*/ + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + + /*It might be possible that some async operation was ongoing and + state has already in that case do not set idle to background.*/ + if ( iStateMachine->State() == this ) + { + iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetIdleTopApplication ); + } + EndTransEffect(); + } + } + +// ----------------------------------------------------------- +// CPhoneStateIdle::SpeedDialCanceledL // ----------------------------------------------------------- // EXPORT_C void CPhoneStateIdle::SpeedDialCanceledL( const TUint& aDigit ) @@ -1161,7 +1038,7 @@ if ( numberEntryCountParam.Integer() == 1 ) { // Remove the number entry window - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewClearNumberEntryContent ); iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF ); @@ -1170,9 +1047,6 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewLaunchApplication ); - // Continue displaying current app but set up the - // idle screen in the background - SetupIdleScreenInBackgroundL(); } } @@ -1183,20 +1057,18 @@ void CPhoneStateIdle::SendExitCommandL() { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::SendExitCommand( ) "); - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + // Remove number entry from screen + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - // Simulate exit command - CEikonEnv& eikEnv = *CEikonEnv::Static(); - CCoeEnv& coeEnv = eikEnv; - RWsSession& wsSession=coeEnv.WsSession(); - TKeyEvent keyEvent; - keyEvent.iCode = EEikCmdExit; - keyEvent.iScanCode = EEikCmdExit; - keyEvent.iModifiers = 0; - keyEvent.iRepeats = 0; - wsSession.SimulateKeyEvent( keyEvent ); - wsSession.Flush(); + // Simulate exit command + RWsSession& wsSession = EikonEnv()->WsSession(); + TKeyEvent keyEvent; + keyEvent.iCode = EEikCmdExit; + keyEvent.iScanCode = EEikCmdExit; + keyEvent.iModifiers = 0; + keyEvent.iRepeats = 0; + wsSession.SimulateKeyEvent( keyEvent ); + wsSession.Flush(); } // ----------------------------------------------------------- @@ -1235,14 +1107,7 @@ if ( IsNumberEntryUsedL() ) { - BeginTransEffectLC( ENumberEntryClose ); - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( - EPhoneViewRemoveNumberEntry ); - EndTransEffect(); - // Do state-specific operation when number entry is cleared - HandleNumberEntryClearedL(); - + CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); // If long end key event occures then all calls are terminated and // dialer is closed, therefore tel.icon must be removed from FSW. iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW ); @@ -1255,33 +1120,19 @@ } else if ( IsNumberEntryUsedL() && TopAppIsDisplayedL() ) { - // Remove number entry from screen with effect - BeginTransEffectLC( ENumberEntryClose ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewRemoveNumberEntry ); - EndTransEffect(); - // Do state-specific operation when number entry is cleared - HandleNumberEntryClearedL(); + CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); } else if ( !TopAppIsDisplayedL() ) { // Phone might not be the topmost app since it has // some dialog/query open therefore we need to remove dialog/phone. - if ( !IsSimStateNotPresentWithSecurityModeEnabled() ) { iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); } - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( - EPhoneViewRemoveNumberEntry ); - - // Bring Idle app to the foreground + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground ); - - // Updates Task list iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateFSW ); - } } else if ( IsNumberEntryUsedL() ) @@ -1301,17 +1152,15 @@ EXPORT_C void CPhoneStateIdle::OnlyHashInNumberEntryL() { __LOGMETHODSTARTEND( EPhoneControl, "CPhoneStateIdle::OnlyHashInNumberEntryL( ) "); - if ( CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( KTelephonyLVFlagMannerMode ) ) { ChangeMannerModeL(); - } + } else { StartAlsLineChangeTimerL(); } - // Check if any application launch functionality // is configured for pressing hash for a long time // the return value of CheckAppLaunchingL ignored. @@ -1319,24 +1168,6 @@ } // --------------------------------------------------------- -// CPhoneStateIdle::CanTransEffectTypeBeUsed -// --------------------------------------------------------- -// -EXPORT_C TBool CPhoneStateIdle::CanTransEffectTypeBeUsed( TStateTransEffectType aType ) - { - TBool okToUse( EFalse ); - // These effects can be used for transitions between - // phone and some other app. - if ( aType == ENumberEntryOpen || - aType == ENumberEntryClose || - aType == ENumberEntryCreate ) - { - okToUse = ETrue; - } - return okToUse; - } - -// --------------------------------------------------------- // CPhoneStateIdle::ChangeMannerModeL // --------------------------------------------------------- // @@ -1572,7 +1403,7 @@ } // ----------------------------------------------------------- -// CPhoneStateIdle::HandleVoiceCallCommandL() +// CPhoneStateIdle::GetNumberAcqMenuIdL() // ----------------------------------------------------------- // TInt CPhoneStateIdle::GetNumberAcqMenuIdL() @@ -1595,7 +1426,7 @@ } return menuId; } - + // ----------------------------------------------------------- // CPhoneStateIdle::HandleErrorL // ----------------------------------------------------------- @@ -1603,105 +1434,14 @@ EXPORT_C void CPhoneStateIdle::HandleErrorL( const TPEErrorInfo& aErrorInfo ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneStateIdle::HandleErrorL() "); - __PHONELOG1( EBasic, EPhoneControl, - "PhoneUIControl: CPhoneStateIdle::HandleErrorL - aErrorInfo.iErrorCode =%d ", - aErrorInfo.iErrorCode ); - __PHONELOG1( EBasic, EPhoneControl, - "PhoneUIControl: CPhoneStateIdle::HandleErrorL - aErrorInfo.iCallId =%d ", - aErrorInfo.iCallId ); - if( ( ECCPErrorNone != aErrorInfo.iErrorCode ) && - IsBubbleInitialized() ) + if( KErrNotFound < aErrorInfo.iCallId ) { - HandleInitializingCallErrorL( aErrorInfo.iCallId ); - SetBubbleInitialized( EFalse ); + SetCallInitialized( EFalse ); } CPhoneState::HandleErrorL( aErrorInfo ); } // ----------------------------------------------------------- -// CPhoneStateIdle::HandleInitializingCallErrorL -// ----------------------------------------------------------- -// -void CPhoneStateIdle::HandleInitializingCallErrorL( TInt aCallId ) - { - __LOGMETHODSTARTEND( - EPhoneControl, - "CPhoneStateIdle::HandleInitializingCallErrorL()" ); - // Remove call - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - BeginUiUpdateLC(); - SetDefaultFlagsL(); - if ( IsNumberEntryUsedL() ) - { - if ( NeedToReturnToForegroundAppL() ) - { - iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); - } - else - { - // Show the number entry if it exists and update cba's. - SetNumberEntryVisibilityL( ETrue ); - if ( IsDTMFEditorVisibleL() ) - { - CloseDTMFEditorL(); - DisplayIdleScreenL(); - } - else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) - { - CloseCustomizedDialerL(); - DisplayIdleScreenL(); - } - } - } - else - { - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - if ( !TopAppIsDisplayedL() || IsAutoLockOn() || NeedToReturnToForegroundAppL() ) - { - // Continue displaying current app but set up the - // idle screen in the background - SetupIdleScreenInBackgroundL(); - } - else - { - DisplayIdleScreenL(); - } - } - DeleteTouchPaneButtons(); - EndUiUpdate(); - - // Display call termination note, if necessary - DisplayCallTerminationNoteL(); - iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar ); - } - -// ----------------------------------------------------------- -// CPhoneStateIdle::SetBubbleInitialized -// ----------------------------------------------------------- -// -void CPhoneStateIdle::SetBubbleInitialized( TBool aValue ) - { - __PHONELOG1( EBasic, EPhoneControl, - "PhoneUIControl: CPhoneStateIdle::SetBubbleInitialized - aValue =%d ", - aValue ); - iBubbleInitialized = aValue; - } - -// ----------------------------------------------------------- -// CPhoneStateIdle::IsBubbleInitialized -// ----------------------------------------------------------- -// -TBool CPhoneStateIdle::IsBubbleInitialized() - { - __PHONELOG1( EBasic, EPhoneControl, - "PhoneUIControl: CPhoneStateIdle::IsBubbleInitialized - iBubbleInitialized =%d ", - iBubbleInitialized ); - return iBubbleInitialized; - } - -// ----------------------------------------------------------- // CPhoneStateIdle::ChangeTo // ----------------------------------------------------------- // @@ -1710,8 +1450,32 @@ __PHONELOG1( EBasic, EPhoneControl, "PhoneUIControl: CPhoneStateIdle::ChangeTo - aState =%d ", aState ); - SetBubbleInitialized( EFalse ); + SetCallInitialized( EFalse ); iStateMachine->ChangeState( aState ); } +// ----------------------------------------------------------- +// CPhoneStateIdle::SetBubbleInitialized +// ----------------------------------------------------------- +// +void CPhoneStateIdle::SetCallInitialized( TBool aValue ) + { + __PHONELOG1( EBasic, EPhoneControl, + "PhoneUIControl: CPhoneStateIdle::SetCallInitialized - iCallInitialized =%d ", + aValue ); + iCallInitialized = aValue; + } + +// ----------------------------------------------------------- +// CPhoneStateIdle::IsBubbleInitialized +// ----------------------------------------------------------- +// +TBool CPhoneStateIdle::IsCallInitialized() + { + __PHONELOG1( EBasic, EPhoneControl, + "PhoneUIControl: CPhoneStateIdle::IsCallInitialized - iCallInitialized =%d ", + iCallInitialized ); + return iCallInitialized; + } + // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestateincall.cpp --- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -306,49 +306,40 @@ __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::HandleIdleL()" ); __ASSERT_DEBUG( aCallId >= 0, Panic( EPhoneCtrlParameterNotInitialized ) ); - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - + iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar ); + if ( IsNumberEntryUsedL() ) + { + BeginTransEffectLC( ECallUiDisappear ); + } + else + { + BeginTransEffectLC( ENumberEntryClose ); + } BeginUiUpdateLC(); SetDefaultFlagsL(); + if ( IsNumberEntryUsedL() ) { - if ( NeedToReturnToForegroundAppL() ) - { - // Return phone to the background if menu application is needed to foreground. - iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - - // Set Number Entry CBA - iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); + // Show the number entry if it exists and update cba's. + SetNumberEntryVisibilityL( ETrue ); + // Close dtmf dialer when call is disconnected. + if ( IsDTMFEditorVisibleL() ) + { + CloseDTMFEditorL(); + // Display idle screen and update CBA's + DisplayIdleScreenL(); } - else - { - // Show the number entry if it exists and update cba's. - SetNumberEntryVisibilityL( ETrue ); - - // Close dtmf dialer when call is disconnected. - if ( IsDTMFEditorVisibleL() ) - { - CloseDTMFEditorL(); - - // Display idle screen and update CBA's - DisplayIdleScreenL(); - } - else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) - { - CloseCustomizedDialerL(); - // Display idle screen and update CBA's - DisplayIdleScreenL(); - } - } - } + else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() ) + { + CloseCustomizedDialerL(); + // Display idle screen and update CBA's + DisplayIdleScreenL(); + } + } else { - // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - if ( !TopAppIsDisplayedL() || IsAutoLockOn() || NeedToReturnToForegroundAppL() ) { // Continue displaying current app but set up the @@ -362,16 +353,11 @@ } } - DeleteTouchPaneButtons(); + DeleteTouchPaneButtons(); EndUiUpdate(); - - // Display call termination note, if necessary + EndTransEffect(); DisplayCallTerminationNoteL(); - - // Go to idle state iStateMachine->ChangeState( EPhoneStateIdle ); - - //Make sure that toolbar is not shown iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar ); } @@ -423,6 +409,26 @@ // Go to current state implementation UpdateInCallCbaL(); } + TBool audioMute = iStateMachine->PhoneEngineInfo()->AudioMute(); + TPhoneCmdParamCallStateData callStateData; + callStateData.SetCallState( EPEStateConnected ); + iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState, &callStateData ); + TInt call = callStateData.CallId(); + if ( call != KErrNotFound && iStateMachine->PhoneEngineInfo()->CallType( call ) == EPECallTypeVoIP + && audioMute ) + { + TPhoneCmdParamBoolean dtmfSendFlag; + dtmfSendFlag.SetBoolean( ETrue ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetVoipCallDTMFVisibilityFlag, + &dtmfSendFlag ); + } + else + { + TPhoneCmdParamBoolean dtmfSendFlag; + dtmfSendFlag.SetBoolean( EFalse ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetVoipCallDTMFVisibilityFlag, + &dtmfSendFlag ); + } } // ----------------------------------------------------------- @@ -605,11 +611,13 @@ switch( aCommand ) { case EPhoneInCallCmdDialer: + BeginTransEffectLC( ECallUiDisappear ); if ( !IsNumberEntryUsedL() ) { CreateNumberEntryL(); } - SetNumberEntryVisibilityL(ETrue ); + SetNumberEntryVisibilityL( ETrue ); + EndTransEffect(); break; case EPhoneCmdOptions: @@ -843,8 +851,10 @@ case EPhoneViewOpenCallHandling: if ( iOnScreenDialer && IsNumberEntryUsedL() ) { + BeginTransEffectLC( ECallUiAppear ); // Remove number entry from screen iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); + EndTransEffect(); HandleNumberEntryClearedL(); } commandStatus = CPhoneState::HandleCommandL( aCommand ); @@ -919,6 +929,7 @@ if ( iOnScreenDialer ) { //In touch, just activate dialer + BeginTransEffectLC( ECallUiDisappear ); if ( IsNumberEntryUsedL() ) { SetNumberEntryVisibilityL(ETrue); @@ -928,6 +939,7 @@ CreateNumberEntryL(); SetNumberEntryVisibilityL(ETrue); } + EndTransEffect(); } else { @@ -1545,12 +1557,8 @@ CloseDTMFEditorL(); } else - { - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( - EPhoneViewRemoveNumberEntry ); - // Do state-specific operation when number entry is cleared - HandleNumberEntryClearedL(); + { + CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); } } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestateincoming.cpp --- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -361,7 +361,6 @@ { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleConnectedL ()" ); - // Re-enable global notes TPhoneCmdParamBoolean globalNotifierParam; globalNotifierParam.SetBoolean( EFalse ); @@ -371,20 +370,13 @@ &globalNotifierParam ); // Stop tone playing, if necessary iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); - BeginUiUpdateLC(); - // Update single call UpdateSingleActiveCallL( aCallId ); - SetTouchPaneButtons( EPhoneIncallButtons ); SetToolbarDimming( EFalse ); - EndUiUpdate(); - - // Go to single state iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA ); - iStateMachine->ChangeState( EPhoneStateSingle ); } @@ -430,14 +422,10 @@ { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleIdleL ()" ); - + BeginTransEffectLC( ENumberEntryClose ); BeginUiUpdateLC(); - - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - // Stop tone playing, if necessary iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone ); TPhoneCmdParamBoolean globalNotifierParam; @@ -445,7 +433,6 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled, &globalNotifierParam ); - SetDefaultFlagsL(); if ( IsNumberEntryUsedL() ) @@ -454,10 +441,7 @@ { // Return phone to the background if send to background is needed. iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - - // Set Number Entry CBA iCbaManager->SetCbaL( EPhoneNumberAcqCBA ); } else @@ -475,14 +459,12 @@ } else { - // Display idle screen DisplayIdleScreenL(); } DeleteTouchPaneButtons(); EndUiUpdate(); - - // Go to idle state + EndTransEffect(); iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); iStateMachine->ChangeState( EPhoneStateIdle ); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestatemachine.cpp --- a/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -41,7 +41,8 @@ MPhoneViewCommandHandle* aViewCommandHandle ) : iOldStateId( EPhoneStateNull ), iNewStateId( EPhoneStateNull ), - iViewCommandHandle( aViewCommandHandle ) + iViewCommandHandle( aViewCommandHandle ), + iEnv( CEikonEnv::Static() ) // codescanner::eikonenvstatic { __ASSERT_ALWAYS( aViewCommandHandle, Panic( EPhoneCtrlParameterNotInitialized ) ); @@ -224,5 +225,14 @@ } State()->HandlePropertyChangedL( aCategory, aKey, aValue ); } + +// ----------------------------------------------------------- +// CPhoneStateMachine::EikonEnv +// ----------------------------------------------------------- +// +EXPORT_C CEikonEnv* CPhoneStateMachine::EikonEnv() const + { + return iEnv; + } // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonestatestartup.cpp --- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -212,6 +212,14 @@ // Indicate that the phone is ready iPhoneReady = ETrue; + // Sim security status is available at this phase. + iStateMachine->SecurityMode()->Initialize(); + if ( !IsSimOk() ) + { + iCreateNote = CIdle::NewL( CActive::EPriorityHigh ); + CreateAndShowNoteAfterIdle(); + } + // Only go to idle state when Phone engine is also ready if ( iPEReady ) { @@ -276,12 +284,6 @@ void CPhoneStateStartup::InitializationReadyL() { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateStartup::InitializationReady() "); - iStateMachine->SecurityMode()->Initialize(); - if ( !IsSimOk() ) - { - iCreateNote = CIdle::NewL( CActive::EPriorityHigh ); - CreateAndShowNoteAfterIdle(); - } // Go to idle state SetDefaultFlagsL(); iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphonesystemeventhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp --- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -71,7 +71,7 @@ // Create the key event forwarder iKeyEventForwarder = CPhoneKeyEventForwarder::NewL( - CEikonEnv::Static()->EikAppUi()->ClientRect(), iStateMachine, &aViewController ); + CEikonEnv::Static()->EikAppUi()->ClientRect(), iStateMachine, &aViewController ); // codescanner::eikonenvstatic TInt leaveCode( 0 ); TInt retry( 0 ); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp --- a/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -43,8 +43,7 @@ MPhoneStateMachine& aStateMachine ) : iManagerUtility ( aManagerUtility ), iStateMachine ( aStateMachine ), - iCallHeaderType ( CBubbleManager::ENormal ), - iSetDivertIndication ( EFalse ) + iCallHeaderType ( CBubbleManager::ENormal ) { } @@ -226,23 +225,13 @@ // void TPhoneCallHeaderParam::SetBasicCallHeaderParamsL( const TInt aCallId, - TPhoneCmdParamCallHeaderData* aCallHeaderData, - TBool aInitializing ) + TPhoneCmdParamCallHeaderData* aCallHeaderData ) { __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetBasicCallHeaderParamsL( ) "); // Set call header call state - if( aInitializing ) - { - // fake state to initializing call this way we get correct bubble to screen. - aCallHeaderData->SetCallState( EPEStateDialing ); - } - else - { - aCallHeaderData->SetCallState( - iStateMachine.PhoneEngineInfo()->CallState( aCallId ) ); - } - - // Set call header type. + aCallHeaderData->SetCallState( + iStateMachine.PhoneEngineInfo()->CallState( aCallId ) ); + // Set call header type aCallHeaderData->SetCallType( GetCallType( aCallId, aCallHeaderData ) ); aCallHeaderData->SetCallFlag( CallHeaderType() ); @@ -498,7 +487,8 @@ TPhoneCmdParamCallHeaderData* aCallHeaderData ) { __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader( ) "); - if( iSetDivertIndication ) + TBool forwarded = iStateMachine.PhoneEngineInfo()->CallForwarded( aCallId ); + if ( forwarded ) { aCallHeaderData->AddCallFlag( CBubbleManager::EDiverted ); } @@ -512,19 +502,6 @@ } // --------------------------------------------------------------------------- -// TPhoneCallHeaderParam::SetDivertIndication -// --------------------------------------------------------------------------- -// -void TPhoneCallHeaderParam::SetDivertIndication( const TBool aDivertIndication ) - { - __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetDivertIndication( ) "); - iSetDivertIndication = aDivertIndication; - __PHONELOG1( EBasic, EPhoneControl, - "TPhoneCallHeaderParam::SetDivertIndication() - iSetDivertIndication: %d ", - iSetDivertIndication ) - } - -// --------------------------------------------------------------------------- // TPhoneCallHeaderParam::SetIncomingCallHeaderParamsL // --------------------------------------------------------------------------- // @@ -536,7 +513,7 @@ { __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetIncomingCallHeaderParamsL( ) "); // Set basic params must be called before update is called. - SetBasicCallHeaderParamsL( aCallId, aCallHeaderData, EFalse ); + SetBasicCallHeaderParamsL( aCallId, aCallHeaderData ); // Set call header labels SetCallHeaderTexts( @@ -561,28 +538,13 @@ { __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetOutgoingCallHeaderParamsL( ) "); // Set basic params must be called before update is called. - SetBasicCallHeaderParamsL( aCallId, aCallHeaderData, EFalse ); + SetBasicCallHeaderParamsL( aCallId, aCallHeaderData ); // Set call header labels SetCallHeaderLabels( aCallHeaderData ); SetCliParamatersL( aCallId, aCallHeaderData ); } // --------------------------------------------------------------------------- -// TPhoneCallHeaderParam::SetIniticalizingCallHeaderParamsL -// --------------------------------------------------------------------------- -// -void TPhoneCallHeaderParam::SetIniticalizingCallHeaderParamsL( - const TInt aCallId, - TPhoneCmdParamCallHeaderData* aCallHeaderData ) - { - __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetIniticalizingCallHeaderParamsL( ) "); - // Set basic params must be called before update is called. - SetBasicCallHeaderParamsL( aCallId, aCallHeaderData, ETrue ); - // Set call header labels - SetCallHeaderLabels( aCallHeaderData ); - } - -// --------------------------------------------------------------------------- // TPhoneCallHeaderParam::SetCallHeaderLabels // --------------------------------------------------------------------------- // @@ -635,7 +597,15 @@ else { aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()-> - RemotePhoneNumber( aCallId ), CBubbleManager::ELeft ); + RemotePhoneNumber( aCallId ), CBubbleManager::ELeft ); + + // No contact name, use phonenumber when available. + if ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() + && !ContactInfoAvailable( aCallId ) ) + { + aCallHeaderData->SetParticipantListCLI( + TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText ); + } } } else @@ -675,6 +645,9 @@ SetCallerImage( aCallId, aCallHeaderData ); + + // Update divert indication + SetDivertIndicatorToCallHeader( aCallId, aCallHeaderData ); } // --------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/bwins/phoneuistatesu.def --- a/phoneapp/phoneuistates/bwins/phoneuistatesu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/bwins/phoneuistatesu.def Thu Sep 09 18:09:57 2010 +0100 @@ -1,22 +1,22 @@ EXPORTS - ?NewPhoneUIStateMachineFactoryL@@YAPAVCPhoneUIStateMachineFactoryBase@@XZ @ 1 NONAME ; class CPhoneUIStateMachineFactoryBase * NewPhoneUIStateMachineFactoryL(void) - ?ConstructL@CPhoneTwoSingles@@MAEXXZ @ 2 NONAME ; void CPhoneTwoSingles::ConstructL(void) - ?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 3 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int) - ?HandleKeyMessageL@CPhoneAlerting@@MAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 4 NONAME ; void CPhoneAlerting::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ?HandleKeyMessageL@CPhoneTwoSingles@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 5 NONAME ; void CPhoneTwoSingles::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) - ??0CPhoneIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 6 NONAME ; CPhoneIncoming::CPhoneIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ??0CPhoneSingleCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 7 NONAME ; CPhoneSingleCall::CPhoneSingleCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?HandleCommandL@CPhoneSingleCall@@UAEHH@Z @ 8 NONAME ; int CPhoneSingleCall::HandleCommandL(int) - ?ConstructL@CPhoneCallSetup@@MAEXXZ @ 9 NONAME ; void CPhoneCallSetup::ConstructL(void) - ??0CPhoneErrorMessagesHandler@@IAE@PAVMPhoneViewCommandHandle@@PAVMPhoneStateMachine@@@Z @ 10 NONAME ; CPhoneErrorMessagesHandler::CPhoneErrorMessagesHandler(class MPhoneViewCommandHandle *, class MPhoneStateMachine *) - ?HandlePhoneEngineMessageL@CPhoneStartupSimlockUi@@UAEXHH@Z @ 11 NONAME ; void CPhoneStartupSimlockUi::HandlePhoneEngineMessageL(int, int) - ??1CPhoneTwoSingles@@UAE@XZ @ 12 NONAME ; CPhoneTwoSingles::~CPhoneTwoSingles(void) - ?HandleDisconnectingL@CPhoneAlerting@@IAEXH@Z @ 13 NONAME ; void CPhoneAlerting::HandleDisconnectingL(int) - ??0CPhoneIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 14 NONAME ; CPhoneIdle::CPhoneIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?ShowErrorSpecificNoteL@CPhoneErrorMessagesHandler@@UAEXABUTPEErrorInfo@@@Z @ 15 NONAME ; void CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL(struct TPEErrorInfo const &) - ?HandleErrorL@CPhoneConferenceAndSingleAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 16 NONAME ; void CPhoneConferenceAndSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &) - ??0CPhoneStateMachineGSM@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 17 NONAME ; CPhoneStateMachineGSM::CPhoneStateMachineGSM(class MPhoneViewCommandHandle *) - ?SetDivertIndication@CPhoneGsmInCall@@MAEXH@Z @ 18 NONAME ; void CPhoneGsmInCall::SetDivertIndication(int) + ?NewPhoneUIStateMachineFactoryL@@YAPAVCPhoneUIStateMachineFactoryBase@@XZ @ 1 NONAME ; class CPhoneUIStateMachineFactoryBase * NewPhoneUIStateMachineFactoryL(void) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneSingleCall@@UAEXXZ @ 2 NONAME ; void CPhoneSingleCall::DoStateSpecificCallSetUpDefinitionsL(void) + ?ConstructL@CPhoneTwoSingles@@MAEXXZ @ 3 NONAME ; void CPhoneTwoSingles::ConstructL(void) + ?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 4 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int) + ?HandleKeyMessageL@CPhoneAlerting@@MAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 5 NONAME ; void CPhoneAlerting::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ?HandleKeyMessageL@CPhoneTwoSingles@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 6 NONAME ; void CPhoneTwoSingles::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode) + ??0CPhoneIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 7 NONAME ; CPhoneIncoming::CPhoneIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ??0CPhoneSingleCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 8 NONAME ; CPhoneSingleCall::CPhoneSingleCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?HandleCommandL@CPhoneSingleCall@@UAEHH@Z @ 9 NONAME ; int CPhoneSingleCall::HandleCommandL(int) + ?ConstructL@CPhoneCallSetup@@MAEXXZ @ 10 NONAME ; void CPhoneCallSetup::ConstructL(void) + ??0CPhoneErrorMessagesHandler@@IAE@PAVMPhoneViewCommandHandle@@PAVMPhoneStateMachine@@@Z @ 11 NONAME ; CPhoneErrorMessagesHandler::CPhoneErrorMessagesHandler(class MPhoneViewCommandHandle *, class MPhoneStateMachine *) + ?HandlePhoneEngineMessageL@CPhoneStartupSimlockUi@@UAEXHH@Z @ 12 NONAME ; void CPhoneStartupSimlockUi::HandlePhoneEngineMessageL(int, int) + ??1CPhoneTwoSingles@@UAE@XZ @ 13 NONAME ; CPhoneTwoSingles::~CPhoneTwoSingles(void) + ?HandleDisconnectingL@CPhoneAlerting@@IAEXH@Z @ 14 NONAME ; void CPhoneAlerting::HandleDisconnectingL(int) + ??0CPhoneIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 15 NONAME ; CPhoneIdle::CPhoneIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?ShowErrorSpecificNoteL@CPhoneErrorMessagesHandler@@UAEXABUTPEErrorInfo@@@Z @ 16 NONAME ; void CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL(struct TPEErrorInfo const &) + ?HandleErrorL@CPhoneConferenceAndSingleAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 17 NONAME ; void CPhoneConferenceAndSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &) + ??0CPhoneStateMachineGSM@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 18 NONAME ; CPhoneStateMachineGSM::CPhoneStateMachineGSM(class MPhoneViewCommandHandle *) ?HandlePhoneEngineMessageL@CPhoneAlerting@@UAEXHH@Z @ 19 NONAME ; void CPhoneAlerting::HandlePhoneEngineMessageL(int, int) ?ConstructL@CPhoneSingleCall@@MAEXXZ @ 20 NONAME ; void CPhoneSingleCall::ConstructL(void) ?HandlePhoneEngineMessageL@CPhoneIncoming@@UAEXHH@Z @ 21 NONAME ; void CPhoneIncoming::HandlePhoneEngineMessageL(int, int) @@ -42,32 +42,35 @@ ?HandleCommandL@CPhoneAlerting@@MAEHH@Z @ 41 NONAME ; int CPhoneAlerting::HandleCommandL(int) ?HandleErrorL@CPhoneSingleAndCallSetupAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 42 NONAME ; void CPhoneSingleAndCallSetupAndWaiting::HandleErrorL(struct TPEErrorInfo const &) ??1CPhoneSingleCall@@UAE@XZ @ 43 NONAME ; CPhoneSingleCall::~CPhoneSingleCall(void) - ??1CPhoneAlerting@@UAE@XZ @ 44 NONAME ; CPhoneAlerting::~CPhoneAlerting(void) - ?HandleConnectedL@CPhoneAlerting@@IAEXH@Z @ 45 NONAME ; void CPhoneAlerting::HandleConnectedL(int) - ?ConstructL@CPhoneAlerting@@MAEXXZ @ 46 NONAME ; void CPhoneAlerting::ConstructL(void) - ?HandleErrorL@CPhoneCallSetupAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 47 NONAME ; void CPhoneCallSetupAndWaiting::HandleErrorL(struct TPEErrorInfo const &) - ??1CPhoneIncoming@@UAE@XZ @ 48 NONAME ; CPhoneIncoming::~CPhoneIncoming(void) - ?HandlePhoneStartupL@CPhoneStartupSimlockUi@@EAEXXZ @ 49 NONAME ; void CPhoneStartupSimlockUi::HandlePhoneStartupL(void) - ?ConstructL@CPhoneIncoming@@MAEXXZ @ 50 NONAME ; void CPhoneIncoming::ConstructL(void) - ?HandleErrorL@CPhoneConferenceAndWaitingAndCallSetup@@UAEXABUTPEErrorInfo@@@Z @ 51 NONAME ; void CPhoneConferenceAndWaitingAndCallSetup::HandleErrorL(struct TPEErrorInfo const &) - ?HandlePhoneEngineMessageL@CPhoneSingleCall@@UAEXHH@Z @ 52 NONAME ; void CPhoneSingleCall::HandlePhoneEngineMessageL(int, int) - ??1CPhoneErrorMessagesHandler@@UAE@XZ @ 53 NONAME ; CPhoneErrorMessagesHandler::~CPhoneErrorMessagesHandler(void) - ?HandleErrorL@CPhoneTwoSinglesAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 54 NONAME ; void CPhoneTwoSinglesAndWaiting::HandleErrorL(struct TPEErrorInfo const &) - ?CreatePhoneEngineL@CPhoneStateMachineGSM@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 55 NONAME ; class MPEPhoneModel * CPhoneStateMachineGSM::CreatePhoneEngineL(class MEngineMonitor &) - ?HandleCommandL@CPhoneGsmInCall@@MAEHH@Z @ 56 NONAME ; int CPhoneGsmInCall::HandleCommandL(int) - ?ResolveResourceID@CPhoneResourceResolverGSM@@UBEHABH@Z @ 57 NONAME ; int CPhoneResourceResolverGSM::ResolveResourceID(int const &) const - ?HandleErrorL@CPhoneIncoming@@UAEXABUTPEErrorInfo@@@Z @ 58 NONAME ; void CPhoneIncoming::HandleErrorL(struct TPEErrorInfo const &) - ??1CPhoneStateMachineGSM@@UAE@XZ @ 59 NONAME ; CPhoneStateMachineGSM::~CPhoneStateMachineGSM(void) - ?OpenMenuBarL@CPhoneSingleCall@@MAEXXZ @ 60 NONAME ; void CPhoneSingleCall::OpenMenuBarL(void) - ?HandleErrorL@CPhoneConferenceAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 61 NONAME ; void CPhoneConferenceAndWaiting::HandleErrorL(struct TPEErrorInfo const &) - ?HandlePhoneEngineMessageL@CPhoneTwoSingles@@UAEXHH@Z @ 62 NONAME ; void CPhoneTwoSingles::HandlePhoneEngineMessageL(int, int) - ?HandleRemConCommandL@CPhoneEmergency@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 63 NONAME ; int CPhoneEmergency::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) - ?UpdateInCallCbaL@CPhoneTwoSingles@@MAEXXZ @ 64 NONAME ; void CPhoneTwoSingles::UpdateInCallCbaL(void) - ?ConstructL@CPhoneIdle@@MAEXXZ @ 65 NONAME ; void CPhoneIdle::ConstructL(void) - ?HandlePhoneForegroundEventL@CPhoneGsmInCall@@MAEXXZ @ 66 NONAME ; void CPhoneGsmInCall::HandlePhoneForegroundEventL(void) - ?OpenMenuBarL@CPhoneAlerting@@MAEXXZ @ 67 NONAME ; void CPhoneAlerting::OpenMenuBarL(void) - ?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 68 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int) - ?HandleConnectedConferenceL@CPhoneTwoSingles@@MAEXH@Z @ 69 NONAME ; void CPhoneTwoSingles::HandleConnectedConferenceL(int) - ??0CPhoneTwoSingles@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 70 NONAME ; CPhoneTwoSingles::CPhoneTwoSingles(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) - ?HandlePropertyChangedL@CPhoneStartupSimlockUi@@UAEXABVTUid@@IH@Z @ 71 NONAME ; void CPhoneStartupSimlockUi::HandlePropertyChangedL(class TUid const &, unsigned int, int) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneSingleAndWaiting@@UAEXXZ @ 44 NONAME ; void CPhoneSingleAndWaiting::DoStateSpecificCallSetUpDefinitionsL(void) + ??1CPhoneAlerting@@UAE@XZ @ 45 NONAME ; CPhoneAlerting::~CPhoneAlerting(void) + ?HandleConnectedL@CPhoneAlerting@@IAEXH@Z @ 46 NONAME ; void CPhoneAlerting::HandleConnectedL(int) + ?ConstructL@CPhoneAlerting@@MAEXXZ @ 47 NONAME ; void CPhoneAlerting::ConstructL(void) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneConference@@UAEXXZ @ 48 NONAME ; void CPhoneConference::DoStateSpecificCallSetUpDefinitionsL(void) + ?HandleErrorL@CPhoneCallSetupAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 49 NONAME ; void CPhoneCallSetupAndWaiting::HandleErrorL(struct TPEErrorInfo const &) + ??1CPhoneIncoming@@UAE@XZ @ 50 NONAME ; CPhoneIncoming::~CPhoneIncoming(void) + ?HandlePhoneStartupL@CPhoneStartupSimlockUi@@EAEXXZ @ 51 NONAME ; void CPhoneStartupSimlockUi::HandlePhoneStartupL(void) + ?ConstructL@CPhoneIncoming@@MAEXXZ @ 52 NONAME ; void CPhoneIncoming::ConstructL(void) + ?HandleErrorL@CPhoneConferenceAndWaitingAndCallSetup@@UAEXABUTPEErrorInfo@@@Z @ 53 NONAME ; void CPhoneConferenceAndWaitingAndCallSetup::HandleErrorL(struct TPEErrorInfo const &) + ?HandlePhoneEngineMessageL@CPhoneSingleCall@@UAEXHH@Z @ 54 NONAME ; void CPhoneSingleCall::HandlePhoneEngineMessageL(int, int) + ??1CPhoneErrorMessagesHandler@@UAE@XZ @ 55 NONAME ; CPhoneErrorMessagesHandler::~CPhoneErrorMessagesHandler(void) + ?HandleErrorL@CPhoneTwoSinglesAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 56 NONAME ; void CPhoneTwoSinglesAndWaiting::HandleErrorL(struct TPEErrorInfo const &) + ?CreatePhoneEngineL@CPhoneStateMachineGSM@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 57 NONAME ; class MPEPhoneModel * CPhoneStateMachineGSM::CreatePhoneEngineL(class MEngineMonitor &) + ?HandleCommandL@CPhoneGsmInCall@@MAEHH@Z @ 58 NONAME ; int CPhoneGsmInCall::HandleCommandL(int) + ?ResolveResourceID@CPhoneResourceResolverGSM@@UBEHABH@Z @ 59 NONAME ; int CPhoneResourceResolverGSM::ResolveResourceID(int const &) const + ?HandleErrorL@CPhoneIncoming@@UAEXABUTPEErrorInfo@@@Z @ 60 NONAME ; void CPhoneIncoming::HandleErrorL(struct TPEErrorInfo const &) + ??1CPhoneStateMachineGSM@@UAE@XZ @ 61 NONAME ; CPhoneStateMachineGSM::~CPhoneStateMachineGSM(void) + ?DoStateSpecificCallSetUpDefinitionsL@CPhoneConferenceAndWaiting@@UAEXXZ @ 62 NONAME ; void CPhoneConferenceAndWaiting::DoStateSpecificCallSetUpDefinitionsL(void) + ?OpenMenuBarL@CPhoneSingleCall@@MAEXXZ @ 63 NONAME ; void CPhoneSingleCall::OpenMenuBarL(void) + ?HandleErrorL@CPhoneConferenceAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 64 NONAME ; void CPhoneConferenceAndWaiting::HandleErrorL(struct TPEErrorInfo const &) + ?HandlePhoneEngineMessageL@CPhoneTwoSingles@@UAEXHH@Z @ 65 NONAME ; void CPhoneTwoSingles::HandlePhoneEngineMessageL(int, int) + ?HandleRemConCommandL@CPhoneEmergency@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 66 NONAME ; int CPhoneEmergency::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction) + ?UpdateInCallCbaL@CPhoneTwoSingles@@MAEXXZ @ 67 NONAME ; void CPhoneTwoSingles::UpdateInCallCbaL(void) + ?ConstructL@CPhoneIdle@@MAEXXZ @ 68 NONAME ; void CPhoneIdle::ConstructL(void) + ?HandlePhoneForegroundEventL@CPhoneGsmInCall@@MAEXXZ @ 69 NONAME ; void CPhoneGsmInCall::HandlePhoneForegroundEventL(void) + ?OpenMenuBarL@CPhoneAlerting@@MAEXXZ @ 70 NONAME ; void CPhoneAlerting::OpenMenuBarL(void) + ?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 71 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int) + ??0CPhoneTwoSingles@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 72 NONAME ; CPhoneTwoSingles::CPhoneTwoSingles(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *) + ?HandleConnectedConferenceL@CPhoneTwoSingles@@MAEXH@Z @ 73 NONAME ; void CPhoneTwoSingles::HandleConnectedConferenceL(int) + ?HandlePropertyChangedL@CPhoneStartupSimlockUi@@UAEXABVTUid@@IH@Z @ 74 NONAME ; void CPhoneStartupSimlockUi::HandlePropertyChangedL(class TUid const &, unsigned int, int) diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/eabi/phoneuistatesu.def --- a/phoneapp/phoneuistates/eabi/phoneuistatesu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/eabi/phoneuistatesu.def Thu Sep 09 18:09:57 2010 +0100 @@ -39,238 +39,228 @@ _ZN15CPhoneCallSetupD2Ev @ 38 NONAME _ZN15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 39 NONAME _ZN15CPhoneGsmInCall14HandleCommandLEi @ 40 NONAME - _ZN15CPhoneGsmInCall19SetDivertIndicationEi @ 41 NONAME - _ZN15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 42 NONAME + _ZN15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 41 NONAME + _ZN16CPhoneConference36DoStateSpecificCallSetUpDefinitionsLEv @ 42 NONAME _ZN16CPhoneSingleCall10ConstructLEv @ 43 NONAME _ZN16CPhoneSingleCall12OpenMenuBarLEv @ 44 NONAME _ZN16CPhoneSingleCall14HandleCommandLEi @ 45 NONAME _ZN16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 46 NONAME _ZN16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 47 NONAME - _ZN16CPhoneSingleCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 48 NONAME - _ZN16CPhoneSingleCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 49 NONAME - _ZN16CPhoneSingleCallD0Ev @ 50 NONAME - _ZN16CPhoneSingleCallD1Ev @ 51 NONAME - _ZN16CPhoneSingleCallD2Ev @ 52 NONAME - _ZN16CPhoneTwoSingles10ConstructLEv @ 53 NONAME - _ZN16CPhoneTwoSingles12OpenMenuBarLEv @ 54 NONAME - _ZN16CPhoneTwoSingles16UpdateInCallCbaLEv @ 55 NONAME - _ZN16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 56 NONAME - _ZN16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 57 NONAME - _ZN16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 58 NONAME - _ZN16CPhoneTwoSingles26HandleConnectedConferenceLEi @ 59 NONAME - _ZN16CPhoneTwoSinglesC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 60 NONAME - _ZN16CPhoneTwoSinglesC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 61 NONAME - _ZN16CPhoneTwoSinglesD0Ev @ 62 NONAME - _ZN16CPhoneTwoSinglesD1Ev @ 63 NONAME - _ZN16CPhoneTwoSinglesD2Ev @ 64 NONAME - _ZN21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 65 NONAME - _ZN21CPhoneStateMachineGSM5StateEv @ 66 NONAME - _ZN21CPhoneStateMachineGSMC1EP23MPhoneViewCommandHandle @ 67 NONAME - _ZN21CPhoneStateMachineGSMC2EP23MPhoneViewCommandHandle @ 68 NONAME - _ZN21CPhoneStateMachineGSMD0Ev @ 69 NONAME - _ZN21CPhoneStateMachineGSMD1Ev @ 70 NONAME - _ZN21CPhoneStateMachineGSMD2Ev @ 71 NONAME - _ZN22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 72 NONAME - _ZN22CPhoneStartupSimlockUi19HandlePhoneStartupLEv @ 73 NONAME - _ZN22CPhoneStartupSimlockUi22HandlePropertyChangedLERK4TUidji @ 74 NONAME - _ZN22CPhoneStartupSimlockUi25HandlePhoneEngineMessageLEii @ 75 NONAME - _ZN25CPhoneCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 76 NONAME - _ZN25CPhoneResourceResolverGSM10ConstructLEv @ 77 NONAME - _ZN25CPhoneResourceResolverGSMC1Ev @ 78 NONAME - _ZN25CPhoneResourceResolverGSMC2Ev @ 79 NONAME - _ZN25CPhoneResourceResolverGSMD0Ev @ 80 NONAME - _ZN25CPhoneResourceResolverGSMD1Ev @ 81 NONAME - _ZN25CPhoneResourceResolverGSMD2Ev @ 82 NONAME - _ZN26CPhoneConferenceAndWaiting12HandleErrorLERK12TPEErrorInfo @ 83 NONAME - _ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEi @ 84 NONAME - _ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEi @ 85 NONAME - _ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEi @ 86 NONAME - _ZN26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 87 NONAME - _ZN26CPhoneErrorMessagesHandlerC1EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 88 NONAME - _ZN26CPhoneErrorMessagesHandlerC2EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 89 NONAME - _ZN26CPhoneErrorMessagesHandlerD0Ev @ 90 NONAME - _ZN26CPhoneErrorMessagesHandlerD1Ev @ 91 NONAME - _ZN26CPhoneErrorMessagesHandlerD2Ev @ 92 NONAME - _ZN26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 93 NONAME - _ZN34CPhoneSingleAndCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 94 NONAME - _ZN35CPhoneConferenceAndSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 95 NONAME - _ZN38CPhoneConferenceAndWaitingAndCallSetup12HandleErrorLERK12TPEErrorInfo @ 96 NONAME - _ZNK16CPhoneSingleCall6CallIdEv @ 97 NONAME - _ZNK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 98 NONAME - _ZTI10CPhoneIdle @ 99 NONAME - _ZTI13CPhoneStartup @ 100 NONAME - _ZTI14CPhoneAlerting @ 101 NONAME - _ZTI14CPhoneIncoming @ 102 NONAME - _ZTI15CPhoneCallSetup @ 103 NONAME - _ZTI15CPhoneEmergency @ 104 NONAME - _ZTI15CPhoneGsmInCall @ 105 NONAME - _ZTI16CPhoneConference @ 106 NONAME - _ZTI16CPhoneSingleCall @ 107 NONAME - _ZTI16CPhoneTwoSingles @ 108 NONAME - _ZTI21CPhoneStateMachineGSM @ 109 NONAME - _ZTI22CPhoneSingleAndWaiting @ 110 NONAME - _ZTI22CPhoneStartupSimlockUi @ 111 NONAME - _ZTI23CPhoneSingleAndAlerting @ 112 NONAME - _ZTI24CPhoneSingleAndCallSetup @ 113 NONAME - _ZTI25CPhoneCallSetupAndWaiting @ 114 NONAME - _ZTI25CPhoneConferenceAndSingle @ 115 NONAME - _ZTI25CPhoneResourceResolverGSM @ 116 NONAME - _ZTI26CPhoneConferenceAndWaiting @ 117 NONAME - _ZTI26CPhoneErrorMessagesHandler @ 118 NONAME - _ZTI26CPhoneTwoSinglesAndWaiting @ 119 NONAME - _ZTI28CPhoneConferenceAndCallSetup @ 120 NONAME - _ZTI30CPhoneUIStateMachineFactoryGSM @ 121 NONAME - _ZTI31CPhoneGeneralGsmMessagesHandler @ 122 NONAME - _ZTI34CPhoneSingleAndCallSetupAndWaiting @ 123 NONAME - _ZTI35CPhoneConferenceAndSingleAndWaiting @ 124 NONAME - _ZTI38CPhoneConferenceAndWaitingAndCallSetup @ 125 NONAME - _ZTV10CPhoneIdle @ 126 NONAME - _ZTV13CPhoneStartup @ 127 NONAME - _ZTV14CPhoneAlerting @ 128 NONAME - _ZTV14CPhoneIncoming @ 129 NONAME - _ZTV15CPhoneCallSetup @ 130 NONAME - _ZTV15CPhoneEmergency @ 131 NONAME - _ZTV15CPhoneGsmInCall @ 132 NONAME - _ZTV16CPhoneConference @ 133 NONAME - _ZTV16CPhoneSingleCall @ 134 NONAME - _ZTV16CPhoneTwoSingles @ 135 NONAME - _ZTV21CPhoneStateMachineGSM @ 136 NONAME - _ZTV22CPhoneSingleAndWaiting @ 137 NONAME - _ZTV22CPhoneStartupSimlockUi @ 138 NONAME - _ZTV23CPhoneSingleAndAlerting @ 139 NONAME - _ZTV24CPhoneSingleAndCallSetup @ 140 NONAME - _ZTV25CPhoneCallSetupAndWaiting @ 141 NONAME - _ZTV25CPhoneConferenceAndSingle @ 142 NONAME - _ZTV25CPhoneResourceResolverGSM @ 143 NONAME - _ZTV26CPhoneConferenceAndWaiting @ 144 NONAME - _ZTV26CPhoneErrorMessagesHandler @ 145 NONAME - _ZTV26CPhoneTwoSinglesAndWaiting @ 146 NONAME - _ZTV28CPhoneConferenceAndCallSetup @ 147 NONAME - _ZTV30CPhoneUIStateMachineFactoryGSM @ 148 NONAME - _ZTV31CPhoneGeneralGsmMessagesHandler @ 149 NONAME - _ZTV34CPhoneSingleAndCallSetupAndWaiting @ 150 NONAME - _ZTV35CPhoneConferenceAndSingleAndWaiting @ 151 NONAME - _ZTV38CPhoneConferenceAndWaitingAndCallSetup @ 152 NONAME - _ZThn12_N10CPhoneIdleD0Ev @ 153 NONAME - _ZThn12_N10CPhoneIdleD1Ev @ 154 NONAME - _ZThn12_N14CPhoneAlertingD0Ev @ 155 NONAME - _ZThn12_N14CPhoneAlertingD1Ev @ 156 NONAME - _ZThn12_N14CPhoneIncomingD0Ev @ 157 NONAME - _ZThn12_N14CPhoneIncomingD1Ev @ 158 NONAME - _ZThn12_N15CPhoneCallSetupD0Ev @ 159 NONAME - _ZThn12_N15CPhoneCallSetupD1Ev @ 160 NONAME - _ZThn12_N15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 161 NONAME - _ZThn12_N16CPhoneSingleCallD0Ev @ 162 NONAME - _ZThn12_N16CPhoneSingleCallD1Ev @ 163 NONAME - _ZThn12_N16CPhoneTwoSinglesD0Ev @ 164 NONAME - _ZThn12_N16CPhoneTwoSinglesD1Ev @ 165 NONAME - _ZThn12_N22CPhoneStartupSimlockUi19HandlePhoneStartupLEv @ 166 NONAME - _ZThn12_N22CPhoneStartupSimlockUi22HandlePropertyChangedLERK4TUidji @ 167 NONAME - _ZThn16_N10CPhoneIdleD0Ev @ 168 NONAME - _ZThn16_N10CPhoneIdleD1Ev @ 169 NONAME - _ZThn16_N14CPhoneAlerting14HandleCommandLEi @ 170 NONAME - _ZThn16_N14CPhoneAlertingD0Ev @ 171 NONAME - _ZThn16_N14CPhoneAlertingD1Ev @ 172 NONAME - _ZThn16_N14CPhoneIncomingD0Ev @ 173 NONAME - _ZThn16_N14CPhoneIncomingD1Ev @ 174 NONAME - _ZThn16_N15CPhoneCallSetupD0Ev @ 175 NONAME - _ZThn16_N15CPhoneCallSetupD1Ev @ 176 NONAME - _ZThn16_N15CPhoneGsmInCall14HandleCommandLEi @ 177 NONAME - _ZThn16_N16CPhoneSingleCall14HandleCommandLEi @ 178 NONAME - _ZThn16_N16CPhoneSingleCallD0Ev @ 179 NONAME - _ZThn16_N16CPhoneSingleCallD1Ev @ 180 NONAME - _ZThn16_N16CPhoneTwoSinglesD0Ev @ 181 NONAME - _ZThn16_N16CPhoneTwoSinglesD1Ev @ 182 NONAME - _ZThn20_N10CPhoneIdleD0Ev @ 183 NONAME - _ZThn20_N10CPhoneIdleD1Ev @ 184 NONAME - _ZThn20_N14CPhoneAlertingD0Ev @ 185 NONAME - _ZThn20_N14CPhoneAlertingD1Ev @ 186 NONAME - _ZThn20_N14CPhoneIncomingD0Ev @ 187 NONAME - _ZThn20_N14CPhoneIncomingD1Ev @ 188 NONAME - _ZThn20_N15CPhoneCallSetupD0Ev @ 189 NONAME - _ZThn20_N15CPhoneCallSetupD1Ev @ 190 NONAME - _ZThn20_N15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 191 NONAME - _ZThn20_N16CPhoneSingleCallD0Ev @ 192 NONAME - _ZThn20_N16CPhoneSingleCallD1Ev @ 193 NONAME - _ZThn20_N16CPhoneTwoSinglesD0Ev @ 194 NONAME - _ZThn20_N16CPhoneTwoSinglesD1Ev @ 195 NONAME - _ZThn24_N10CPhoneIdleD0Ev @ 196 NONAME - _ZThn24_N10CPhoneIdleD1Ev @ 197 NONAME - _ZThn24_N14CPhoneAlertingD0Ev @ 198 NONAME - _ZThn24_N14CPhoneAlertingD1Ev @ 199 NONAME - _ZThn24_N14CPhoneIncomingD0Ev @ 200 NONAME - _ZThn24_N14CPhoneIncomingD1Ev @ 201 NONAME - _ZThn24_N15CPhoneCallSetupD0Ev @ 202 NONAME - _ZThn24_N15CPhoneCallSetupD1Ev @ 203 NONAME - _ZThn24_N15CPhoneGsmInCall19SetDivertIndicationEi @ 204 NONAME - _ZThn24_N16CPhoneSingleCallD0Ev @ 205 NONAME - _ZThn24_N16CPhoneSingleCallD1Ev @ 206 NONAME - _ZThn24_N16CPhoneTwoSinglesD0Ev @ 207 NONAME - _ZThn24_N16CPhoneTwoSinglesD1Ev @ 208 NONAME - _ZThn28_N16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 209 NONAME - _ZThn32_N10CPhoneIdleD0Ev @ 210 NONAME - _ZThn32_N10CPhoneIdleD1Ev @ 211 NONAME - _ZThn32_N14CPhoneAlertingD0Ev @ 212 NONAME - _ZThn32_N14CPhoneAlertingD1Ev @ 213 NONAME - _ZThn32_N14CPhoneIncomingD0Ev @ 214 NONAME - _ZThn32_N14CPhoneIncomingD1Ev @ 215 NONAME - _ZThn32_N15CPhoneCallSetupD0Ev @ 216 NONAME - _ZThn32_N15CPhoneCallSetupD1Ev @ 217 NONAME - _ZThn32_N16CPhoneSingleCallD0Ev @ 218 NONAME - _ZThn32_N16CPhoneSingleCallD1Ev @ 219 NONAME - _ZThn32_N16CPhoneTwoSinglesD0Ev @ 220 NONAME - _ZThn32_N16CPhoneTwoSinglesD1Ev @ 221 NONAME - _ZThn4_N10CPhoneIdle12HandleErrorLERK12TPEErrorInfo @ 222 NONAME - _ZThn4_N10CPhoneIdle25HandlePhoneEngineMessageLEii @ 223 NONAME - _ZThn4_N10CPhoneIdleD0Ev @ 224 NONAME - _ZThn4_N10CPhoneIdleD1Ev @ 225 NONAME - _ZThn4_N14CPhoneAlerting25HandlePhoneEngineMessageLEii @ 226 NONAME - _ZThn4_N14CPhoneAlertingD0Ev @ 227 NONAME - _ZThn4_N14CPhoneAlertingD1Ev @ 228 NONAME - _ZThn4_N14CPhoneIncoming12HandleErrorLERK12TPEErrorInfo @ 229 NONAME - _ZThn4_N14CPhoneIncoming25HandlePhoneEngineMessageLEii @ 230 NONAME - _ZThn4_N14CPhoneIncomingD0Ev @ 231 NONAME - _ZThn4_N14CPhoneIncomingD1Ev @ 232 NONAME - _ZThn4_N15CPhoneCallSetup25HandlePhoneEngineMessageLEii @ 233 NONAME - _ZThn4_N15CPhoneCallSetupD0Ev @ 234 NONAME - _ZThn4_N15CPhoneCallSetupD1Ev @ 235 NONAME - _ZThn4_N16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 236 NONAME - _ZThn4_N16CPhoneSingleCallD0Ev @ 237 NONAME - _ZThn4_N16CPhoneSingleCallD1Ev @ 238 NONAME - _ZThn4_N16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 239 NONAME - _ZThn4_N16CPhoneTwoSinglesD0Ev @ 240 NONAME - _ZThn4_N16CPhoneTwoSinglesD1Ev @ 241 NONAME - _ZThn4_N21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 242 NONAME - _ZThn4_N21CPhoneStateMachineGSM5StateEv @ 243 NONAME - _ZThn4_N21CPhoneStateMachineGSMD0Ev @ 244 NONAME - _ZThn4_N21CPhoneStateMachineGSMD1Ev @ 245 NONAME - _ZThn4_N22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 246 NONAME - _ZThn4_N22CPhoneStartupSimlockUi25HandlePhoneEngineMessageLEii @ 247 NONAME - _ZThn4_N25CPhoneCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 248 NONAME - _ZThn4_N25CPhoneResourceResolverGSMD0Ev @ 249 NONAME - _ZThn4_N25CPhoneResourceResolverGSMD1Ev @ 250 NONAME - _ZThn4_N26CPhoneConferenceAndWaiting12HandleErrorLERK12TPEErrorInfo @ 251 NONAME - _ZThn4_N26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 252 NONAME - _ZThn4_N26CPhoneErrorMessagesHandlerD0Ev @ 253 NONAME - _ZThn4_N26CPhoneErrorMessagesHandlerD1Ev @ 254 NONAME - _ZThn4_N26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 255 NONAME - _ZThn4_N34CPhoneSingleAndCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 256 NONAME - _ZThn4_N35CPhoneConferenceAndSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 257 NONAME - _ZThn4_N38CPhoneConferenceAndWaitingAndCallSetup12HandleErrorLERK12TPEErrorInfo @ 258 NONAME - _ZThn4_NK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 259 NONAME - _ZThn8_N10CPhoneIdleD0Ev @ 260 NONAME - _ZThn8_N10CPhoneIdleD1Ev @ 261 NONAME - _ZThn8_N14CPhoneAlerting17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 262 NONAME - _ZThn8_N14CPhoneAlertingD0Ev @ 263 NONAME - _ZThn8_N14CPhoneAlertingD1Ev @ 264 NONAME - _ZThn8_N14CPhoneIncomingD0Ev @ 265 NONAME - _ZThn8_N14CPhoneIncomingD1Ev @ 266 NONAME - _ZThn8_N15CPhoneCallSetupD0Ev @ 267 NONAME - _ZThn8_N15CPhoneCallSetupD1Ev @ 268 NONAME - _ZThn8_N16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 269 NONAME - _ZThn8_N16CPhoneSingleCallD0Ev @ 270 NONAME - _ZThn8_N16CPhoneSingleCallD1Ev @ 271 NONAME - _ZThn8_N16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 272 NONAME - _ZThn8_N16CPhoneTwoSinglesD0Ev @ 273 NONAME - _ZThn8_N16CPhoneTwoSinglesD1Ev @ 274 NONAME + _ZN16CPhoneSingleCall36DoStateSpecificCallSetUpDefinitionsLEv @ 48 NONAME + _ZN16CPhoneSingleCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 49 NONAME + _ZN16CPhoneSingleCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 50 NONAME + _ZN16CPhoneSingleCallD0Ev @ 51 NONAME + _ZN16CPhoneSingleCallD1Ev @ 52 NONAME + _ZN16CPhoneSingleCallD2Ev @ 53 NONAME + _ZN16CPhoneTwoSingles10ConstructLEv @ 54 NONAME + _ZN16CPhoneTwoSingles12OpenMenuBarLEv @ 55 NONAME + _ZN16CPhoneTwoSingles16UpdateInCallCbaLEv @ 56 NONAME + _ZN16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 57 NONAME + _ZN16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 58 NONAME + _ZN16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 59 NONAME + _ZN16CPhoneTwoSingles26HandleConnectedConferenceLEi @ 60 NONAME + _ZN16CPhoneTwoSinglesC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 61 NONAME + _ZN16CPhoneTwoSinglesC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 62 NONAME + _ZN16CPhoneTwoSinglesD0Ev @ 63 NONAME + _ZN16CPhoneTwoSinglesD1Ev @ 64 NONAME + _ZN16CPhoneTwoSinglesD2Ev @ 65 NONAME + _ZN21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 66 NONAME + _ZN21CPhoneStateMachineGSM5StateEv @ 67 NONAME + _ZN21CPhoneStateMachineGSMC1EP23MPhoneViewCommandHandle @ 68 NONAME + _ZN21CPhoneStateMachineGSMC2EP23MPhoneViewCommandHandle @ 69 NONAME + _ZN21CPhoneStateMachineGSMD0Ev @ 70 NONAME + _ZN21CPhoneStateMachineGSMD1Ev @ 71 NONAME + _ZN21CPhoneStateMachineGSMD2Ev @ 72 NONAME + _ZN22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 73 NONAME + _ZN22CPhoneSingleAndWaiting36DoStateSpecificCallSetUpDefinitionsLEv @ 74 NONAME + _ZN22CPhoneStartupSimlockUi19HandlePhoneStartupLEv @ 75 NONAME + _ZN22CPhoneStartupSimlockUi22HandlePropertyChangedLERK4TUidji @ 76 NONAME + _ZN22CPhoneStartupSimlockUi25HandlePhoneEngineMessageLEii @ 77 NONAME + _ZN25CPhoneCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 78 NONAME + _ZN25CPhoneResourceResolverGSM10ConstructLEv @ 79 NONAME + _ZN25CPhoneResourceResolverGSMC1Ev @ 80 NONAME + _ZN25CPhoneResourceResolverGSMC2Ev @ 81 NONAME + _ZN25CPhoneResourceResolverGSMD0Ev @ 82 NONAME + _ZN25CPhoneResourceResolverGSMD1Ev @ 83 NONAME + _ZN25CPhoneResourceResolverGSMD2Ev @ 84 NONAME + _ZN26CPhoneConferenceAndWaiting12HandleErrorLERK12TPEErrorInfo @ 85 NONAME + _ZN26CPhoneConferenceAndWaiting36DoStateSpecificCallSetUpDefinitionsLEv @ 86 NONAME + _ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEi @ 87 NONAME + _ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEi @ 88 NONAME + _ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEi @ 89 NONAME + _ZN26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 90 NONAME + _ZN26CPhoneErrorMessagesHandlerC1EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 91 NONAME + _ZN26CPhoneErrorMessagesHandlerC2EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 92 NONAME + _ZN26CPhoneErrorMessagesHandlerD0Ev @ 93 NONAME + _ZN26CPhoneErrorMessagesHandlerD1Ev @ 94 NONAME + _ZN26CPhoneErrorMessagesHandlerD2Ev @ 95 NONAME + _ZN26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 96 NONAME + _ZN34CPhoneSingleAndCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 97 NONAME + _ZN35CPhoneConferenceAndSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 98 NONAME + _ZN38CPhoneConferenceAndWaitingAndCallSetup12HandleErrorLERK12TPEErrorInfo @ 99 NONAME + _ZNK16CPhoneSingleCall6CallIdEv @ 100 NONAME + _ZNK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 101 NONAME + _ZTI10CPhoneIdle @ 102 NONAME + _ZTI13CPhoneStartup @ 103 NONAME + _ZTI14CPhoneAlerting @ 104 NONAME + _ZTI14CPhoneIncoming @ 105 NONAME + _ZTI15CPhoneCallSetup @ 106 NONAME + _ZTI15CPhoneEmergency @ 107 NONAME + _ZTI15CPhoneGsmInCall @ 108 NONAME + _ZTI16CPhoneConference @ 109 NONAME + _ZTI16CPhoneSingleCall @ 110 NONAME + _ZTI16CPhoneTwoSingles @ 111 NONAME + _ZTI21CPhoneStateMachineGSM @ 112 NONAME + _ZTI22CPhoneSingleAndWaiting @ 113 NONAME + _ZTI22CPhoneStartupSimlockUi @ 114 NONAME + _ZTI23CPhoneSingleAndAlerting @ 115 NONAME + _ZTI24CPhoneSingleAndCallSetup @ 116 NONAME + _ZTI25CPhoneCallSetupAndWaiting @ 117 NONAME + _ZTI25CPhoneConferenceAndSingle @ 118 NONAME + _ZTI25CPhoneResourceResolverGSM @ 119 NONAME + _ZTI26CPhoneConferenceAndWaiting @ 120 NONAME + _ZTI26CPhoneErrorMessagesHandler @ 121 NONAME + _ZTI26CPhoneTwoSinglesAndWaiting @ 122 NONAME + _ZTI28CPhoneConferenceAndCallSetup @ 123 NONAME + _ZTI30CPhoneUIStateMachineFactoryGSM @ 124 NONAME + _ZTI31CPhoneGeneralGsmMessagesHandler @ 125 NONAME + _ZTI34CPhoneSingleAndCallSetupAndWaiting @ 126 NONAME + _ZTI35CPhoneConferenceAndSingleAndWaiting @ 127 NONAME + _ZTI38CPhoneConferenceAndWaitingAndCallSetup @ 128 NONAME + _ZTV10CPhoneIdle @ 129 NONAME + _ZTV13CPhoneStartup @ 130 NONAME + _ZTV14CPhoneAlerting @ 131 NONAME + _ZTV14CPhoneIncoming @ 132 NONAME + _ZTV15CPhoneCallSetup @ 133 NONAME + _ZTV15CPhoneEmergency @ 134 NONAME + _ZTV15CPhoneGsmInCall @ 135 NONAME + _ZTV16CPhoneConference @ 136 NONAME + _ZTV16CPhoneSingleCall @ 137 NONAME + _ZTV16CPhoneTwoSingles @ 138 NONAME + _ZTV21CPhoneStateMachineGSM @ 139 NONAME + _ZTV22CPhoneSingleAndWaiting @ 140 NONAME + _ZTV22CPhoneStartupSimlockUi @ 141 NONAME + _ZTV23CPhoneSingleAndAlerting @ 142 NONAME + _ZTV24CPhoneSingleAndCallSetup @ 143 NONAME + _ZTV25CPhoneCallSetupAndWaiting @ 144 NONAME + _ZTV25CPhoneConferenceAndSingle @ 145 NONAME + _ZTV25CPhoneResourceResolverGSM @ 146 NONAME + _ZTV26CPhoneConferenceAndWaiting @ 147 NONAME + _ZTV26CPhoneErrorMessagesHandler @ 148 NONAME + _ZTV26CPhoneTwoSinglesAndWaiting @ 149 NONAME + _ZTV28CPhoneConferenceAndCallSetup @ 150 NONAME + _ZTV30CPhoneUIStateMachineFactoryGSM @ 151 NONAME + _ZTV31CPhoneGeneralGsmMessagesHandler @ 152 NONAME + _ZTV34CPhoneSingleAndCallSetupAndWaiting @ 153 NONAME + _ZTV35CPhoneConferenceAndSingleAndWaiting @ 154 NONAME + _ZTV38CPhoneConferenceAndWaitingAndCallSetup @ 155 NONAME + _ZThn12_N10CPhoneIdleD0Ev @ 156 NONAME + _ZThn12_N10CPhoneIdleD1Ev @ 157 NONAME + _ZThn12_N14CPhoneAlertingD0Ev @ 158 NONAME + _ZThn12_N14CPhoneAlertingD1Ev @ 159 NONAME + _ZThn12_N14CPhoneIncomingD0Ev @ 160 NONAME + _ZThn12_N14CPhoneIncomingD1Ev @ 161 NONAME + _ZThn12_N15CPhoneCallSetupD0Ev @ 162 NONAME + _ZThn12_N15CPhoneCallSetupD1Ev @ 163 NONAME + _ZThn12_N15CPhoneGsmInCall27HandlePhoneForegroundEventLEv @ 164 NONAME + _ZThn12_N16CPhoneSingleCallD0Ev @ 165 NONAME + _ZThn12_N16CPhoneSingleCallD1Ev @ 166 NONAME + _ZThn12_N16CPhoneTwoSinglesD0Ev @ 167 NONAME + _ZThn12_N16CPhoneTwoSinglesD1Ev @ 168 NONAME + _ZThn12_N22CPhoneStartupSimlockUi19HandlePhoneStartupLEv @ 169 NONAME + _ZThn12_N22CPhoneStartupSimlockUi22HandlePropertyChangedLERK4TUidji @ 170 NONAME + _ZThn16_N10CPhoneIdleD0Ev @ 171 NONAME + _ZThn16_N10CPhoneIdleD1Ev @ 172 NONAME + _ZThn16_N14CPhoneAlerting14HandleCommandLEi @ 173 NONAME + _ZThn16_N14CPhoneAlertingD0Ev @ 174 NONAME + _ZThn16_N14CPhoneAlertingD1Ev @ 175 NONAME + _ZThn16_N14CPhoneIncomingD0Ev @ 176 NONAME + _ZThn16_N14CPhoneIncomingD1Ev @ 177 NONAME + _ZThn16_N15CPhoneCallSetupD0Ev @ 178 NONAME + _ZThn16_N15CPhoneCallSetupD1Ev @ 179 NONAME + _ZThn16_N15CPhoneGsmInCall14HandleCommandLEi @ 180 NONAME + _ZThn16_N16CPhoneSingleCall14HandleCommandLEi @ 181 NONAME + _ZThn16_N16CPhoneSingleCallD0Ev @ 182 NONAME + _ZThn16_N16CPhoneSingleCallD1Ev @ 183 NONAME + _ZThn16_N16CPhoneTwoSinglesD0Ev @ 184 NONAME + _ZThn16_N16CPhoneTwoSinglesD1Ev @ 185 NONAME + _ZThn20_N10CPhoneIdleD0Ev @ 186 NONAME + _ZThn20_N10CPhoneIdleD1Ev @ 187 NONAME + _ZThn20_N14CPhoneAlertingD0Ev @ 188 NONAME + _ZThn20_N14CPhoneAlertingD1Ev @ 189 NONAME + _ZThn20_N14CPhoneIncomingD0Ev @ 190 NONAME + _ZThn20_N14CPhoneIncomingD1Ev @ 191 NONAME + _ZThn20_N15CPhoneCallSetupD0Ev @ 192 NONAME + _ZThn20_N15CPhoneCallSetupD1Ev @ 193 NONAME + _ZThn20_N15CPhoneEmergency20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 194 NONAME + _ZThn20_N16CPhoneSingleCallD0Ev @ 195 NONAME + _ZThn20_N16CPhoneSingleCallD1Ev @ 196 NONAME + _ZThn20_N16CPhoneTwoSinglesD0Ev @ 197 NONAME + _ZThn20_N16CPhoneTwoSinglesD1Ev @ 198 NONAME + _ZThn24_N16CPhoneTwoSingles25HandleNumberEntryClearedLEv @ 199 NONAME + _ZThn28_N10CPhoneIdleD0Ev @ 200 NONAME + _ZThn28_N10CPhoneIdleD1Ev @ 201 NONAME + _ZThn28_N14CPhoneAlertingD0Ev @ 202 NONAME + _ZThn28_N14CPhoneAlertingD1Ev @ 203 NONAME + _ZThn28_N14CPhoneIncomingD0Ev @ 204 NONAME + _ZThn28_N14CPhoneIncomingD1Ev @ 205 NONAME + _ZThn28_N15CPhoneCallSetupD0Ev @ 206 NONAME + _ZThn28_N15CPhoneCallSetupD1Ev @ 207 NONAME + _ZThn28_N16CPhoneSingleCallD0Ev @ 208 NONAME + _ZThn28_N16CPhoneSingleCallD1Ev @ 209 NONAME + _ZThn28_N16CPhoneTwoSinglesD0Ev @ 210 NONAME + _ZThn28_N16CPhoneTwoSinglesD1Ev @ 211 NONAME + _ZThn4_N10CPhoneIdle12HandleErrorLERK12TPEErrorInfo @ 212 NONAME + _ZThn4_N10CPhoneIdle25HandlePhoneEngineMessageLEii @ 213 NONAME + _ZThn4_N10CPhoneIdleD0Ev @ 214 NONAME + _ZThn4_N10CPhoneIdleD1Ev @ 215 NONAME + _ZThn4_N14CPhoneAlerting25HandlePhoneEngineMessageLEii @ 216 NONAME + _ZThn4_N14CPhoneAlertingD0Ev @ 217 NONAME + _ZThn4_N14CPhoneAlertingD1Ev @ 218 NONAME + _ZThn4_N14CPhoneIncoming12HandleErrorLERK12TPEErrorInfo @ 219 NONAME + _ZThn4_N14CPhoneIncoming25HandlePhoneEngineMessageLEii @ 220 NONAME + _ZThn4_N14CPhoneIncomingD0Ev @ 221 NONAME + _ZThn4_N14CPhoneIncomingD1Ev @ 222 NONAME + _ZThn4_N15CPhoneCallSetup25HandlePhoneEngineMessageLEii @ 223 NONAME + _ZThn4_N15CPhoneCallSetupD0Ev @ 224 NONAME + _ZThn4_N15CPhoneCallSetupD1Ev @ 225 NONAME + _ZThn4_N16CPhoneSingleCall25HandlePhoneEngineMessageLEii @ 226 NONAME + _ZThn4_N16CPhoneSingleCallD0Ev @ 227 NONAME + _ZThn4_N16CPhoneSingleCallD1Ev @ 228 NONAME + _ZThn4_N16CPhoneTwoSingles25HandlePhoneEngineMessageLEii @ 229 NONAME + _ZThn4_N16CPhoneTwoSinglesD0Ev @ 230 NONAME + _ZThn4_N16CPhoneTwoSinglesD1Ev @ 231 NONAME + _ZThn4_N21CPhoneStateMachineGSM18CreatePhoneEngineLER14MEngineMonitor @ 232 NONAME + _ZThn4_N21CPhoneStateMachineGSM5StateEv @ 233 NONAME + _ZThn4_N21CPhoneStateMachineGSMD0Ev @ 234 NONAME + _ZThn4_N21CPhoneStateMachineGSMD1Ev @ 235 NONAME + _ZThn4_N22CPhoneSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 236 NONAME + _ZThn4_N22CPhoneStartupSimlockUi25HandlePhoneEngineMessageLEii @ 237 NONAME + _ZThn4_N25CPhoneCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 238 NONAME + _ZThn4_N25CPhoneResourceResolverGSMD0Ev @ 239 NONAME + _ZThn4_N25CPhoneResourceResolverGSMD1Ev @ 240 NONAME + _ZThn4_N26CPhoneConferenceAndWaiting12HandleErrorLERK12TPEErrorInfo @ 241 NONAME + _ZThn4_N26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 242 NONAME + _ZThn4_N26CPhoneErrorMessagesHandlerD0Ev @ 243 NONAME + _ZThn4_N26CPhoneErrorMessagesHandlerD1Ev @ 244 NONAME + _ZThn4_N26CPhoneTwoSinglesAndWaiting12HandleErrorLERK12TPEErrorInfo @ 245 NONAME + _ZThn4_N34CPhoneSingleAndCallSetupAndWaiting12HandleErrorLERK12TPEErrorInfo @ 246 NONAME + _ZThn4_N35CPhoneConferenceAndSingleAndWaiting12HandleErrorLERK12TPEErrorInfo @ 247 NONAME + _ZThn4_N38CPhoneConferenceAndWaitingAndCallSetup12HandleErrorLERK12TPEErrorInfo @ 248 NONAME + _ZThn4_NK25CPhoneResourceResolverGSM17ResolveResourceIDERKi @ 249 NONAME + _ZThn8_N10CPhoneIdleD0Ev @ 250 NONAME + _ZThn8_N10CPhoneIdleD1Ev @ 251 NONAME + _ZThn8_N14CPhoneAlerting17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 252 NONAME + _ZThn8_N14CPhoneAlertingD0Ev @ 253 NONAME + _ZThn8_N14CPhoneAlertingD1Ev @ 254 NONAME + _ZThn8_N14CPhoneIncomingD0Ev @ 255 NONAME + _ZThn8_N14CPhoneIncomingD1Ev @ 256 NONAME + _ZThn8_N15CPhoneCallSetupD0Ev @ 257 NONAME + _ZThn8_N15CPhoneCallSetupD1Ev @ 258 NONAME + _ZThn8_N16CPhoneSingleCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 259 NONAME + _ZThn8_N16CPhoneSingleCallD0Ev @ 260 NONAME + _ZThn8_N16CPhoneSingleCallD1Ev @ 261 NONAME + _ZThn8_N16CPhoneTwoSingles17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 262 NONAME + _ZThn8_N16CPhoneTwoSinglesD0Ev @ 263 NONAME + _ZThn8_N16CPhoneTwoSinglesD1Ev @ 264 NONAME diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/group/phoneuistates.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonealerting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonecallsetupandwaiting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconference.h --- a/phoneapp/phoneuistates/inc/cphoneconference.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/inc/cphoneconference.h Thu Sep 09 18:09:57 2010 +0100 @@ -65,6 +65,12 @@ virtual void HandleKeyMessageL( TPhoneKeyEventMessages aMessage, TKeyCode aCode ); + + /** + * This function is called from displaycallsetup and + * the purpose is to do state specific things for callsetup. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); protected: @@ -102,8 +108,6 @@ virtual void HandleConferenceIdleL(); virtual void MakeStateTransitionToTwoSinglesL(); - - virtual void DisplayCallSetupL( TInt aCallId ); virtual TBool IsConferenceBubbleInSelectionMode() const; @@ -143,7 +147,7 @@ void MakeStateTransitionToIdleL(); - void HandleDiallingL( TInt aCallId ); + void HandleDialingL( TInt aCallId ); void CallFromNewCallQueryL(); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconferenceandcallsetup.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconferenceandsingle.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconferenceandsingleandwaiting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h --- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h Thu Sep 09 18:09:57 2010 +0100 @@ -70,6 +70,12 @@ IMPORT_C virtual void HandleErrorL( const TPEErrorInfo& aErrorInfo ); + /** + * This function is called from displaycallsetup and + * the purpose is to do state specific things for callsetup. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); + protected: /** @@ -100,7 +106,7 @@ void MakeStateTransitionToConferenceAndSingleL( TInt aCallId ); - void HandleDiallingL( TInt aCallId ); + void HandleDialingL( TInt aCallId ); void HandleWentOneToOneL( TInt aCallId ); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneemergency.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonegsmincall.h --- a/phoneapp/phoneuistates/inc/cphonegsmincall.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/inc/cphonegsmincall.h Thu Sep 09 18:09:57 2010 +0100 @@ -107,23 +107,9 @@ */ void HandleHoldNoteL( TInt aCallId, TBool aHold ); - - /** - * Setter for divert indication showing in bubble. - * @param aDivertIndication ETrue to show divert indication, - * EFalse to not. Usually setting EFalse isn't necessary - * as it's a default value in bubble creation. - */ - IMPORT_C void SetDivertIndication( - const TBool aDivertIndication ); - private: void ReplaceCallL(); - /** - * Handles divert indication - */ - void HandeDivertIndicationL(); }; #endif // CPHONEGSMINCALL_H diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneresourceresolvergsm.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonesingleandalerting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonesingleandcallsetupandwaiting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonesingleandwaiting.h --- a/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h Thu Sep 09 18:09:57 2010 +0100 @@ -61,8 +61,14 @@ /** * Handles user selected UI commands. * @param aCommand - selected command - */ + */ TBool HandleCommandL( TInt aCommand ); + + /** + * This function is called from displaycallsetup and + * the purpose is to do state specific things for callsetup. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); protected: @@ -148,13 +154,7 @@ * Handles received dialing message from Phone Engine. * @param aCallId - call id that received the event */ - void HandleDiallingL( TInt aCallId ); - - /** - * Sets up all call setup to display. - * @param aCallId - call id to set up - */ - void DisplayCallSetupL( TInt aCallId ); + void HandleDialingL( TInt aCallId ); /** * Handles received EPEMessageDisconnecting message from Phone Engine. diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonesinglecall.h --- a/phoneapp/phoneuistates/inc/cphonesinglecall.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/inc/cphonesinglecall.h Thu Sep 09 18:09:57 2010 +0100 @@ -65,6 +65,11 @@ IMPORT_C virtual TBool HandleCommandL( TInt aCommand ); + /** + * This function is called from displaycallsetup and + * the purpose is to do state specific things for callsetup. + */ + IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL(); protected: @@ -91,6 +96,7 @@ * @return Call identifier. */ IMPORT_C TInt CallId() const; + private: void OpenVideoCallMenuBarL(); @@ -109,9 +115,7 @@ void CallFromNewCallQueryL(); - void HandleDiallingL( TInt aCallId ); - - void DisplayCallSetupL( TInt aCallId ); + void HandleDialingL( TInt aCallId ); void SetCallResumeL(); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonestartupsimlockui.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonestatemachinegsm.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonetwosingles.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/inc/cphoneuistatemachinefactorygsm.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonealerting.cpp --- a/phoneapp/phoneuistates/src/cphonealerting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonealerting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -132,11 +132,7 @@ if ( IsNumberEntryUsedL() ) { - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( - EPhoneViewRemoveNumberEntry ); - // Do state-specific operation when number entry is cleared - HandleNumberEntryClearedL(); + CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose ); } if ( !TopAppIsDisplayedL() ) { diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonecallsetup.cpp --- a/phoneapp/phoneuistates/src/cphonecallsetup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonecallsetup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -103,18 +103,16 @@ case MEngineMonitor::EPEMessageConnecting: HandleConnectingL( aCallId ); break; - - case MEngineMonitor::EPEMessageShowVersion: - { - if ( iStateMachine->SecurityMode()->IsSecurityMode() ) - { - // Do nothing if security mode is enabled. - return; - } - } - // Fall through - // fall through. + case MEngineMonitor::EPEMessageShowVersion: + { + if ( iStateMachine->SecurityMode()->IsSecurityMode() ) + { + // Do nothing if security mode is enabled. + return; + } + } + // Fall through case MEngineMonitor::EPEMessageIssuingSSRequest: case MEngineMonitor::EPEMessageCallBarred: case MEngineMonitor::EPEMessageIssuedSSRequest: @@ -159,12 +157,12 @@ // set when the CDMA network receives the call, not (like in GSM) when // when the remote party receives the call. So, in CDMA, the user // should still be able to cancel the MO call before the call is connected. - __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneCallSetup::HandleConnectingL()"); - + __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneCallSetup::HandleConnectingL()"); BeginUiUpdateLC(); UpdateRemoteInfoDataL ( aCallId ); + SetNeedToReturnToForegroundAppStatusL( EFalse ); + // Re-enable global notes TPhoneCmdParamBoolean globalNotifierParam; globalNotifierParam.SetBoolean( EFalse ); @@ -191,9 +189,7 @@ EndUiUpdate(); - // Go to alerting state UpdateCbaL( EPhoneCallHandlingInCallCBA ); - iStateMachine->ChangeState( EPhoneStateAlerting ); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -238,7 +238,7 @@ iStateMachine->ChangeState( EPhoneStateAlerting ); } - EndUiUpdate(); + EndUiUpdate(); } // ----------------------------------------------------------- @@ -276,7 +276,7 @@ CPhoneState::SetTouchPaneButtons( EPhoneWaitingCallButtons ); SetToolbarDimming( EFalse ); - CPhoneState::EndUiUpdate(); + EndUiUpdate(); if ( CPhoneState::IsNumberEntryUsedL() ) { diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconference.cpp --- a/phoneapp/phoneuistates/src/cphoneconference.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconference.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -168,7 +168,7 @@ break; case MEngineMonitor::EPEMessageDialing: - HandleDiallingL( aCallId ); + HandleDialingL( aCallId ); break; case MEngineMonitor::EPEMessageIncoming: @@ -443,7 +443,7 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConference::HandleConferenceIdleL()"); - + BeginTransEffectLC( ENumberEntryClose ); BeginUiUpdateLC(); iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble ); @@ -456,7 +456,7 @@ { case ENoActiveCalls: MakeStateTransitionToIdleL(); - break; + break; case EOneActiveCall: { @@ -472,13 +472,12 @@ KPSUidScreenSaver, KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); - UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); } else { - MakeStateTransitionToSingleL(); + MakeStateTransitionToSingleL(); } } break; @@ -491,8 +490,8 @@ MakeStateTransitionToTwoSinglesL(); break; } - - EndUiUpdate(); + EndUiUpdate(); + EndTransEffect(); } // ----------------------------------------------------------- @@ -842,65 +841,34 @@ } // ----------------------------------------------------------- -// CPhoneConference::HandleDiallingL +// CPhoneConference::HandleDialingL // ----------------------------------------------------------- // -void CPhoneConference::HandleDiallingL( TInt aCallId ) +void CPhoneConference::HandleDialingL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneConference::HandleDiallingL()"); - + "CPhoneConference::HandleDialingL()"); CPhonePubSubProxy::Instance()->ChangePropertyValue( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); - - BeginUiUpdateLC(); - - CloseSelectionListL(); - - SetNumberEntryVisibilityL(EFalse); + CloseSelectionListL(); // Display call setup DisplayCallSetupL( aCallId ); - - // Conference is understood as single call in buttons enumerations. - SetTouchPaneButtons(EPhoneCallSetupAndSingleButtons); - - EndUiUpdate(); - - // Set Call Setup CBA - UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); - + // Go to conference and call setup state iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); } // ----------------------------------------------------------- -// CPhoneConference::DisplayCallSetupL +// CPhoneConference::DoStateSpecificCallSetUpDefinitionsL // ----------------------------------------------------------- // -void CPhoneConference::DisplayCallSetupL( TInt aCallId ) +EXPORT_C void CPhoneConference::DoStateSpecificCallSetUpDefinitionsL() { - __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneConference::DisplayCallSetupL()"); - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Remove dialogs if necessary - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); - - // Capture keys when the phone is dialling - CaptureKeysDuringCallNotificationL( ETrue ); - - // Bring Phone app in the foreground - TPhoneCmdParamInteger uidParam; - uidParam.SetInteger( KUidPhoneApplication.iUid ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, - &uidParam ); - - // Display call setup header - DisplayHeaderForOutgoingCallL( aCallId ); + // Show incoming call buttons + SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons ); } // --------------------------------------------------------- @@ -943,6 +911,9 @@ KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists @@ -953,12 +924,8 @@ // Indicate that the menu application on foreground needs to be sent back to the foreground // after call is ended. - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); - + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + TPhoneCmdParamBoolean dialerParam; dialerParam.SetBoolean( ETrue ); @@ -968,7 +935,7 @@ CloseSelectionListL(); // Close fast swap window if it's displayed - CEikonEnv::Static()->DismissTaskList(); + EikonEnv()->DismissTaskList(); SetTouchPaneButtons( EPhoneWaitingCallButtons ); @@ -976,6 +943,7 @@ DisplayIncomingCallL( aCallId, dialerParam ); EndUiUpdate(); + EndTransEffect(); // Go to incoming state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); @@ -988,7 +956,7 @@ // void CPhoneConference::DisplayIncomingCallL( TInt aCallId, - const TPhoneCmdParamBoolean aCommandParam ) + const TPhoneCmdParamBoolean /*aCommandParam*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConference::DisplayIncomingCallL()"); @@ -1000,11 +968,7 @@ // Indicate that the Phone needs to be sent to the background if // an application other than the top application is in the foreground - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -374,35 +374,30 @@ } else { - iStateMachine->ChangeState( EPhoneStateCallSetupInSingle ); + iStateMachine->ChangeState( EPhoneStateCallSetupInSingle ); } } } else - { - // Remove outgoing call + { + // Remove outgoing call + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - CheckIfRestoreNEContentAfterDtmfDialer(); - if ( IsNumberEntryUsedL() ) { // Show the number entry if it exists SetNumberEntryVisibilityL(ETrue); - } - + } + SetTouchPaneButtons( EPhoneConferenceButtons ); EndUiUpdate(); - - // Go to conference state + EndTransEffect(); UpdateCbaL( EPhoneCallHandlingInCallCBA ); iStateMachine->ChangeState( EPhoneStateConference ); - } - + } } - // ----------------------------------------------------------- // CPhoneConferenceAndCallSetup::UpdateInCallCbaL diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -459,14 +459,16 @@ void CPhoneConferenceAndSingle::HandleIncomingL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneConferenceAndSingle::HandleIncomingL"); - + "CPhoneConferenceAndSingle::HandleIncomingL"); + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists if ( IsNumberEntryUsedL() ) { - SetNumberEntryVisibilityL( EFalse ); + SetNumberEntryVisibilityL( EFalse ); } TPhoneCmdParamBoolean dialerParam; @@ -492,7 +494,7 @@ DisplayIncomingCallL( aCallId, dialerParam ); EndUiUpdate(); - + EndTransEffect(); TPhoneCmdParamBoolean conferenceAndSingleFlag; conferenceAndSingleFlag.SetBoolean( EFalse ); iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -198,31 +198,25 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingleAndWaiting::HandleIdleL()"); - - BeginUiUpdateLC(); - // Set touch controls + BeginUiUpdateLC(); SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer ); SetTouchPaneButtons( EPhoneWaitingCallButtons ); - TPhoneCmdParamBoolean conferenceExistsForCallId; iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCallExistsInConference, aCallId, &conferenceExistsForCallId ); - if( conferenceExistsForCallId.Boolean() ) { // Remove conference member from conference bubble iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveFromConference, - aCallId ); + aCallId ); } else { - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - TPhoneCmdParamBoolean conferenceBubbleExists; iViewCommandHandle->ExecuteCommandL( EPhoneViewGetIsConference, - &conferenceBubbleExists ); + &conferenceBubbleExists ); if( !conferenceBubbleExists.Boolean() ) { // Idle message came for conference member. @@ -237,13 +231,13 @@ if( callStateData.CallId() >= 0 ) { // We have Conference and Waiting calls left - MakeStateTransitionToConferenceAndWaitingL( aCallId ); + MakeStateTransitionToConferenceAndWaitingL( aCallId ); } else { // We have Conference and Single calls left MakeStateTransitionToConferenceAndSingleL( aCallId ); - } + } } } EndUiUpdate(); @@ -465,7 +459,6 @@ // Go to Incoming state iCbaManager->UpdateIncomingCbaL( callStateData.CallId() ); - SetTouchPaneButtons( EPhoneIncomingCallButtons ); UpdateSilenceButtonDimming(); SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer ); @@ -487,7 +480,6 @@ UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); SetTouchPaneButtons( EPhoneWaitingCallButtons ); SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer ); - iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); } break; @@ -495,7 +487,6 @@ { // Go to Two Singles And Waiting state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); - SetTouchPaneButtons( EPhoneWaitingCallButtons ); iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting ); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -115,7 +115,7 @@ break; case MEngineMonitor::EPEMessageDialing: - HandleDiallingL( aCallId ); + HandleDialingL( aCallId ); break; case MEngineMonitor::EPEMessageConferenceIdle: @@ -265,29 +265,22 @@ void CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneConferenceAndWaiting::MakeStateTransitionToConferenceAndSingleL()"); - - BeginUiUpdateLC(); - + BeginUiUpdateLC(); + UpdateRemoteInfoDataL ( aCallId ); - if ( IsConferenceBubbleInSelectionMode() ) { - CloseSelectionListL(); + CloseSelectionListL(); } - - // Show bubble TPhoneCmdParamCallHeaderData callHeaderParam; callHeaderParam.SetCallState( EPEStateConnected ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, - &callHeaderParam ); - - + iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, + aCallId, &callHeaderParam ); if ( IsNumberEntryUsedL() ) { if ( NeedToReturnToForegroundAppL() ) { iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - UpdateCbaL( EPhoneCallHandlingInCallCBA ); } } @@ -299,9 +292,8 @@ SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate ); EndUiUpdate(); - // CBA updates in above if-else conditions - iStateMachine->ChangeState( EPhoneStateConferenceAndSingle ); + iStateMachine->ChangeState( EPhoneStateConferenceAndSingle ); } // ----------------------------------------------------------- @@ -324,13 +316,8 @@ if( iRingingCallId == aCallId ) { - BeginUiUpdateLC(); - - // Idle message came for waiting call - // Close menu bar, if it is displayed + BeginUiUpdateLC(); iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); if ( IsNumberEntryUsedL() ) @@ -339,9 +326,7 @@ { // Return phone to the background if menu application is needed to foreground. iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - UpdateCbaL( EPhoneCallHandlingInCallCBA ); } } @@ -367,20 +352,16 @@ SetTouchPaneButtons( EPhoneConferenceButtons ); } EndUiUpdate(); - - // Go to conference state // CBA updates in above if-else conditions - iStateMachine->ChangeState( EPhoneStateConference ); + iStateMachine->ChangeState( EPhoneStateConference ); } else { // Idle message came for conference member - CPhoneConference::HandleIdleL( aCallId ); - + CPhoneConference::HandleIdleL( aCallId ); TPhoneCmdParamBoolean conferenceBubbleExists; iViewCommandHandle->ExecuteCommandL( EPhoneViewGetIsConference, - &conferenceBubbleExists ); - + &conferenceBubbleExists ); if( !conferenceBubbleExists.Boolean() ) { HandleConferenceIdleL(); @@ -395,18 +376,12 @@ void CPhoneConferenceAndWaiting::HandleConferenceIdleL() { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndWaiting::HandleConferenceIdleL()"); - BeginUiUpdateLC(); - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble ); - + iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); TPhoneCmdParamInteger activeCallCount; iViewCommandHandle->ExecuteCommandL( - EPhoneViewGetCountOfActiveCalls, &activeCallCount ); - - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - + EPhoneViewGetCountOfActiveCalls, &activeCallCount ); switch( activeCallCount.Integer() ) { case ENoActiveCalls: @@ -425,7 +400,7 @@ BringIncomingToForegroundL(); SetCallHeaderTextsForCallComingInL( iRingingCallId, EFalse, &callHeaderParam ); - + iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, iRingingCallId ,&callHeaderParam ); iCbaManager->UpdateIncomingCbaL( iRingingCallId ); @@ -434,16 +409,15 @@ // Hide number entry if visible if ( IsNumberEntryVisibleL() ) { - SetNumberEntryVisibilityL(EFalse); + SetNumberEntryVisibilityL(EFalse); } - SetTouchPaneButtons( EPhoneIncomingCallButtons ); SetTouchPaneButtonEnabled( EPhoneCallComingCmdSilent ); - SetRingingTonePlaybackL( iRingingCallId ); + SetRingingTonePlaybackL( iRingingCallId ); SetToolbarDimming( ETrue ); iStateMachine->ChangeState( EPhoneStateIncoming ); - break; - } + } + break; case EOneActiveCall: if ( IsNumberEntryUsedL() ) @@ -453,8 +427,7 @@ } // Go to waiting in single state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); - - SetTouchPaneButtons( EPhoneWaitingCallButtons ); + SetTouchPaneButtons( EPhoneWaitingCallButtons ); iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); break; @@ -466,9 +439,7 @@ } // Go to two singles and waiting state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); - - SetTouchPaneButtons( EPhoneWaitingCallButtons ); - + SetTouchPaneButtons( EPhoneWaitingCallButtons ); iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting ); break; default: @@ -476,7 +447,7 @@ // Waiting for all conference member idles // This case may happen when 'End all calls' because conferenceIdle may // come earlier than idle for conference member - break; + break; } EndUiUpdate(); } @@ -492,33 +463,29 @@ } // ----------------------------------------------------------- -// CPhoneConferenceAndWaiting::HandleDiallingL +// CPhoneConferenceAndWaiting::HandleDialingL // ----------------------------------------------------------- // -void CPhoneConferenceAndWaiting::HandleDiallingL( TInt aCallId ) +void CPhoneConferenceAndWaiting::HandleDialingL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneConferenceAndWaiting::HandleDiallingL()"); - - BeginUiUpdateLC(); - // Hide number entry if it exists - SetNumberEntryVisibilityL(EFalse); - + "CPhoneConferenceAndWaiting::HandleDialingL()"); // Display call setup DisplayCallSetupL( aCallId ); - - SetTouchPaneButtons( EPhoneCallSetupButtons ); - - EndUiUpdate(); - - // Update conference and waiting and call setup softkeys - UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); - // Go to conference and waiting and call setup state iStateMachine->ChangeState( EPhoneStateConferenceAndWaitingAndCallSetup ); } // ----------------------------------------------------------- +// CPhoneConferenceAndWaiting::DoStateSpecificCallSetUpDefinitionsL +// ----------------------------------------------------------- +// +EXPORT_C void CPhoneConferenceAndWaiting::DoStateSpecificCallSetUpDefinitionsL() + { + SetTouchPaneButtons( EPhoneCallSetupButtons ); + } + +// ----------------------------------------------------------- // CPhoneConferenceAndWaiting::HandleWentOneToOneL // ----------------------------------------------------------- // @@ -556,7 +523,6 @@ // Go to Conference And Single And Waiting state iStateMachine->ChangeState( EPhoneStateConferenceAndSingleAndWaiting ); } - EndUiUpdate(); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -385,12 +385,9 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndWaitingAndCallSetup::HandleConferenceIdleL"); - BeginUiUpdateLC(); - + iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble ); - - // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); if ( IsNumberEntryUsedL() ) @@ -428,18 +425,13 @@ // Reset Hold flag to view TPhoneCmdParamBoolean holdFlag; holdFlag.SetBoolean( EFalse ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); - - // Go to Call Setup And Waiting state + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); SetTouchPaneButtons( EPhoneCallSetupButtons ); - SetToolbarDimming( ETrue ); - - // No need update cbas iStateMachine->ChangeState( EPhoneStateCallSetupAndWaiting ); } } - EndUiUpdate(); + EndUiUpdate(); } // ----------------------------------------------------------- @@ -517,7 +509,7 @@ UpdateCbaL( EPhoneCallHandlingInCallCBA ); iStateMachine->ChangeState( EPhoneStateConferenceAndCallSetup ); } - EndUiUpdate(); + EndUiUpdate(); } } } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneemergency.cpp --- a/phoneapp/phoneuistates/src/cphoneemergency.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -45,8 +45,10 @@ // ================= MEMBER FUNCTIONS ======================= +// ----------------------------------------------------------- // C++ default constructor can NOT contain any code, that // might leave. +// ----------------------------------------------------------- // CPhoneEmergency::CPhoneEmergency( MPhoneStateMachine* aStateMachine, @@ -62,7 +64,7 @@ // Destructor // (other items were commented in a header). // ----------------------------------------------------------- - +// CPhoneEmergency::~CPhoneEmergency() { } @@ -183,10 +185,10 @@ } } break; - + case MEngineMonitor::EPEMessageColpNumberAvailable: //Don't show COLP note during emergency call. - break; + break; default: CPhoneGsmInCall::HandlePhoneEngineMessageL( @@ -330,7 +332,7 @@ if ( aCallId == KPEEmergencyCallId ) { - if ( !IsSimOk() ) + if ( !IsSimOk() || IsSimStateNotPresentWithSecurityModeEnabled() ) { TPhoneCmdParamBoolean visibleMode; visibleMode.SetBoolean( ETrue ); @@ -360,12 +362,8 @@ // Indicate that the Phone needs to be sent to the background if // an application other than the top application is in the foreground - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); - + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; uidParam.SetInteger( KUidPhoneApplication.iUid ); @@ -551,11 +549,11 @@ } } else if ( iStateMachine->SecurityMode()->IsAutolockEnabled() - || SimState() != EPESimUsable - || iStartupInterrupted ) + || SimState() != EPESimUsable + || iStartupInterrupted ) { if ( TouchCallHandlingSupported() ) - { + { resourceId = EPhoneCallHandlingEmergencyInCallNoOptions; } else if ( audioOutput == EPEWiredAudioAccessory || IsSwivelClosed()) @@ -581,8 +579,8 @@ { resourceId = EPhoneCallHandlingEmergencyHandsetCBA; } - else if ( ( audioOutput == EPEHandset ) - && ( btAvailable ) ) + else if ( ( audioOutput == EPEHandset ) + && ( btAvailable ) ) { resourceId = EPhoneCallHandlingInCallBtaaCBA; } @@ -643,10 +641,10 @@ { if ( TouchCallHandlingSupported() ) { - CPhoneGsmInCall::HandleKeyMessageL( aMessage, aCode ); + CPhoneGsmInCall::HandleKeyMessageL( aMessage, aCode ); } else if ( !iStateMachine->SecurityMode()->IsAutolockEnabled() - && SimState() == EPESimUsable ) + && SimState() == EPESimUsable ) { // do base operation CPhoneGsmInCall::HandleKeyMessageL( aMessage, aCode ); @@ -696,6 +694,10 @@ DisconnectEmergencyCallL(); break; + case EPhoneCmdUpdateEmergencyCba: + UpdateInCallCbaL(); + break; + default: commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand ); break; @@ -768,24 +770,24 @@ TEventCode aEventCode ) { __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::HandleKeyEventL( ) "); - + if ( TouchCallHandlingSupported() ) { CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode ); } else { - if ( iStateMachine->SecurityMode()->IsAutolockEnabled() - && CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) ) - { - // Send the key event to the phone engine - SendKeyEventL( aKeyEvent, aEventCode ); - } - else - { - // Handle numeric keys when key events are received in idle state - CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode ); - } + if ( iStateMachine->SecurityMode()->IsAutolockEnabled() + && CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) ) + { + // Send the key event to the phone engine + SendKeyEventL( aKeyEvent, aEventCode ); + } + else + { + // Handle numeric keys when key events are received in idle state + CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode ); + } } } @@ -880,8 +882,8 @@ const TPEAudioOutput audioOutput = iStateMachine->PhoneEngineInfo()->AudioOutput(); - if ( !( TouchCallHandlingSupported() ) - && iCallSetup && audioOutput != EPENotActive ) + if ( !( TouchCallHandlingSupported() ) + && iCallSetup && audioOutput != EPENotActive ) { if ( audioOutput == EPELoudspeaker ) { @@ -951,33 +953,33 @@ // -------------------------------------------------------------- // TBool CPhoneEmergency::TouchCallHandlingSupported () const - { - if ( FeatureManager::FeatureSupported ( KFeatureIdTouchCallHandling ) ) - { - return ETrue; - } - else - { - return EFalse; - } - } + { + if ( FeatureManager::FeatureSupported ( KFeatureIdTouchCallHandling ) ) + { + return ETrue; + } + else + { + return EFalse; + } + } // -------------------------------------------------------------- // CPhoneEmergency::UseEmergencyNoIhfCBA // -------------------------------------------------------------- // TBool CPhoneEmergency::UseEmergencyNoIhfCBA( const TPEAudioOutput& aAudioOutput ) const - { - if ( !( TouchCallHandlingSupported() ) - && ( ( aAudioOutput == EPEWiredAudioAccessory ) || ( IsSwivelClosed() ) ) ) - { - return ETrue; - } - else - { - return EFalse; - } - } + { + if ( !( TouchCallHandlingSupported() ) + && ( ( aAudioOutput == EPEWiredAudioAccessory ) || ( IsSwivelClosed() ) ) ) + { + return ETrue; + } + else + { + return EFalse; + } + } // -------------------------------------------------------------- // CPhoneEmergency::UseHandsetEmergencyCBA @@ -985,15 +987,15 @@ // TBool CPhoneEmergency::UseHandsetEmergencyCBA( const TPEAudioOutput& aAudioOutput ) const { - if ( !( TouchCallHandlingSupported() ) - && ( ( aAudioOutput == EPELoudspeaker ) || ( aAudioOutput == EPEBTAudioAccessory ) ) ) - { - return ETrue; - } - else - { - return EFalse; - } + if ( !( TouchCallHandlingSupported() ) + && ( ( aAudioOutput == EPELoudspeaker ) || ( aAudioOutput == EPEBTAudioAccessory ) ) ) + { + return ETrue; + } + else + { + return EFalse; + } } // -------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp --- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -358,6 +358,10 @@ { SendGlobalInfoNoteL( EPhoneNotePhoneOutOf3GCoverage ); } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection ); + } break; case ECCPErrorCCNormalCallClearing: @@ -390,10 +394,7 @@ break; case ECCPErrorMovedPermanently: - if( IsVideoCall( aErrorInfo.iCallId ) ) - { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue22 ); - } + SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue22 ); break; case ECCPErrorNoAnswerForVideo: @@ -423,6 +424,10 @@ { SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue38 ); } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection ); + } break; case ECCPErrorCCRequestedFacilityNotSubscribed: @@ -437,10 +442,7 @@ break; case ECCPErrorCCIncomingCallsBarredInCug: - if( IsVideoCall( aErrorInfo.iCallId ) ) - { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue55 ); - } + SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue55 ); break; case ECCPErrorCCIncompatibleDestination: @@ -522,6 +524,10 @@ { SendGlobalInfoNoteL( EPhoneNoteCallInfoServiceNotAvailable ); } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection ); + } break; case ECCPErrorCUGOutgoingCallsBarred: diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp --- a/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -252,9 +252,6 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL()" ); - - iActiveState.SetDivertIndication( ETrue ); - } // ----------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonegsmincall.cpp --- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -399,53 +399,4 @@ EPhoneViewShowGlobalNote, &globalNoteParam ); } - -// --------------------------------------------------------- -// CPhoneGsmInCall::SetDivertIndication -// --------------------------------------------------------- -// -EXPORT_C void CPhoneGsmInCall::SetDivertIndication( const TBool aDivertIndication ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::SetDivertIndication()"); - - CPhoneState::SetDivertIndication( aDivertIndication ); - - TRAP_IGNORE( HandeDivertIndicationL() ); - } - -// --------------------------------------------------------- -// CPhoneGsmInCall::HandeDivertIndicationL -// --------------------------------------------------------- -// -void CPhoneGsmInCall::HandeDivertIndicationL() - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneGsmInCall::HandeDivertIndicationL()"); - - TBuf< KPhoneContactNameMaxLength > remoteInfoText( KNullDesC ); - TInt ringingCallId ( KErrNotFound ); - - ringingCallId = GetRingingCallL(); - - if( ringingCallId > KErrNotFound ) - { - TPhoneCmdParamCallHeaderData divertData; - - divertData.SetCallFlag( CBubbleManager::EDiverted ); - - GetRemoteInfoDataL( ringingCallId, remoteInfoText ); - divertData.SetCLIText( - remoteInfoText, - CBubbleManager::ERight ); - - divertData.SetCiphering( - iStateMachine->PhoneEngineInfo()->IsSecureCall( ringingCallId ) ); - divertData.SetCipheringIndicatorAllowed( - iStateMachine->PhoneEngineInfo()->SecureSpecified() ); - - iViewCommandHandle->ExecuteCommandL( - EPhoneViewUpdateCallHeaderRemoteInfoData, ringingCallId, - &divertData ); - } - } - // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneidle.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneincoming.cpp --- a/phoneapp/phoneuistates/src/cphoneincoming.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneincoming.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -199,6 +199,9 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCallIdByState, &callState ); TInt connectedCall = callState.CallId(); + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists @@ -213,7 +216,7 @@ AllowShowingOfWaitingCallHeaderL( dialerParam ); // Close fast swap window if it's displayed - CEikonEnv::Static()->DismissTaskList(); + EikonEnv()->DismissTaskList(); // If the 1st incoming call became Connected, this is waiting call // If the 1st incoming call went just Idle, this is a normal call @@ -236,10 +239,10 @@ DisplayIncomingCallL( aCallId, dialerParam ); EndUiUpdate(); + EndTransEffect(); if ( connectedCall > KErrNotFound ) { - // Go to incoming state iCbaManager->UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); } @@ -270,12 +273,8 @@ // Indicate that the Phone needs to be sent to the background if // an application other than the top application is in the foreground - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); - + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; uidParam.SetInteger( KUidPhoneApplication.iUid ); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp --- a/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -40,7 +40,8 @@ // might leave. // ----------------------------------------------------------------------------- // -EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(): iEnv( *CEikonEnv::Static() ) +EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM() : + iEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic { } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonesingleandalerting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -204,8 +204,8 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, &callHeaderParam ); - CPhoneState::SetTouchPaneButtons( EPhoneTwoSinglesButtons ); - CPhoneState::EndUiUpdate(); + SetTouchPaneButtons( EPhoneTwoSinglesButtons ); + EndUiUpdate(); // Set Hold flag to view TPhoneCmdParamBoolean holdFlag; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -291,55 +291,44 @@ void CPhoneSingleAndCallSetup::HandleIdleL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetup::HandleIdleL()"); - BeginUiUpdateLC(); - - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - - // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - // Find out do we have single or outgoing call left TPhoneCmdParamInteger activeCallCount; iViewCommandHandle->ExecuteCommandL( - EPhoneViewGetCountOfActiveCalls, &activeCallCount ); - + EPhoneViewGetCountOfActiveCalls, &activeCallCount ); if( activeCallCount.Integer() ) { CheckIfRestoreNEContentAfterDtmfDialer(); - if ( IsNumberEntryUsedL() ) { // Show the number entry if it exists SetNumberEntryVisibilityL(ETrue); - } - else - { - // Set incall CBAs - UpdateCbaL( EPhoneCallHandlingInCallCBA ); - } - + } + else + { + // Set incall CBAs + UpdateCbaL( EPhoneCallHandlingInCallCBA ); + } SetTouchPaneButtons( EPhoneIncallButtons ); // UnCapture keys callsetup fails CaptureKeysDuringCallNotificationL( EFalse ); // Setup call was terminated - iStateMachine->ChangeState( EPhoneStateSingle ); + iStateMachine->ChangeState( EPhoneStateSingle ); } else { - // Display call termination note, if necessary - DisplayCallTerminationNoteL(); - + // Display call termination note, if necessary + DisplayCallTerminationNoteL(); // Single call was terminated SetTouchPaneButtons( EPhoneCallSetupButtons ); SetToolbarDimming( ETrue ); - SetToolbarButtonLoudspeakerEnabled(); + SetToolbarButtonLoudspeakerEnabled(); // Update call setup CBAs UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); - iStateMachine->ChangeState( EPhoneStateCallSetup ); + iStateMachine->ChangeState( EPhoneStateCallSetup ); } - EndUiUpdate(); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -120,18 +120,17 @@ { // send-key case EKeyYes: - if( IsNumberEntryVisibleL() ) - { - CPhoneState::CallFromNumberEntryL(); - } - else - { - // Number entry is behind waiting call bubble - // We can't answer to waiting call in this state - // so display Not allowed -note. - CPhoneState::SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); - } + if( IsNumberEntryVisibleL() ) + { + CPhoneState::CallFromNumberEntryL(); + } + else + { + // Number entry is behind waiting call bubble + // We can't answer to waiting call in this state + // so display Not allowed -note. + CPhoneState::SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + } break; // end-key @@ -174,7 +173,7 @@ else { // handle end key - DisconnectOutgoingCallL(); + DisconnectOutgoingCallL(); } break; @@ -597,7 +596,7 @@ // CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL // ----------------------------------------------------------- // -void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL( TInt aCallId ) +void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL( TInt /*aCallId*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL()"); @@ -618,7 +617,7 @@ // CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL // ----------------------------------------------------------- // -void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL( TInt aCallId ) +void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL( TInt /*aCallId*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL()"); diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -149,7 +149,7 @@ break; case MEngineMonitor::EPEMessageDialing: - HandleDiallingL( aCallId ); + HandleDialingL( aCallId ); break; case MEngineMonitor::EPEMessageDisconnecting: @@ -434,7 +434,6 @@ // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); - // Idle message came for waiting call if ( IsNumberEntryUsedL() ) { @@ -442,9 +441,7 @@ { // Return phone to the background if send to background is needed. iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - UpdateCbaL( EPhoneCallHandlingInCallCBA ); } else @@ -465,13 +462,21 @@ } } + if ( IsVideoCall( iSingleCallId ) ) + { + TPhoneCmdParamInteger uidParam; + uidParam.SetInteger( KVtUiAppUidValue.iUid ); + + // Set video Phone as the top application + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication, + &uidParam ); + } + SetTouchPaneButtons( EPhoneIncallButtons ); EndUiUpdate(); - // CBA updates in above if-else conditions iStateMachine->ChangeState( EPhoneStateSingle ); } - } // ----------------------------------------------------------- @@ -578,9 +583,7 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::MakeStateTransitionToTwoSinglesL() "); - BeginUiUpdateLC(); - UpdateRemoteInfoDataL ( aCallId ); // Show bubble TPhoneCmdParamCallHeaderData callHeaderParam; @@ -606,19 +609,16 @@ if ( IsNumberEntryUsedL() && NeedToReturnToForegroundAppL() ) { iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility ); - UpdateCbaL( EPhoneCallHandlingInCallCBA ); } else { - // Set Two singles softkeys + // Set Two singles state softkeys UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA ); } - + SetTouchPaneButtons( EPhoneTwoSinglesButtons ); EndUiUpdate(); - - // Go to two singles state // CBA updates in above if-else conditions iStateMachine->ChangeState( EPhoneStateTwoSingles ); } @@ -649,63 +649,30 @@ } // ----------------------------------------------------------- -// CPhoneSingleAndWaiting::HandleDiallingL +// CPhoneSingleAndWaiting::HandleDialingL // ----------------------------------------------------------- // -void CPhoneSingleAndWaiting::HandleDiallingL( TInt aCallId ) +void CPhoneSingleAndWaiting::HandleDialingL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneSingleAndWaiting::HandleDiallingL() "); - - BeginUiUpdateLC(); - - // Hide number entry if it exists - SetNumberEntryVisibilityL(EFalse); - + "CPhoneSingleAndWaiting::HandleDialingL() "); // Display call setup DisplayCallSetupL( aCallId ); - - // Set Hold flag to view ( DTMF menu label have to present ) - TPhoneCmdParamBoolean holdFlag; - holdFlag.SetBoolean( EFalse ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); - - SetTouchPaneButtons( EPhoneCallSetupButtons ); - - EndUiUpdate(); - - // Update call setup CBAs - UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); - // Go to Single And Waiting And Call Setup state iStateMachine->ChangeState( EPhoneStateSingleAndCallSetupAndWaiting ); } // ----------------------------------------------------------- -// CPhoneSingleAndWaiting::DisplayCallSetupL +// CPhoneSingleAndWaiting::DoStateSpecificCallSetUpDefinitionsL // ----------------------------------------------------------- // -void CPhoneSingleAndWaiting::DisplayCallSetupL( TInt aCallId ) +EXPORT_C void CPhoneSingleAndWaiting::DoStateSpecificCallSetUpDefinitionsL() { - __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneSingleAndWaiting::DisplayCallSetupL() "); - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Remove dialogs if necessary - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); - - // Capture keys when the phone is dialling - CaptureKeysDuringCallNotificationL( ETrue ); - - // Force telephony to the foreground - TPhoneCmdParamInteger uidParam; - uidParam.SetInteger( KUidPhoneApplication.iUid ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, - &uidParam ); - - // Display call setup header - DisplayHeaderForOutgoingCallL( aCallId ); + // Set Hold flag to view ( DTMF menu label have to present ) + TPhoneCmdParamBoolean holdFlag; + holdFlag.SetBoolean( EFalse ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag ); + SetTouchPaneButtons( EPhoneCallSetupButtons ); } // ----------------------------------------------------------- @@ -744,7 +711,7 @@ // CPhoneSingleAndWaiting::HandleDisconnectingL // ----------------------------------------------------------- // -void CPhoneSingleAndWaiting::HandleDisconnectingL( TInt aCallId ) +void CPhoneSingleAndWaiting::HandleDisconnectingL( TInt /*aCallId*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::HandleDisconnectingL( ) "); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonesinglecall.cpp --- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -122,7 +122,6 @@ // Update phone number availability for menu use PhoneNumberAvailableInPhoneEngineL( callStateData.CallId() ); - } // ----------------------------------------------------------- @@ -229,7 +228,7 @@ break; case MEngineMonitor::EPEMessageDialing: - HandleDiallingL( aCallId ); + HandleDialingL( aCallId ); break; /* Flow through */ @@ -503,7 +502,9 @@ KPSUidScreenSaver, KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); - + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists @@ -519,7 +520,7 @@ AllowShowingOfWaitingCallHeaderL( dialerParam ); // Close fast swap window if it's displayed - CEikonEnv::Static()->DismissTaskList(); + EikonEnv()->DismissTaskList(); // Show incoming call buttons SetTouchPaneButtons( EPhoneWaitingCallButtons ); @@ -528,15 +529,13 @@ DisplayIncomingCallL( aCallId, dialerParam ); EndUiUpdate(); - + EndTransEffect(); // This query is required to dismiss // Operation cannot be completed in waiting and single state if ( iSwitchToVideoQuery ) { iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery ); } - - // Go to incoming state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); iStateMachine->ChangeState( EPhoneStateWaitingInSingle ); } @@ -547,7 +546,7 @@ // void CPhoneSingleCall::DisplayIncomingCallL( TInt aCallId, - const TPhoneCmdParamBoolean aCommandParam ) + const TPhoneCmdParamBoolean /*aCommandParam*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleCall::DisplayIncomingCallL()"); @@ -565,12 +564,8 @@ // Indicate that the Phone needs to be sent to the background if // an application other than the top application is in the foreground - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); - + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); + // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; uidParam.SetInteger( KUidPhoneApplication.iUid ); @@ -610,61 +605,31 @@ } // ----------------------------------------------------------- -// CPhoneSingleCall::HandleDiallingL +// CPhoneSingleCall::HandleDialingL // ----------------------------------------------------------- // -void CPhoneSingleCall::HandleDiallingL( TInt aCallId ) +void CPhoneSingleCall::HandleDialingL( TInt aCallId ) { __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneSingleCall::HandleDiallingL()"); + "CPhoneSingleCall::HandleDialingL()"); CPhonePubSubProxy::Instance()->ChangePropertyValue( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); - - BeginUiUpdateLC(); - - SetNumberEntryVisibilityL(EFalse); - - // Show incoming call buttons - SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons ); - // Display call setup DisplayCallSetupL( aCallId ); - - EndUiUpdate(); - - // Go to call setup state - UpdateCbaL( EPhoneCallHandlingCallSetupCBA ); iStateMachine->ChangeState( EPhoneStateCallSetupInSingle ); } - + // ----------------------------------------------------------- -// CPhoneSingleCall::DisplayCallSetupL +// CPhoneSingleCall::DoStateSpecificCallSetUpDefinitionsL // ----------------------------------------------------------- // -void CPhoneSingleCall::DisplayCallSetupL( TInt aCallId ) +EXPORT_C void CPhoneSingleCall::DoStateSpecificCallSetUpDefinitionsL() { - __LOGMETHODSTARTEND( EPhoneUIStates, - "CPhoneSingleCall::DisplayCallSetupL()"); - // Close menu bar, if it is displayed - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); - - // Remove dialogs if necessary - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); - - // Capture keys when the phone is dialling - CaptureKeysDuringCallNotificationL( ETrue ); - - // Force telephony to the foreground - TPhoneCmdParamInteger uidParam; - uidParam.SetInteger( KUidPhoneApplication.iUid ); - iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, - &uidParam ); - - // Display call setup header - DisplayHeaderForOutgoingCallL( aCallId ); + // Show incoming call buttons + SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons ); } // ----------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonestartup.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonestartupsimlockui.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp --- a/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -295,6 +295,10 @@ { __PHONELOGSTATECHANGE( iOldStateId, iNewStateId ); iOldStateId = iNewStateId; + + // Needs to be set or any attempts to access eikon env handle + // will fail + iState->SetEikonEnv( EikonEnv() ); } return iState; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonetwosingles.cpp --- a/phoneapp/phoneuistates/src/cphonetwosingles.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonetwosingles.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -401,6 +401,9 @@ KScreenSaverAllowScreenSaver, EPhoneScreensaverNotAllowed ); + IsNumberEntryUsedL() ? + BeginTransEffectLC( ECallUiAppear ) : + BeginTransEffectLC( ENumberEntryOpen ); BeginUiUpdateLC(); // Hide the number entry if it exists @@ -416,7 +419,7 @@ AllowShowingOfWaitingCallHeaderL( dialerParam ); // Close fast swap window if it's displayed - CEikonEnv::Static()->DismissTaskList(); + EikonEnv()->DismissTaskList(); // Display incoming call DisplayIncomingCallL( aCallId, dialerParam ); @@ -427,6 +430,7 @@ SetTouchPaneButtons( EPhoneWaitingCallButtons ); EndUiUpdate(); + EndTransEffect(); // Go to incoming state UpdateCbaL( EPhoneCallHandlingCallWaitingCBA ); @@ -439,7 +443,7 @@ // void CPhoneTwoSingles::DisplayIncomingCallL( TInt aCallId, - const TPhoneCmdParamBoolean aCommandParam ) + const TPhoneCmdParamBoolean /*aCommandParam*/ ) { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneTwoSingles::DisplayIncomingCallL()"); @@ -451,11 +455,7 @@ // Indicate that the Phone needs to be sent to the background if // an application other than the top application is in the foreground - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( !TopAppIsDisplayedL() ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); + SetNeedToReturnToForegroundAppStatusL( !TopAppIsDisplayedL() ); // Bring Phone app in the foreground TPhoneCmdParamInteger uidParam; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -217,27 +217,21 @@ { __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneTwoSinglesAndWaiting::HandleIdleL()"); - - BeginUiUpdateLC(); - + BeginUiUpdateLC(); if ( !IsNumberEntryUsedL() ) { - // Close menu bar, if number entry isnt open. - iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); } - - // Remove call iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId ); if ( iRingingCallId == aCallId ) { - StateTransitionToTwoSinglesL(); + StateTransitionToTwoSinglesL(); } else { StateTransitionToSingleAndWaitingL(); } - EndUiUpdate(); } @@ -349,12 +343,7 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId, &callHeaderParam ); - // Clear the flag - TPhoneCmdParamBoolean booleanParam; - booleanParam.SetBoolean( EFalse ); - iViewCommandHandle->ExecuteCommandL( - EPhoneViewSetNeedToReturnToForegroundAppStatus, - &booleanParam ); + SetNeedToReturnToForegroundAppStatusL( EFalse ); EndUiUpdate(); // Go to Conference And Waiting state diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuistates/src/cphoneuistatemachinefactorygsm.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/bwins/phoneuiutilsu.def --- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def Thu Sep 09 18:09:57 2010 +0100 @@ -328,4 +328,5 @@ ?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 327 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack) ?ContactMatcher@TPhoneCmdParamReconnectQuery@@QBEPAVCPhCntMatcher@@XZ @ 328 NONAME ; class CPhCntMatcher * TPhoneCmdParamReconnectQuery::ContactMatcher(void) const ?ConvertToNumeric@CPhoneQwertyHandler@@QAEHAAUTKeyEvent@@@Z @ 329 NONAME ; int CPhoneQwertyHandler::ConvertToNumeric(struct TKeyEvent &) + ?DoVanityNumberConversion@PhoneVanityDialingUtils@@SAXAAVTDes16@@@Z @ 330 NONAME ; void PhoneVanityDialingUtils::DoVanityNumberConversion(class TDes16 &) diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/eabi/phoneuiutilsu.def --- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def Thu Sep 09 18:09:57 2010 +0100 @@ -420,4 +420,5 @@ _ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 419 NONAME _ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 420 NONAME _ZN19CPhoneQwertyHandler16ConvertToNumericER9TKeyEvent @ 421 NONAME + _ZN23PhoneVanityDialingUtils24DoVanityNumberConversionER6TDes16 @ 422 NONAME diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/group/phoneuiutils.mmp --- a/phoneapp/phoneuiutils/group/phoneuiutils.mmp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/group/phoneuiutils.mmp Thu Sep 09 18:09:57 2010 +0100 @@ -53,6 +53,7 @@ SOURCE phoneloggerviewcommands.cpp SOURCE phonestatestrings.cpp SOURCE phonestatestringsgsm.cpp +SOURCE phonevanitydialingutils.cpp SOURCE rphoneanimclearblacklist.cpp SOURCE tphonecmdparamappinfo.cpp SOURCE tphonecmdparamaudiooutput.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphonecenrepproxy.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphoneclearblacklist.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphonekeys.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphonelogger.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphoneqwertyhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphonerecoverysystem.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/cphoneresourceresolverbase.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/ctelerecoverysystem.inl diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phoneconstants.h --- a/phoneapp/phoneuiutils/inc/phoneconstants.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/inc/phoneconstants.h Thu Sep 09 18:09:57 2010 +0100 @@ -161,14 +161,18 @@ // Used in CPhoneKeys // The character to be used as the 'wait' character, by DTMF code. -const TUint KPhoneDtmfWaitCharacter = 'w'; +const TUint KPhoneDtmfWaitCharacter = 'w'; +const TUint KPhoneDtmfWaitCharacterUpper = 'W'; // The character to be used as the 'soft pause' character, by DTMF code. const TUint KPhoneDtmfPauseCharacter = 'p'; +const TUint KPhoneDtmfPauseCharacterUpper = 'P'; // The character to be used as the 'speed-dial' character, by DTMF code. const TUint KPhoneDtmfSpeedDialCharacter = '+'; +const TUint KPhoneDtmfPlusCharacter = 135; // Bluetooth SU-8W '+' + // The length of the speed dial prefix, used to prevent buffer overflow const TUint KPhoneDtmfSpeedDialPrefixLength = 1; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phonelogger.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h --- a/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h Thu Sep 09 18:09:57 2010 +0100 @@ -194,10 +194,10 @@ EPhoneViewPrivateFromConference, /** EPhoneViewSelectedConfMember */ EPhoneViewSelectedConfMember, + /** EPhoneViewGetConferenceListVisibleFlag */ + EPhoneViewGetConferenceListVisibleFlag, /** EPhoneViewOpenConferenceList */ EPhoneViewOpenConferenceList, - /** EPhoneViewGetConferenceListVisibleFlag */ - EPhoneViewGetConferenceListVisibleFlag, /** EPhoneViewGetCallState */ EPhoneViewGetCallState, /** EPhoneViewGetCallIdByState */ @@ -246,10 +246,6 @@ EPhoneViewSetBlockingDialogStatus, /** EPhoneViewSetPhoneNumberAvailableInPhoneEngine */ EPhoneViewSetPhoneNumberAvailableInPhoneEngine, - /** EPhoneViewSetSecurityMode */ - EPhoneViewSetSecurityMode, - /** EPhoneViewGetSecurityModeStatus */ - EPhoneViewGetSecurityModeStatus, /** EPhoneViewSetStatusPaneVisible */ EPhoneViewSetStatusPaneVisible, /** EPhoneViewEnableKeyLock */ @@ -366,12 +362,12 @@ EPhoneViewSetVideoCallDTMFVisibilityFlag, /** EPhoneViewLoadPlugins */ EPhoneViewLoadPlugins, - /** PhoneViewServiceSelection */ - PhoneViewServiceSelection, /** EPhoneViewOpenVirtualKeyBoard */ EPhoneViewOpenVirtualKeyBoard, /** EPhoneViewUpdateNoteSoftkeys */ EPhoneViewUpdateNoteSoftkeys, + /** EPhoneViewSendAiwCommand */ + EPhoneViewSendAiwCommand, /** EPhoneViewShowCustomizedDialer */ EPhoneViewShowCustomizedDialer, /** EPhoneViewHideCustomizedDialer */ @@ -380,6 +376,8 @@ EPhoneViewGetCustomizedDialerMenuResourceId, /** EPhoneViewGetCustomizedDialerCbaResourceId */ EPhoneViewGetCustomizedDialerCbaResourceId, + /** EPhoneViewCipheringInfoChangePlayTone */ + EPhoneViewCipheringInfoChangePlayTone, /** EPhoneViewCreatePhoneBookServices */ EPhoneViewCreatePhoneBookServices, /** EPhoneViewDisableKeyLockWithoutNote */ @@ -404,6 +402,8 @@ EPhoneViewAddContactByString, /** EPhoneViewIsActiveNoteDissmissableByKeyEvent */ EPhoneViewIsActiveNoteDissmissableByKeyEvent, + /** EPhoneViewUpdateContextMenu */ + EPhoneViewUpdateContextMenu, /** EPhoneViewSetNoConnectedCalls */ EPhoneViewSetNoConnectedCalls, /** EPhoneViewIsDTMFEditorVisible */ @@ -430,12 +430,18 @@ EPhoneViewGetNeedToReturnToForegroundAppStatus, /** EPhoneViewSetNeedToReturnToForegroundAppStatus */ EPhoneViewSetNeedToReturnToForegroundAppStatus, + /** EPhoneViewSetConferenceAndWaitingVideo */ + EPhoneViewSetConferenceAndWaitingVideo, + /** EPhoneViewLaunchMultimediaSharing */ + EPhoneViewLaunchMultimediaSharing, /** EPhoneViewGetQwertyModeObserver */ EPhoneViewGetQwertyModeObserver, /** EPhoneViewSetIncallBubbleTrue */ EPhoneViewSetIncallBubbleTrue, /** EPhoneViewSetIncallBubbleFalse */ EPhoneViewSetIncallBubbleFalse, + /** EPhoneViewIsDisplayingMenuOrDialog */ + EPhoneViewIsDisplayingMenuOrDialog, /** , // Don't remove this, this should always be the last in list. */ EPhoneAmountOfCommands }; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phonemediatorpackagetypes.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phonerssbase.h --- a/phoneapp/phoneuiutils/inc/phonerssbase.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/inc/phonerssbase.h Thu Sep 09 18:09:57 2010 +0100 @@ -138,8 +138,6 @@ EPhoneVideoCallIncoming, EPhoneVideoCallIncomingShort, - // "Muted" - EPhoneInCallMutedText, // "Call" EPhoneCall, // " Call %N" diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phonerssvoip.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/phonevanitydialingutils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiutils/inc/phonevanitydialingutils.h Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,44 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Helper class for converting vanity dialing numbers +* +*/ + + +#ifndef PHONEVANITYDIALINGUTILS_H +#define PHONEVANITYDIALINGUTILS_H + + +// INCLUDES +#include + + +// CLASS DECLARATION + +/** +* Defines helper function for vanity dialing number conversion +*/ +class PhoneVanityDialingUtils + { + public: + /** + * Converts vanity dialing number to normal phone number + * @param aDes Phone number to be converted + */ + IMPORT_C static void DoVanityNumberConversion( TDes& aDes ); + }; + + +#endif //PHONEVANITYDIALINGUTILS_H diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamcallheaderdata.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamincallindicatordata.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamquery.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamspeeddial.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h --- a/phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h Thu Sep 09 18:09:57 2010 +0100 @@ -37,6 +37,8 @@ enum TPhoneTransEffectType { EPhoneTransEffectNone, + EPhoneTransEffectCallUiAppear, + EPhoneTransEffectCallUiDisappear, // These 3 effect types can be used only when dialer is // opened/closed when some other app than phone is visible // on the foreground/in the background. diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/inc/tphonecommandparam.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphoneLogger.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonecallthememonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonecenrepeventhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphoneclearblacklist.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonekeys.cpp --- a/phoneapp/phoneuiutils/src/cphonekeys.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/src/cphonekeys.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -86,9 +86,13 @@ case KPhoneDtmfHashCharacter: // Hash case KPhoneDtmfStarCharacter: // Asterisk // the following key can be got via taps of * - case KPhoneDtmfSpeedDialCharacter: // Plus - case KPhoneDtmfPauseCharacter: // DTMF Soft-Pause character - case KPhoneDtmfWaitCharacter: // DTMF Wait character + case KPhoneDtmfSpeedDialCharacter: // Plus + case KPhoneDtmfPlusCharacter: // SU-8W Plus + + case KPhoneDtmfPauseCharacterUpper: // DTMF Soft-Pause character 'P' + case KPhoneDtmfWaitCharacterUpper: // DTMF Wait character 'W' + case KPhoneDtmfPauseCharacter: // DTMF Soft-Pause character 'p' + case KPhoneDtmfWaitCharacter: // DTMF Wait character 'w' result = ETrue; break; default: diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonemainerrormessageshandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonemainresourceresolver.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonerecoverysystem.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp --- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -47,7 +47,7 @@ // ----------------------------------------------------------------------------- // EXPORT_C CPhoneResourceResolverBase::CPhoneResourceResolverBase(): - iEnv( *CEikonEnv::Static() ) + iEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic { if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) ) { @@ -1080,10 +1080,6 @@ retVal = R_PHONE_DISCONNECTING_NETWORK_WAIT_NOTE; break; - case EPhoneInCallMutedText: - retVal = R_PHONE_INCALL_MUTED_PANE; - break; - case EPhoneInCallNumberText: retVal = R_PHONEUI_INCALL_CALL_NUMBER; break; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/cphonetimer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/ctelerecoverysystem.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/ctelewaitingidle.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/generate.bat diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp --- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -106,8 +106,8 @@ _STLIT8(K80, "EPhoneViewRemoveFromConference"); _STLIT8(K81, "EPhoneViewPrivateFromConference"); _STLIT8(K82, "EPhoneViewSelectedConfMember"); -_STLIT8(K83, "EPhoneViewOpenConferenceList"); -_STLIT8(K84, "EPhoneViewGetConferenceListVisibleFlag"); +_STLIT8(K83, "EPhoneViewGetConferenceListVisibleFlag"); +_STLIT8(K84, "EPhoneViewOpenConferenceList"); _STLIT8(K85, "EPhoneViewGetCallState"); _STLIT8(K86, "EPhoneViewGetCallIdByState"); _STLIT8(K87, "EPhoneViewMoveHighLightInList"); @@ -132,85 +132,85 @@ _STLIT8(K106, "EPhoneViewSendMessage"); _STLIT8(K107, "EPhoneViewSetBlockingDialogStatus"); _STLIT8(K108, "EPhoneViewSetPhoneNumberAvailableInPhoneEngine"); -_STLIT8(K109, "EPhoneViewSetSecurityMode"); -_STLIT8(K110, "EPhoneViewGetSecurityModeStatus"); -_STLIT8(K111, "EPhoneViewSetStatusPaneVisible"); -_STLIT8(K112, "EPhoneViewEnableKeyLock"); -_STLIT8(K113, "EPhoneViewLaunchFaxModem"); -_STLIT8(K114, "EPhoneViewUpdateFSW"); -_STLIT8(K115, "EPhoneViewIsQuery"); -_STLIT8(K116, "EPhoneViewBringIdleToForeground"); -_STLIT8(K117, "EPhoneViewSetIdleTopApplication"); -_STLIT8(K118, "EPhoneViewBeginUpdate"); -_STLIT8(K119, "EPhoneViewEndUpdate"); -_STLIT8(K120, "EPhoneViewSetConfrenceOptionsFlag"); -_STLIT8(K121, "EPhoneViewRemoveConferenceBubble"); -_STLIT8(K122, "EPhoneViewGetSoftRejectWindowGroupId"); -_STLIT8(K123, "EPhoneViewSetTouchPaneButtons"); -_STLIT8(K124, "EPhoneViewSetTouchPaneVisible"); -_STLIT8(K125, "EPhoneViewEnableTouchButton"); -_STLIT8(K126, "EPhoneViewDisableTouchButton"); -_STLIT8(K127, "EPhoneResetTouchButtons"); -_STLIT8(K128, "EPhoneViewGetIsConferenceInSelectionMode"); -_STLIT8(K129, "EPhoneViewIsStraightCallToVideoMailBox"); -_STLIT8(K130, "EPhoneViewSetDtmfDialerViewVisible"); -_STLIT8(K131, "EPhoneViewSetRestrictedDialer"); -_STLIT8(K132, "EPhoneViewIsConferenceInExpandedMode"); -_STLIT8(K133, "EPhoneViewIsMenuBarVisible"); -_STLIT8(K134, "EPhoneViewGetBlockingDialogStatus"); -_STLIT8(K135, "EPhoneViewYesSingleItemFetch"); -_STLIT8(K136, "EPhoneViewNoSingleItemFetch"); -_STLIT8(K137, "EPhoneViewGetLocalizedNumberFromEntry"); -_STLIT8(K138, "EPhoneViewIsNoteActive"); -_STLIT8(K139, "EPhoneViewOpenNumberEntry"); -_STLIT8(K140, "EPhoneViewOpenCallHandling"); -_STLIT8(K141, "EPhoneViewGetConferenceAndSingleFlag"); -_STLIT8(K142, "EPhoneViewSetConferenceAndSingleFlag"); -_STLIT8(K143, "EPhoneViewSetVideoCallFlag"); -_STLIT8(K144, "EPhoneViewSetDtmfOptionsFlag"); -_STLIT8(K145, "EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery"); -_STLIT8(K146, "EPhoneViewGetAudioVolumeLevel"); -_STLIT8(K147, "EPhoneViewIsIdleTopApp"); -_STLIT8(K148, "EPhoneViewUpdateToolbar"); -_STLIT8(K149, "EPhoneViewSetControlAndVisibility"); -_STLIT8(K150, "EPhoneViewAllowWaitingCallHeader"); -_STLIT8(K151, "EPhoneViewBeginTransEffect"); -_STLIT8(K152, "EPhoneViewEndTransEffect"); -_STLIT8(K153, "EPhoneViewSetDialerControlVisible"); -_STLIT8(K154, "EPhoneViewCloseSingleItemFetchDialog"); -_STLIT8(K155, "EPhoneViewGetActivatePreviousApp"); -_STLIT8(K156, "EPhoneViewActivatePreviousApp"); -_STLIT8(K157, "EPhoneViewSetPointerCapture"); -_STLIT8(K158, "EPhoneViewSetSendKeyDialerActivationFlag"); -_STLIT8(K159, "EPhoneViewPrepareIcons"); -_STLIT8(K160, "EPhoneViewKeypadAudioEnabled"); -_STLIT8(K161, "EPhoneViewKeypadAudioDisabled"); -_STLIT8(K162, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel"); -_STLIT8(K163, "EPhoneViewRemoveDtmfNote"); -_STLIT8(K164, "EPhoneViewUpdatePhoneIconToFSW"); -_STLIT8(K165, "EPhoneViewSetEikonNotifiersDisabled"); -_STLIT8(K166, "EPhoneViewCancelAllNotications"); -_STLIT8(K167, "EPhoneViewSetVideoCallDTMFVisibilityFlag"); -_STLIT8(K168, "EPhoneViewLoadPlugins"); -_STLIT8(K169, "PhoneViewServiceSelection"); -_STLIT8(K170, "EPhoneViewOpenVirtualKeyBoard"); -_STLIT8(K171, "EPhoneViewUpdateNoteSoftkeys"); -_STLIT8(K172, "EPhoneViewShowCustomizedDialer"); -_STLIT8(K173, "EPhoneViewHideCustomizedDialer"); -_STLIT8(K174, "EPhoneViewGetCustomizedDialerMenuResourceId"); -_STLIT8(K175, "EPhoneViewGetCustomizedDialerCbaResourceId"); -_STLIT8(K176, "EPhoneViewCreatePhoneBookServices"); -_STLIT8(K177, "EPhoneViewDisableKeyLockWithoutNote"); -_STLIT8(K178, "EPhoneViewGetKeyLockStatus"); -_STLIT8(K179, "EPhoneViewSetNumberEntryObserver"); -_STLIT8(K180, "EPhoneViewGetSingleItemFetchType"); -_STLIT8(K181, "EPhoneViewRemoveGlobalWaitNote"); -_STLIT8(K182, "EPhoneViewSetPhoneCustomization"); -_STLIT8(K183, "EPhoneViewSetViewCustomization"); -_STLIT8(K184, "EPhoneViewSetButtonCustomization"); -_STLIT8(K185, "EPhoneViewUpdateContactByString"); -_STLIT8(K186, "EPhoneViewAddContactByString"); -_STLIT8(K187, "EPhoneViewIsActiveNoteDissmissableByKeyEvent"); +_STLIT8(K109, "EPhoneViewSetStatusPaneVisible"); +_STLIT8(K110, "EPhoneViewEnableKeyLock"); +_STLIT8(K111, "EPhoneViewLaunchFaxModem"); +_STLIT8(K112, "EPhoneViewUpdateFSW"); +_STLIT8(K113, "EPhoneViewIsQuery"); +_STLIT8(K114, "EPhoneViewBringIdleToForeground"); +_STLIT8(K115, "EPhoneViewSetIdleTopApplication"); +_STLIT8(K116, "EPhoneViewBeginUpdate"); +_STLIT8(K117, "EPhoneViewEndUpdate"); +_STLIT8(K118, "EPhoneViewSetConfrenceOptionsFlag"); +_STLIT8(K119, "EPhoneViewRemoveConferenceBubble"); +_STLIT8(K120, "EPhoneViewGetSoftRejectWindowGroupId"); +_STLIT8(K121, "EPhoneViewSetTouchPaneButtons"); +_STLIT8(K122, "EPhoneViewSetTouchPaneVisible"); +_STLIT8(K123, "EPhoneViewEnableTouchButton"); +_STLIT8(K124, "EPhoneViewDisableTouchButton"); +_STLIT8(K125, "EPhoneResetTouchButtons"); +_STLIT8(K126, "EPhoneViewGetIsConferenceInSelectionMode"); +_STLIT8(K127, "EPhoneViewIsStraightCallToVideoMailBox"); +_STLIT8(K128, "EPhoneViewSetDtmfDialerViewVisible"); +_STLIT8(K129, "EPhoneViewSetRestrictedDialer"); +_STLIT8(K130, "EPhoneViewIsConferenceInExpandedMode"); +_STLIT8(K131, "EPhoneViewIsMenuBarVisible"); +_STLIT8(K132, "EPhoneViewGetBlockingDialogStatus"); +_STLIT8(K133, "EPhoneViewYesSingleItemFetch"); +_STLIT8(K134, "EPhoneViewNoSingleItemFetch"); +_STLIT8(K135, "EPhoneViewGetLocalizedNumberFromEntry"); +_STLIT8(K136, "EPhoneViewIsNoteActive"); +_STLIT8(K137, "EPhoneViewOpenNumberEntry"); +_STLIT8(K138, "EPhoneViewOpenCallHandling"); +_STLIT8(K139, "EPhoneViewGetConferenceAndSingleFlag"); +_STLIT8(K140, "EPhoneViewSetConferenceAndSingleFlag"); +_STLIT8(K141, "EPhoneViewSetVideoCallFlag"); +_STLIT8(K142, "EPhoneViewSetDtmfOptionsFlag"); +_STLIT8(K143, "EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery"); +_STLIT8(K144, "EPhoneViewGetAudioVolumeLevel"); +_STLIT8(K145, "EPhoneViewIsIdleTopApp"); +_STLIT8(K146, "EPhoneViewUpdateToolbar"); +_STLIT8(K147, "EPhoneViewSetControlAndVisibility"); +_STLIT8(K148, "EPhoneViewAllowWaitingCallHeader"); +_STLIT8(K149, "EPhoneViewBeginTransEffect"); +_STLIT8(K150, "EPhoneViewEndTransEffect"); +_STLIT8(K151, "EPhoneViewSetDialerControlVisible"); +_STLIT8(K152, "EPhoneViewCloseSingleItemFetchDialog"); +_STLIT8(K153, "EPhoneViewGetActivatePreviousApp"); +_STLIT8(K154, "EPhoneViewActivatePreviousApp"); +_STLIT8(K155, "EPhoneViewSetPointerCapture"); +_STLIT8(K156, "EPhoneViewSetSendKeyDialerActivationFlag"); +_STLIT8(K157, "EPhoneViewPrepareIcons"); +_STLIT8(K158, "EPhoneViewKeypadAudioEnabled"); +_STLIT8(K159, "EPhoneViewKeypadAudioDisabled"); +_STLIT8(K160, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel"); +_STLIT8(K161, "EPhoneViewRemoveDtmfNote"); +_STLIT8(K162, "EPhoneViewUpdatePhoneIconToFSW"); +_STLIT8(K163, "EPhoneViewSetEikonNotifiersDisabled"); +_STLIT8(K164, "EPhoneViewCancelAllNotications"); +_STLIT8(K165, "EPhoneViewSetVideoCallDTMFVisibilityFlag"); +_STLIT8(K166, "EPhoneViewLoadPlugins"); +_STLIT8(K167, "EPhoneViewOpenVirtualKeyBoard"); +_STLIT8(K168, "EPhoneViewUpdateNoteSoftkeys"); +_STLIT8(K169, "EPhoneViewSendAiwCommand"); +_STLIT8(K170, "EPhoneViewShowCustomizedDialer"); +_STLIT8(K171, "EPhoneViewHideCustomizedDialer"); +_STLIT8(K172, "EPhoneViewGetCustomizedDialerMenuResourceId"); +_STLIT8(K173, "EPhoneViewGetCustomizedDialerCbaResourceId"); +_STLIT8(K174, "EPhoneViewCipheringInfoChangePlayTone"); +_STLIT8(K175, "EPhoneViewCreatePhoneBookServices"); +_STLIT8(K176, "EPhoneViewDisableKeyLockWithoutNote"); +_STLIT8(K177, "EPhoneViewGetKeyLockStatus"); +_STLIT8(K178, "EPhoneViewSetNumberEntryObserver"); +_STLIT8(K179, "EPhoneViewGetSingleItemFetchType"); +_STLIT8(K180, "EPhoneViewRemoveGlobalWaitNote"); +_STLIT8(K181, "EPhoneViewSetPhoneCustomization"); +_STLIT8(K182, "EPhoneViewSetViewCustomization"); +_STLIT8(K183, "EPhoneViewSetButtonCustomization"); +_STLIT8(K184, "EPhoneViewUpdateContactByString"); +_STLIT8(K185, "EPhoneViewAddContactByString"); +_STLIT8(K186, "EPhoneViewIsActiveNoteDissmissableByKeyEvent"); +_STLIT8(K187, "EPhoneViewUpdateContextMenu"); _STLIT8(K188, "EPhoneViewSetNoConnectedCalls"); _STLIT8(K189, "EPhoneViewIsDTMFEditorVisible"); _STLIT8(K190, "EPhoneViewSetToolbarDimming"); @@ -224,10 +224,13 @@ _STLIT8(K198, "EPhoneViewGetEasyDialingCbaId"); _STLIT8(K199, "EPhoneViewGetNeedToReturnToForegroundAppStatus"); _STLIT8(K200, "EPhoneViewSetNeedToReturnToForegroundAppStatus"); -_STLIT8(K201, "EPhoneViewGetQwertyModeObserver"); -_STLIT8(K202, "EPhoneViewSetIncallBubbleTrue"); -_STLIT8(K203, "EPhoneViewSetIncallBubbleFalse"); -_STLIT8(K204, ", // Don't remove this, this should always be the last in list."); +_STLIT8(K201, "EPhoneViewSetConferenceAndWaitingVideo"); +_STLIT8(K202, "EPhoneViewLaunchMultimediaSharing"); +_STLIT8(K203, "EPhoneViewGetQwertyModeObserver"); +_STLIT8(K204, "EPhoneViewSetIncallBubbleTrue"); +_STLIT8(K205, "EPhoneViewSetIncallBubbleFalse"); +_STLIT8(K206, "EPhoneViewIsDisplayingMenuOrDialog"); +_STLIT8(K207, ", // Don't remove this, this should always be the last in list."); // Intermediate const void * const KStringPointers[] = @@ -435,8 +438,11 @@ (const void*)&K201, (const void*)&K202, (const void*)&K203, - (const void*)&K204 + (const void*)&K204, + (const void*)&K205, + (const void*)&K206, + (const void*)&K207 }; -const TStringTable PhoneLoggerviewCommands::Table = {204, KStringPointers, EFalse}; +const TStringTable PhoneLoggerviewCommands::Table = {207, KStringPointers, EFalse}; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/phoneloggerviewcommands.st --- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st Thu Sep 09 18:09:57 2010 +0100 @@ -82,8 +82,8 @@ EPhoneViewRemoveFromConference EPhoneViewRemoveFromConference EPhoneViewPrivateFromConference EPhoneViewPrivateFromConference EPhoneViewSelectedConfMember EPhoneViewSelectedConfMember +EPhoneViewGetConferenceListVisibleFlag EPhoneViewGetConferenceListVisibleFlag EPhoneViewOpenConferenceList EPhoneViewOpenConferenceList -EPhoneViewGetConferenceListVisibleFlag EPhoneViewGetConferenceListVisibleFlag EPhoneViewGetCallState EPhoneViewGetCallState EPhoneViewGetCallIdByState EPhoneViewGetCallIdByState EPhoneViewMoveHighLightInList EPhoneViewMoveHighLightInList @@ -108,8 +108,6 @@ EPhoneViewSendMessage EPhoneViewSendMessage EPhoneViewSetBlockingDialogStatus EPhoneViewSetBlockingDialogStatus EPhoneViewSetPhoneNumberAvailableInPhoneEngine EPhoneViewSetPhoneNumberAvailableInPhoneEngine -EPhoneViewSetSecurityMode EPhoneViewSetSecurityMode -EPhoneViewGetSecurityModeStatus EPhoneViewGetSecurityModeStatus EPhoneViewSetStatusPaneVisible EPhoneViewSetStatusPaneVisible EPhoneViewEnableKeyLock EPhoneViewEnableKeyLock EPhoneViewLaunchFaxModem EPhoneViewLaunchFaxModem @@ -168,13 +166,14 @@ EPhoneViewCancelAllNotications EPhoneViewCancelAllNotications EPhoneViewSetVideoCallDTMFVisibilityFlag EPhoneViewSetVideoCallDTMFVisibilityFlag EPhoneViewLoadPlugins EPhoneViewLoadPlugins -PhoneViewServiceSelection PhoneViewServiceSelection EPhoneViewOpenVirtualKeyBoard EPhoneViewOpenVirtualKeyBoard EPhoneViewUpdateNoteSoftkeys EPhoneViewUpdateNoteSoftkeys +EPhoneViewSendAiwCommand EPhoneViewSendAiwCommand EPhoneViewShowCustomizedDialer EPhoneViewShowCustomizedDialer EPhoneViewHideCustomizedDialer EPhoneViewHideCustomizedDialer EPhoneViewGetCustomizedDialerMenuResourceId EPhoneViewGetCustomizedDialerMenuResourceId EPhoneViewGetCustomizedDialerCbaResourceId EPhoneViewGetCustomizedDialerCbaResourceId +EPhoneViewCipheringInfoChangePlayTone EPhoneViewCipheringInfoChangePlayTone EPhoneViewCreatePhoneBookServices EPhoneViewCreatePhoneBookServices EPhoneViewDisableKeyLockWithoutNote EPhoneViewDisableKeyLockWithoutNote EPhoneViewGetKeyLockStatus EPhoneViewGetKeyLockStatus @@ -187,6 +186,7 @@ EPhoneViewUpdateContactByString EPhoneViewUpdateContactByString EPhoneViewAddContactByString EPhoneViewAddContactByString EPhoneViewIsActiveNoteDissmissableByKeyEvent EPhoneViewIsActiveNoteDissmissableByKeyEvent +EPhoneViewUpdateContextMenu EPhoneViewUpdateContextMenu EPhoneViewSetNoConnectedCalls EPhoneViewSetNoConnectedCalls EPhoneViewIsDTMFEditorVisible EPhoneViewIsDTMFEditorVisible EPhoneViewSetToolbarDimming EPhoneViewSetToolbarDimming @@ -200,7 +200,10 @@ EPhoneViewGetEasyDialingCbaId EPhoneViewGetEasyDialingCbaId EPhoneViewGetNeedToReturnToForegroundAppStatus EPhoneViewGetNeedToReturnToForegroundAppStatus EPhoneViewSetNeedToReturnToForegroundAppStatus EPhoneViewSetNeedToReturnToForegroundAppStatus +EPhoneViewSetConferenceAndWaitingVideo EPhoneViewSetConferenceAndWaitingVideo +EPhoneViewLaunchMultimediaSharing EPhoneViewLaunchMultimediaSharing EPhoneViewGetQwertyModeObserver EPhoneViewGetQwertyModeObserver EPhoneViewSetIncallBubbleTrue EPhoneViewSetIncallBubbleTrue EPhoneViewSetIncallBubbleFalse EPhoneViewSetIncallBubbleFalse +EPhoneViewIsDisplayingMenuOrDialog EPhoneViewIsDisplayingMenuOrDialog EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list. diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/phonevanitydialingutils.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiutils/src/phonevanitydialingutils.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,163 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Helper class for converting vanity dialing numbers +* +*/ + +// INCLUDE FILES +#include "phonevanitydialingutils.h" + +// CONSTANTS +const TInt KCharA = 'A'; +const TInt KCharB = 'B'; +const TInt KCharC = 'C'; +const TInt KCharD = 'D'; +const TInt KCharE = 'E'; +const TInt KCharF = 'F'; +const TInt KCharG = 'G'; +const TInt KCharH = 'H'; +const TInt KCharI = 'I'; +const TInt KCharJ = 'J'; +const TInt KCharK = 'K'; +const TInt KCharL = 'L'; +const TInt KCharM = 'M'; +const TInt KCharN = 'N'; +const TInt KCharO = 'O'; +const TInt KCharP = 'P'; +const TInt KCharQ = 'Q'; +const TInt KCharR = 'R'; +const TInt KCharS = 'S'; +const TInt KCharT = 'T'; +const TInt KCharU = 'U'; +const TInt KCharV = 'V'; +const TInt KCharW = 'W'; +const TInt KCharX = 'X'; +const TInt KCharY = 'Y'; +const TInt KCharZ = 'Z'; + +const TInt KChar2 = '2'; +const TInt KChar3 = '3'; +const TInt KChar4 = '4'; +const TInt KChar5 = '5'; +const TInt KChar6 = '6'; +const TInt KChar7 = '7'; +const TInt KChar8 = '8'; +const TInt KChar9 = '9'; + +_LIT( KPhoneVanityValidFirstChars, "0123456789+" ); +_LIT( KPhoneVanityValidChars, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*#+pw" ); + +// --------------------------------------------------------- +// CouldBeVanityNumber +// +// Vanity dialing numbers start with a number, and after that they +// contain only upper case letters (A-Z) and numbers +// for example: 555PIZZA, +3583ONE2THREE +// --------------------------------------------------------- +// +TBool CouldBeVanityNumber( TDesC& aDes ) + { + if ( !aDes.Length() ) + { + return EFalse; + } + + TBool possibleVanityNumber = ETrue; + + // check first character + TPtrC validFirstChar( KPhoneVanityValidFirstChars ); + if ( validFirstChar.Locate( aDes[0] ) == KErrNotFound ) + { + possibleVanityNumber = EFalse; + } + + // check rest of the string + TInt i = 1; + TPtrC validChar( KPhoneVanityValidChars ); + while ( possibleVanityNumber && i < aDes.Length() ) + { + if ( validChar.Locate( aDes[i] ) == KErrNotFound ) + { + possibleVanityNumber = EFalse; + } + i++; + } + + return possibleVanityNumber; + } + +// --------------------------------------------------------- +// PhoneVanityDialingUtils::DoVanityNumberConversion +// +// --------------------------------------------------------- +// +EXPORT_C void PhoneVanityDialingUtils::DoVanityNumberConversion( TDes& aDes ) + { + if ( CouldBeVanityNumber( aDes ) ) + { + for ( TInt i = 0; i < aDes.Length(); i++ ) + { + switch ( aDes[i] ) + { + case KCharA: + case KCharB: + case KCharC: + aDes[i] = KChar2; + break; + case KCharD: + case KCharE: + case KCharF: + aDes[i] = KChar3; + break; + case KCharG: + case KCharH: + case KCharI: + aDes[i] = KChar4; + break; + case KCharJ: + case KCharK: + case KCharL: + aDes[i] = KChar5; + break; + case KCharM: + case KCharN: + case KCharO: + aDes[i] = KChar6; + break; + case KCharP: + case KCharQ: + case KCharR: + case KCharS: + aDes[i] = KChar7; + break; + case KCharT: + case KCharU: + case KCharV: + aDes[i] = KChar8; + break; + case KCharW: + case KCharX: + case KCharY: + case KCharZ: + aDes[i] = KChar9; + break; + default: + break; + } + } + } + } + +// End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp --- a/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -44,6 +44,7 @@ iThumbnail( NULL ), iCallerText( KNullDesC ), iParticipantListCLI( EPhoneParticipantCLIText ), + iHasThumbnail( EFalse ), iCipheringIndicatorAllowed( ETrue ), iContactLink( KNullDesC8 ), iRemotePhoneNumber( KNullDesC ) diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamkeycapture.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparammessageeditor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamnote.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamprogressnote.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamquery.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamreconnectquery.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamsingleitemfetch.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamspeeddial.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamstring.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecmdparamtranseffect.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonecommandparam.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiutils/src/tphonetouchbuttonconfig.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/bwins/phoneuiviewu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/eabi/phoneuiviewu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/group/phoneuiview.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphoneaudiocontroller.h --- a/phoneapp/phoneuiview/inc/cphoneaudiocontroller.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/cphoneaudiocontroller.h Thu Sep 09 18:09:57 2010 +0100 @@ -73,13 +73,7 @@ * @param aCommandParam command parameter */ void HandleIhfChange( TPhoneCommandParam* aCommandParam ); - - /** - * Update control using the specified data - * @param aCommandParam command parameter - */ - void HandleMuteChange( TPhoneCommandParam* aCommandParam ); - + /** * Gets volume level from navi pane control. * @return Volume level. @@ -133,14 +127,6 @@ void PushL(CAknNavigationDecorator& aNew); /** - * Callback function. Called when navi pane should be updated - * back to default. - * @param aAny pointer to instance of this class. - * @return KErrNone always. - */ - static TInt DoUpdateNaviPaneToDefault( TAny* aAny ); - - /** * Get current volume decorator (Ihf or Ear) * @return Current volume decorator */ @@ -157,12 +143,6 @@ * @return Current Ihf or Ear volume level */ TInt VolumeLevel(); - - /** - * Select decorator based on current audio status - * @return Selected decorator (Ihf, Ear or Muted). - */ - CAknNavigationDecorator& SelectDecoratorL(); /** * Set volume level for given volume control @@ -189,9 +169,6 @@ // ETrue IHF is active TBool iIhfMode; - - // ETrue if transfer to or from IHF pending - TBool iIhfTransferPending; // Owned non-IHF volume control. CAknNavigationDecorator* iEarVolumeControl; @@ -199,20 +176,9 @@ // Non-IHF volume, from 1 to 10 TInt iEarVolume; - // Owned muted indicator - CAknNavigationDecorator* iMutedControl; - - // ETrue phone is muted - TBool iMuted; - - // ETrue if timed control transfer to muted is pending - TBool iTimedMuteTransferPending; - // Pointer the current control that is in navi pane CAknNavigationDecorator* iOldControl; - - // Owned timer to update navi pane - CPhoneTimer* iNaviPaneUpdateTimer; + /** * ETrue if Telephony is the foreground application, diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonebuttonscontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonedialercontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonedialerview.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphoneincallindicator.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonemenucontroller.h --- a/phoneapp/phoneuiview/inc/cphonemenucontroller.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/cphonemenucontroller.h Thu Sep 09 18:09:57 2010 +0100 @@ -112,6 +112,8 @@ void SetAllowDtmfOptionsFlag( TBool aAllowDtmfOptions ); void SetVoipEnabledFlag( TPhoneCommandParam* aCommandParam ); + + void SetHideVoipCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility ); void SetHideVideoCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility ); @@ -159,6 +161,8 @@ void ShowTaskSwapper( TInt aResourceId ) const; TBool IsSwivelClosed() const; + + TBool IsQwertyMode() const; private: CEikMenuBar* iMenu; @@ -190,6 +194,7 @@ TBool iAllowDtmfOptionsFlag; TBool iVoipEnabledFlag; TBool iHideVideoCallDTMFVisibility; + TBool iHideVoipCallDTMFVisibility; TBool iInvalidCsPhoneNumber; TBool iSecurityMode; // Eikon environment delivered from CPhoneViewController diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonenote.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonenotecontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphoneringingtoneplayerao.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h --- a/phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h Thu Sep 09 18:09:57 2010 +0100 @@ -67,13 +67,41 @@ * Disables toolbar */ void HideToolbar(); - + + /** + * Sets mute flag. + * @param aCommandParam command parameter + */ void SetMuteFlag( TPhoneCommandParam* aCommandParam ); + /** + * Sets integrated handsfree in use -flag. + * @param aCommandParam command parameter + */ void SetIhfFlag( TPhoneCommandParam* aCommandParam ); - + + /** + * Sets wired accessory in use -flag. + * @param aCommandParam command parameter + */ void SetWiredAccFlag( TPhoneCommandParam* aCommandParam ); - + + /** + * Sets Bluetooth accessory in use -flag. + * @param aCommandParam command parameter + */ + void SetBTAccFlag( TPhoneCommandParam* aCommandParam ); + + /** + * Sets Bluetooth accessory is available -flag. + * @param aCommandParam command parameter + */ + void SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam ); + + /** + * Sets call is in progress state -flag. + * @param aCommandParam command parameter + */ void SetCallInProgressFlag( TPhoneCommandParam* aCommandParam ); /** @@ -171,13 +199,23 @@ * CoeEnv */ CCoeEnv& iCoeEnv; - + + // Muted or not TBool iMuteFlag; + // Integrated handsfree in use or not TBool iIhfFlag; + // Wired accessory in use or not TBool iWiredAccFlag; + // Bluetooth accessory in use or not + TBool iBTAccFlag; + + // Bluetooth accessory is available or not + TBool iBTAccAvailableFlag; + + // A call is progressing or not TBool iCallInProgress; // Dim activate IHF button diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphoneview.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/cphoneviewcontroller.h --- a/phoneapp/phoneuiview/inc/cphoneviewcontroller.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/cphoneviewcontroller.h Thu Sep 09 18:09:57 2010 +0100 @@ -260,31 +260,31 @@ * From base class MNumberEntryObserver * Indication that numberentry state changed */ - void NumberEntryStateChanged( TBool aEntryHasText ); + void NumberEntryStateChanged( TBool aEntryHasText ); // From MPhoneSecurityModeChangeObserver - IMPORT_C void HandleSecurityModeChanged( TBool aIsEnabled ); - - /** + IMPORT_C void HandleSecurityModeChanged( TBool aIsEnabled ); + + /** * Sets incall small bubble´s visibility in special cases. - */ - void AllowInCallBubbleInSpecialCases(); - - /** + */ + void AllowInCallBubbleInSpecialCases(); + + /** * Sets value for incall bubble visibility. - */ - void SetIncallBubbleVisibility( TBool aIncallBubbleVisible ); + */ + void SetIncallBubbleVisibility( TBool aIncallBubbleVisible ); private: // New functions - /** - * Set security mode - * - * @param aMode ETrue if mode should be set enabled. - */ - void SetSecurityMode( TBool aMode ); - + /** + * Set security mode + * + * @param aMode ETrue if mode should be set enabled. + */ + void SetSecurityMode( TBool aMode ); + /** * read IdleApplicationUid from PubSub */ @@ -295,7 +295,7 @@ * background after being brought to the foreground using * BringToForeground() */ - TBool GetNeedToReturnToForegroundAppAfterCall() const; + TBool GetNeedToReturnToForegroundAppAfterCallL(); /** * Gets the blocking dialogs status @@ -526,7 +526,7 @@ * @return Phone number's type */ TPhoneNumberType ConvertNumberTypeFromSpeedDialFieldInfo( - CPhCntSpeedDialMonitor::TSpdDialFieldInfo aFieldInfo ); + const CPhCntSpeedDialMonitor::TSpdDialFieldInfo& aFieldInfo ); /** * Open the Unified message editor and get @@ -586,7 +586,7 @@ /** * Handles transition effect. */ - void HandleTransitionEffect( TPhoneTransEffectType aType, + void HandleTransitionEffect( TPhoneTransEffectType aType, const TUid& aAppUidEffectParam = KUidPhoneApplication ); /** @@ -624,7 +624,7 @@ * @return TInt KErrNotFound if app not exists anymore in the list * otherwise app index in the list. */ - TInt FindAppByWgIDL( TInt aAppWgID ); + TInt FindAppByWgIDL( TInt aAppWgID ) const; /** * Returns single item fetch type @@ -633,15 +633,15 @@ TInt SingleItemFetchType() const; /** - * Checks if DTMF dialer mode is currently active + * Checks if DTMF dialer mode is currently active */ TBool IsDtmfDialerActive() const; - + /** - * Checks if custom dialer mode is currently active + * Checks if custom dialer mode is currently active */ TBool IsCustomDialerActive() const; - + /** * Checks if the effect could and should be triggered. */ @@ -659,14 +659,25 @@ * Complete transition effect. */ void EndTransEffect(); - + /** * TCleanupOperation to call EndTransEffect, if leave occurs * after BeginTransEffectForAppStartFromDialerLC. */ static void EffectCleanup(TAny* aThis ); + + /** + * Checks if emergency call is ongoing. + */ + TBool IsEmergencyCallOngoing(); - private: + /** + * Is it ok to aType effect inside phoneapp. + */ + TBool IsOkToUseThisTypeOfEffectInsidePhoneApp( + TPhoneTransEffectType aType ); + + private: /** * Called by the skin server when skin content is changed and the * connected client wants to be informed. @@ -692,12 +703,12 @@ */ void SkinPackageChanged( const TAknsSkinStatusPackageChangeReason aReason ); - + private: // Data CPhoneView* iPhoneView; - CPhoneDialerView* iDialerView; + CPhoneDialerView* iDialerView; // iCba CEikButtonGroupContainer* iCba; @@ -712,16 +723,16 @@ // Controls the touch buttons CPhoneDialerController* iDialerController; - + // Controls touch dialer in DTMF mode CPhoneDtmfDialerController* iDtmfDialerController; - + // Controls the toolbar CPhoneToolbarController* iToolbarController; // Handles easydialing commands. Owned. CPhoneEasyDialingController* iEasyDialingController; - + // For accessing incall indicator CPhoneIncallIndicator* iIncallIndicator; @@ -736,7 +747,7 @@ CPhoneApplicationExit* iApplicationExit; CPhoneAudioController* iAudioController; - + CPhoneRingingTonePlayerAO* iRingingTonePlayerAO; // EikEnv for CPhoneKeyCaptureController, CPhoneNoteController, @@ -830,18 +841,18 @@ TInt iPrevious; TBool iPriotityChanged; - - /** - * Internal flag to define if security mode is enabled. - */ + + /** + * Internal flag to define if security mode is enabled. + */ TBool iSecurityMode; - + // Boolean flag. ETrue if the application needs to return // to the foreground after call ended TBool iNeedToReturnToForegroundAppAfterCall; - + CAknIncallBubble* iIncallBubble; - + // Server wich sends events about background image changes RAknsSrvSession iSkinServerSession; }; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/mphonedialercontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/mphoneringingtonesrv.h --- a/phoneapp/phoneuiview/inc/mphoneringingtonesrv.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/mphoneringingtonesrv.h Thu Sep 09 18:09:57 2010 +0100 @@ -24,14 +24,14 @@ { public: /** - * Increments sessions. + * Start session. */ - virtual void IncrementSessions() = 0; + virtual TInt StartSession() = 0; /** - * Decrements sessions. + * Close session. */ - virtual void DecrementSessions() = 0; + virtual void CloseSession() = 0; // Ringing tone settings diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/mphoneviewcontrollerobserver.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/phoneringingtonesrv.h --- a/phoneapp/phoneuiview/inc/phoneringingtonesrv.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/phoneringingtonesrv.h Thu Sep 09 18:09:57 2010 +0100 @@ -51,14 +51,14 @@ ~CPhoneRingingToneServer(); /** - * Increments sessions. + * Start session. */ - void IncrementSessions(); + TInt StartSession(); /** - * Decrements sessions. + * Close session. */ - void DecrementSessions(); + void CloseSession(); /** * Thread entry function. @@ -180,8 +180,8 @@ // File server connection RFs iFs; - // Number of active sessions - TInt iSessionCount; + // Indicates is session already in use + TBool iSessionInUse; // Player active object CPhoneRingingToneSrvPlayerAO* iPlayer; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/phoneringingtonesrvplayerao.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/phoneringingtonesrvsession.h --- a/phoneapp/phoneuiview/inc/phoneringingtonesrvsession.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/phoneringingtonesrvsession.h Thu Sep 09 18:09:57 2010 +0100 @@ -58,6 +58,8 @@ private: // Server. MPhoneRingingToneServer& iServer; + + TInt iStartSession; }; #endif diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h --- a/phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h Thu Sep 09 18:09:57 2010 +0100 @@ -235,8 +235,11 @@ EPhoneViewGetQwertyModeObserver, EPhoneViewSetIncallBubbleTrue, EPhoneViewSetIncallBubbleFalse, + EPhoneViewIsDisplayingMenuOrDialog, - EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list. + EPhoneViewSetVoipCallDTMFVisibilityFlag, + + EPhoneAmountOfCommands // Don't remove this, this should always be the last in list. }; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp --- a/phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -19,9 +19,9 @@ // INCLUDE FILES #include #include -#include + #include -#include + #include #include #include @@ -39,9 +39,6 @@ #include "phoneui.hrh" // CONSTANTS -// Defines how long time volume control is shown when volume is changed -// while device is muted. Duration in microseconds. -const TInt KPhoneDelayVolumeControlToDefaultAfterReleased = 1000000; // ================= MEMBER FUNCTIONS ======================= // C++ default constructor can NOT contain any code, that @@ -81,13 +78,6 @@ // To get touch input, pen check in HandleControlEventL() iEarVolumeControl->DecoratedControl()->SetObserver( this ); iIhfVolumeControl->DecoratedControl()->SetObserver( this ); - - // Create "muted" navi decorator - HBufC* mutedText = StringLoader::LoadLC( R_PHONE_INCALL_MUTED_PANE ); - iMutedControl = iStatusPane->NaviPane().CreateMessageLabelL( *mutedText ); - CleanupStack::PopAndDestroy( mutedText ); - - iNaviPaneUpdateTimer = CPhoneTimer::NewL(); iActivateRecoveryId = CPhoneRecoverySystem::Instance()->AddL( TCallBack( DoRecoverActivateL, this ), @@ -121,8 +111,6 @@ CCoeEnv::Static()->RemoveForegroundObserver( *this ); CPhoneRecoverySystem::Remove( iActivateRecoveryId ); - delete iNaviPaneUpdateTimer; - delete iMutedControl; delete iIhfVolumeControl; delete iEarVolumeControl; } @@ -138,8 +126,8 @@ if ( iVolumeControlCount == 1 ) // First time activation { // Decide whether decorator should be Ear or ihf decorator - CAknNavigationDecorator& selectedDecorator = SelectDecoratorL(); - PushL( selectedDecorator ); + CAknNavigationDecorator& selectedVolumeDecorator =VolumeDecorator(); + PushL( selectedVolumeDecorator ); } } @@ -168,16 +156,11 @@ if( iVolumeControlCount ) { - // Decide whether decorator should be Ear, Ihf or Muted decorator - CAknNavigationDecorator& selectedDecorator = SelectDecoratorL(); - PushL( selectedDecorator ); - - if( &selectedDecorator != iMutedControl ) - { - TInt volumeLevel = VolumeLevel(); - - SetVolumeLevel( VolumeControl(), volumeLevel ); - } + // Decide whether decorator should be Ear, Ihf decorator + CAknNavigationDecorator& selectedVolumeDecorator = VolumeDecorator(); + PushL( selectedVolumeDecorator ); + TInt volumeLevel = VolumeLevel(); + SetVolumeLevel( VolumeControl(), volumeLevel ); } } @@ -225,34 +208,12 @@ { iEarVolume = volumeParam->Integer(); } - - if( iMuted ) - { - // Enable timed control transition in muted state - iTimedMuteTransferPending = ETrue; - } - else - { - iTimedMuteTransferPending = EFalse; - } // Activate the approriate volume control CPhoneRecoverySystem::Instance()->RecoverNow( iActivateRecoveryId, CTeleRecoverySystem::EPhonePriorityStandard ); - - if( iTimedMuteTransferPending ) - { - iTimedMuteTransferPending = EFalse; - - // Cancel any pending request - iNaviPaneUpdateTimer->CancelTimer(); - - // Activate change to Muted decorator after given delay - iNaviPaneUpdateTimer->After( - KPhoneDelayVolumeControlToDefaultAfterReleased, - TCallBack( DoUpdateNaviPaneToDefault, this ) ); - } + } // --------------------------------------------------------- @@ -269,28 +230,6 @@ static_cast( aCommandParam ); iIhfMode = booleanParam->Boolean(); - - // Set state transition flag - iIhfTransferPending = ETrue; - } - -// --------------------------------------------------------- -// CPhoneAudioController::HandleMuteChange -// -// Updates incall indicator according to current call state. -// --------------------------------------------------------- -// -void CPhoneAudioController::HandleMuteChange( - TPhoneCommandParam* aCommandParam ) - { - __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::HandleMuteChange()"); - TPhoneCmdParamBoolean* booleanParam = - static_cast( aCommandParam ); - - iMuted = booleanParam->Boolean(); - - // Decide whether decorator should be ear, ihf or muted decorator - TRAP_IGNORE( PushL( SelectDecoratorL() ) ); } // ----------------------------------------------------------------------------- @@ -319,20 +258,6 @@ } // ----------------------------------------------------------------------------- -// CPhoneAudioController::DoUpdateNaviPaneToDefault -// ----------------------------------------------------------------------------- -// -TInt CPhoneAudioController::DoUpdateNaviPaneToDefault( TAny* aAny ) - { - __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::DoUpdateNaviPaneToDefault()"); - CPhoneAudioController* self = static_cast< CPhoneAudioController* >( aAny ); - CPhoneRecoverySystem::Instance()->RecoverNow( - self->iActivateRecoveryId, - CTeleRecoverySystem::EPhonePriorityStandard ); - return KErrNone; - } - -// ----------------------------------------------------------------------------- // CPhoneAudioController::HandleControlEventL // ----------------------------------------------------------------------------- // @@ -442,43 +367,6 @@ } // ----------------------------------------------------------------------------- -// CPhoneAudioController::SelectDecoratorL -// ----------------------------------------------------------------------------- -// -CAknNavigationDecorator& CPhoneAudioController::SelectDecoratorL() - { - __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::SelectDecoratorL()" ); - CAknNavigationDecorator* newDecorator = NULL; - if ( !iMuted ) - { - __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - volume decorator " ); - newDecorator = &VolumeDecorator(); - } - else - { - if ( iIhfTransferPending || !iTimedMuteTransferPending ) - { - __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - muted decorator " ); - newDecorator = iMutedControl; - } - else - { - __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - volume decorator " ); - newDecorator = &VolumeDecorator(); - - // In muted state the volume decorator must be first - // pushed to container to enable volume popup showing - PushL( *newDecorator ); - } - } - - // Clear IHF transfer flag. - iIhfTransferPending = EFalse; - - return *newDecorator; - } - -// ----------------------------------------------------------------------------- // CPhoneAudioController::SetVolumeLevel // ----------------------------------------------------------------------------- // diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneaudioplayer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonebubblewrapper.cpp --- a/phoneapp/phoneuiview/src/cphonebubblewrapper.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphonebubblewrapper.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -55,6 +55,7 @@ #include "mphonenumberentry.h" #include "cphonenumberentry.h" #include "phonebubbleextensionmanager.h" +#include "phonevanitydialingutils.h" #include "mphonecustomization.h" @@ -336,7 +337,7 @@ // 3. Thumbnail if ( callHeaderParam->Thumbnail() ) { - iBubbleManager->SetCallObjectImage( bubble, callHeaderParam->Thumbnail(), NULL ); + iBubbleManager->SetThumbnail( bubble, callHeaderParam->Thumbnail(), NULL ); } } else if ( iCallTheme->CallImageThemeSettings() == 2 ) @@ -553,6 +554,14 @@ aCallHeaderParam->CNAPText(), aCallHeaderParam->CNAPTextClippingDirection() ); + // Set CLI type to be used in conference call participant list + CBubbleManager::TBubbleParticipantListCLI partipantCli = + ( aCallHeaderParam->ParticipantCLI() == + TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText ) ? + CBubbleManager::EParticipantListCNAP : + CBubbleManager::EParticipantListCLIText; + iBubbleManager->SetParticipantListCLI( aBubble, partipantCli ); + iBubbleManager->SetCallFlags( aBubble, aCallHeaderParam->CallFlag() ); // Set ciphering indicator @@ -609,7 +618,7 @@ "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Set 3.Thumbnail"); if ( aCallHeaderParam->Thumbnail() ) { - iBubbleManager->SetCallObjectImage( aBubble, aCallHeaderParam->Thumbnail(), NULL ); + iBubbleManager->SetThumbnail( aBubble, aCallHeaderParam->Thumbnail(), NULL ); } } else @@ -653,13 +662,18 @@ AknTextUtils::ConvertDigitsTo( *entryContent->String(), EDigitTypeWestern ); + if ( FeatureManager::FeatureSupported( KFeatureIdFfHomeScreenVanityDialing ) ) + { + PhoneVanityDialingUtils::DoVanityNumberConversion( *entryContent->String() ); + } + __PHONELOG1( EBasic, EPhoneUIView, "CPhoneBubbleWrapper::GetNumberEntryContent(%S)", entryContent->String() ); } // ----------------------------------------------------------------------------- -// CPhoneBubbleWrapper.::GetNumberEntryContent +// CPhoneBubbleWrapper.::GetLocalizedNumberEntryContent // ----------------------------------------------------------------------------- // void CPhoneBubbleWrapper::GetLocalizedNumberEntryContent( diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonebuttonscontroller.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonedialercontroller.cpp --- a/phoneapp/phoneuiview/src/cphonedialercontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphonedialercontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -132,7 +132,7 @@ EAknsMinorGenericQgnIndiDialerClear, EMbmPhoneuiQgn_indi_dialer_clear, EMbmPhoneuiQgn_indi_dialer_clear_mask, - R_PHONEUI_DIALER_TOOLTIP_CLEAR + 0 //no tooltip for clear key } }; static const TInt KClearButtonDataTableCount = @@ -491,7 +491,15 @@ const TDesC& aMifFile ) const { // Create tooltip text - HBufC* tooltip = StringLoader::LoadLC( aSourceData.iTooltipResourceId ); + HBufC* tooltip = NULL; + if ( aSourceData.iTooltipResourceId > 0 ) + { + tooltip = StringLoader::LoadLC( aSourceData.iTooltipResourceId ); + } + else + { + tooltip = HBufC::NewLC(0); + } // Create icon TAknsItemID skinId = { EAknsMajorGeneric, aSourceData.iSkinItemIdMinor }; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonedialerview.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneeasydialingcontroller.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneincallindicator.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonemenucontroller.cpp --- a/phoneapp/phoneuiview/src/cphonemenucontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphonemenucontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -40,7 +40,7 @@ #include #include #include - +#include #include #include @@ -175,6 +175,15 @@ } +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// +TBool CPhoneMenuController::IsQwertyMode() const + { + return CPhonePubSubProxy::Instance()->Value( + KCRUidAvkon, + KAknQwertyInputModeActive ); + } // --------------------------------------------------------- // CPhoneMenuController::DynInitMenuBar // --------------------------------------------------------- @@ -268,9 +277,11 @@ break; case EPhoneNumberAcqCmdVideoCall: - if ( iServiceCodeFlag && - FeatureManager::FeatureSupported( - KFeatureIdVideocallMenuVisibility )) + if ( onScreenDialer && iNumberEntryEmpty ) + { + menuPane->DeleteMenuItem( menuItemArray[ i ] ); + } + else if ( iServiceCodeFlag ) { menuPane->DeleteMenuItem( menuItemArray[ i ] ); } @@ -344,7 +355,8 @@ break; case EPhoneInCallCmdDtmfListQuery: - if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility ) + if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility + || iHideVoipCallDTMFVisibility ) { menuPane->DeleteMenuItem( menuItemArray[ i ] ); } @@ -522,7 +534,8 @@ break; case EPhoneDialerCmdTouchInput: { - if ( !FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) ) + if ( !FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) || + IsQwertyMode() ) { menuPane->DeleteMenuItem( menuItemArray[i] ); } @@ -1054,6 +1067,14 @@ } // --------------------------------------------------------- +// CPhoneMenuController::SetHideVideoCallDTMFVisibility +// --------------------------------------------------------- +// +void CPhoneMenuController::SetHideVoipCallDTMFVisibilityFlag( TBool aHideVoipCallDTMFVisibility ) + { + __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHideVoipCallDTMFVisibilityFlag()" ); + iHideVoipCallDTMFVisibility = aHideVoipCallDTMFVisibility; + } // CPhoneMenuController::SetHideVideoCallDTMFVisibility // --------------------------------------------------------- // diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonenote.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonenotecontroller.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneringingtoneplayerao.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonestatuspane.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp --- a/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -42,7 +42,7 @@ _LIT ( KPhoneMifFileName, "phoneui.mif" ); _LIT( KToolbarButtonEmptyStr, "" ); -const TInt KNumberOfButtons = 5; +const TInt KNumberOfButtons = 6; struct SPhoneToolbarButton { TInt iIconIndex; @@ -71,7 +71,11 @@ { EMbmPhoneuiQgn_indi_tb_handset, EMbmPhoneuiQgn_indi_tb_handset_mask, EPhoneInCallCmdHandset - } + }, + { EMbmPhoneuiQgn_indi_tb_bthf, + EMbmPhoneuiQgn_indi_tb_bthf, + EPhoneInCallCmdBtHandsfree + } }; @@ -203,8 +207,27 @@ iToolbar->HideItem( EPhoneInCallCmdUnmute, !iMuteFlag, ETrue ); // Show 'Handset'/'Ihf' icon - iToolbar->HideItem( EPhoneInCallCmdActivateIhf, iIhfFlag, EFalse ); - iToolbar->HideItem( EPhoneInCallCmdHandset, !iIhfFlag, ETrue ); + if ( iWiredAccFlag ) + { + __PHONELOG( EBasic, EPhoneUIView, "CPhoneToolbarController::UpdateToolbar(), wired "); + iToolbar->HideItem( EPhoneInCallCmdHandset, ETrue, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdBtHandsfree, ETrue, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdActivateIhf, EFalse, ETrue ); + } + else if ( iBTAccAvailableFlag && !iBTAccFlag ) + { + __PHONELOG( EBasic, EPhoneUIView, "CPhoneToolbarController::UpdateToolbar(), BT "); + iToolbar->HideItem( EPhoneInCallCmdActivateIhf, ETrue, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdHandset, ETrue, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdBtHandsfree, EFalse, ETrue ); + } + else + { + __PHONELOG( EBasic, EPhoneUIView, "CPhoneToolbarController::UpdateToolbar(), else "); + iToolbar->HideItem( EPhoneInCallCmdHandset, !iIhfFlag, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdActivateIhf, iIhfFlag, EFalse ); + iToolbar->HideItem( EPhoneInCallCmdBtHandsfree, ETrue, ETrue ); + } } // --------------------------------------------------------------------------- @@ -264,6 +287,10 @@ resourceId = R_PHONEUI_TOOLTIP_HANDSET; break; + case EPhoneInCallCmdBtHandsfree: + resourceId = R_PHONEUI_TOOLTIP_BT_HANDSFREE; + break; + default: aText = KNullDesC().Alloc(); break; @@ -297,6 +324,9 @@ case EPhoneInCallCmdHandset: skinId = KAknsIIDQgnIndiButtonHandset; break; + case EPhoneInCallCmdBtHandsfree: + skinId = KAknsIIDQgnIndiButtonBluetooth; + break; default: skinId = KAknsIIDNone; break; @@ -409,6 +439,38 @@ } } } +// --------------------------------------------------------- +// CPhoneToolbarController::SetBTAccFlag +// --------------------------------------------------------- +// +void CPhoneToolbarController::SetBTAccFlag( TPhoneCommandParam* aCommandParam ) + { + if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean ) + { + TPhoneCmdParamBoolean* booleanParam = + static_cast( aCommandParam ); + iBTAccFlag = booleanParam->Boolean(); + UpdateToolbar(); + } + } + +// --------------------------------------------------------- +// CPhoneToolbarController::SetBTAccAvailableFlag +// --------------------------------------------------------- +// +void CPhoneToolbarController::SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam ) + { + // Check is the given parameter valid + if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean ) + { + TPhoneCmdParamBoolean* accFlag = + static_cast( aCommandParam ); + + iBTAccAvailableFlag = accFlag->Boolean(); + UpdateToolbar(); + } + } + // --------------------------------------------------------- // CPhoneToolbarController::SetCallInProgressFlag @@ -456,6 +518,7 @@ iToolbar->SetItemDimmed( EPhoneInCallCmdUnmute, aDimmed, ETrue ); iToolbar->SetItemDimmed( EPhoneInCallCmdActivatEPhonebook, aDimmed, ETrue ); iToolbar->SetItemDimmed( EPhoneInCallCmdHandset, aDimmed, ETrue ); + iToolbar->SetItemDimmed( EPhoneInCallCmdBtHandsfree, aDimmed, ETrue ); // Don't dim/undim iHF when complete toolbar dimming is changed. if ( !iWiredAccFlag ) { diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneview.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/cphoneviewcontroller.cpp --- a/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -143,6 +143,9 @@ const TInt KTouchDialerOpenEffect = 3; const TInt KTouchDialerCloseEffect = 5; +const TInt KTouchCallUiOpenEffect = 1000; +const TInt KTouchCallUiCloseEffect = 1001; + const TInt KDialerInputMaxChars( 100 ); // ================= MEMBER FUNCTIONS ======================= @@ -187,7 +190,7 @@ iAppui = (CAknAppUi*)iEikEnv.EikAppUi(); iCba = iEikEnv.AppUiFactory()->Cba(); - iPhoneView = CPhoneView::NewL( aRect, *iCba, this ); + iPhoneView = CPhoneView::NewL( aRect, *iCba, this ); iBubbleWrapper = CPhoneBubbleWrapper::NewL( iPhoneView, aRect ); @@ -224,7 +227,7 @@ iEikEnv.WsSession().FindWindowGroupIdentifier( 0, KPhoneEikonServer ) ); CCoeEnv* coeEnv = CCoeEnv::Static(); - + if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) { iButtonsController = CPhoneButtonsController::NewL( iBubbleWrapper->TouchPane() ); @@ -249,13 +252,13 @@ // Finalise dialer view iDialerView->SetControl( iDialer ); iDialerView->ActivateL(); - + // Create controller for Easy Dialing iEasyDialingController = CPhoneEasyDialingController::NewL( *iDialer ); iDialerController->SetEasyDialingController( iEasyDialingController ); - + // Create controller for DTMF mode of the dialer - iDtmfDialerController = CPhoneDtmfDialerController::NewL( iBubbleWrapper, + iDtmfDialerController = CPhoneDtmfDialerController::NewL( iBubbleWrapper, *coeEnv ); } @@ -264,9 +267,9 @@ // if you are using sgc-client's session to capserver, //you are not allowed to close the session. iAknUiServerClient = CAknSgcClient::AknSrv(); - + iIncallBubble = CAknIncallBubble::NewL(); - + User::LeaveIfError( iSkinServerSession.Connect( this ) ); } @@ -294,7 +297,7 @@ __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneViewController::~CPhoneViewController()" ); iSkinServerSession.Close(); - + delete iButtonsController; delete iDialerController; delete iToolbarController; @@ -326,10 +329,10 @@ } delete iDialerView; } - - delete iEasyDialingController; - delete iDtmfDialerController; - + + delete iEasyDialingController; + delete iDtmfDialerController; + delete iDialer; if ( iSingleItemFetch ) { @@ -342,7 +345,7 @@ // delete iStatusPane; <-- CCoeStatic are destroyed outside application iApaLsSession.Close(); - + delete iIncallBubble; } @@ -380,12 +383,12 @@ SetControltoCallHandlingL(); iBubbleWrapper->RemoveNumberEntry(); iPhoneView->SetActivatePreviousApp( EFalse ); - + TPhoneCmdParamCallStateData callStateData; callStateData.SetCallState( EPEStateConnected ); iBubbleWrapper->GetCallIdByState( &callStateData ); TInt connected = callStateData.CallId(); - + // If video call if( connected == KVideoTelephonyCallId1 || connected == KVideoTelephonyCallId2 ) @@ -445,7 +448,7 @@ case EPhoneViewRemovePhoneDialogs: RemovePhoneDialogsL(); break; - + case EPhoneViewRemoveAllCallHeaders: iBubbleWrapper->RemoveAllCallHeadersL(); break; @@ -457,7 +460,7 @@ case EPhoneViewStopRingTone: iRingingTonePlayerAO->StopPlaying(); break; - + case EPhoneViewMuteRingTone: iRingingTonePlayerAO->MuteRingingTone(); break; @@ -642,7 +645,7 @@ { iToolbarController->HideToolbar(); } - break; + break; case EPhoneViewLaunchMultimediaSharing: { @@ -741,9 +744,10 @@ break; case EPhoneViewUpdateContextMenu: - { - iMenuController->SetContextMenu( aCommandParam ); - } break; + { + iMenuController->SetContextMenu( aCommandParam ); + } + break; case EPhoneViewGetLocalizedNumberFromEntry: iBubbleWrapper->GetLocalizedNumberEntryContent( aCommandParam ); @@ -837,7 +841,6 @@ iMenuController->SetMuteFlag( aCommandParam ); iBubbleWrapper->SetPhoneMuted( aCommandParam ); iIncallIndicator->HandleMuteChange( aCommandParam ); - iAudioController->HandleMuteChange( aCommandParam ); iToolbarController->SetMuteFlag( aCommandParam ); if ( iButtonsController ) { @@ -906,7 +909,7 @@ iMenuController->CloseMenuBar(); iIncallIndicator->Update( aCommandParam ); iMenuController->SetCallInProgressFlag( aCommandParam ); - iToolbarController->SetCallInProgressFlag( aCommandParam ); + iToolbarController->SetCallInProgressFlag( aCommandParam ); break; case EPhoneViewStartCapturingKey: @@ -1118,7 +1121,15 @@ booleanParam->Boolean() ); break; } - + + case EPhoneViewSetVoipCallDTMFVisibilityFlag: + { + TPhoneCmdParamBoolean* booleanParam = + static_cast( aCommandParam ); + iMenuController->SetHideVoipCallDTMFVisibilityFlag( + booleanParam->Boolean() ); + break; + } case EPhoneViewSetVideoCallDTMFVisibilityFlag: { TPhoneCmdParamBoolean* booleanParam = @@ -1186,11 +1197,11 @@ iToolbarController->DimToolbar( booleanParam->Boolean()); break; } - + case EPhoneViewSetInvalidCsPhoneNumberFlag: iMenuController->SetInvalidCsPhoneNumberFlag( aCommandParam ); break; - + case EPhoneViewGetInvalidCsPhoneNumberFlag: iMenuController->GetInvalidCsPhoneNumberFlag( aCommandParam ); break; @@ -1206,7 +1217,7 @@ TPhoneCmdParamBoolean* booleanParam = static_cast( aCommandParam ); iMenuController->SetConferenceAndWaitingVideoFlag( booleanParam->Boolean() ); - } + } break; default: __PHONELOG( EBasic, EPhonePhoneapp, @@ -1499,7 +1510,7 @@ } } break; - + case EPhoneViewEnableToolbarButton: { TPhoneCmdParamInteger* integerParam = @@ -1507,7 +1518,7 @@ iToolbarController->SetToolbarButtonDimmed( integerParam->Integer(), EFalse ); } break; - + case EPhoneViewGetQwertyModeObserver: { TPhoneCmdParamPointer* ptrParam = static_cast( aCommandParam ); @@ -1582,7 +1593,7 @@ break; case EPhoneViewGetNeedToReturnToForegroundAppStatus: - viewResponse = GetNeedToReturnToForegroundAppAfterCall() ? + viewResponse = GetNeedToReturnToForegroundAppAfterCallL() ? EPhoneViewResponseSuccess : EPhoneViewResponseFailed; break; @@ -1603,7 +1614,7 @@ EPhoneViewResponseSuccess : EPhoneViewResponseFailed; break; - + case EPhoneViewIsMenuBarVisible: viewResponse = iMenuController->IsMenuBarVisible() ? EPhoneViewResponseSuccess : @@ -1634,7 +1645,7 @@ EndTransEffect(); } break; - + case EPhoneDialerCmdContacts: { // Launch Phonebook application @@ -1644,7 +1655,7 @@ ExecuteCommandL( EPhoneViewActivateApp, &appInfoParam ); EndTransEffect(); } - break; + break; case EPhoneDialerCmdSpeedDial: { @@ -1654,7 +1665,7 @@ ExecuteCommandL( EPhoneViewActivateApp, &appInfoParam ); break; } - + case EPhoneDialerCallSettings: { CGSLauncher* launcher = CGSLauncher::NewLC(); @@ -1664,7 +1675,7 @@ CleanupStack::PopAndDestroy( launcher ); break; } - + case EPhoneViewIsDTMFEditorVisible: if ( iDialer ) { @@ -1679,7 +1690,7 @@ EPhoneViewResponseFailed; } break; - + case EPhoneViewIsConferenceInExpandedMode: viewResponse = iBubbleWrapper->IsConferenceInExpandedMode() ? EPhoneViewResponseSuccess : @@ -1705,18 +1716,18 @@ // Set Number Entry CBA TPhoneCmdParamInteger integerParam; if ( iSecurityMode ) - { + { iNoteController->DestroyNote(); integerParam.SetInteger( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( EPhoneEmergencyModeNoteCBA ) ); - } - else - { - integerParam.SetInteger( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( EPhoneNumberAcqCBA ) ); - } + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneEmergencyModeNoteCBA ) ); + } + else + { + integerParam.SetInteger( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneNumberAcqCBA ) ); + } ExecuteCommandL( EPhoneViewUpdateCba, &integerParam ); // Set flag to false because dialler is set to open status. iPhoneView->SetPhoneAppViewToDialer( EFalse ); @@ -1736,10 +1747,10 @@ static_cast( CEikonEnv::Static()->EikAppUi() ) ->ProcessCommandL( EPhoneDtmfDialerExit ); } - else if ( iCustomization && + else if ( iCustomization && IsCustomDialerActive() ) { - iCustomization->HandleCommandL( + iCustomization->HandleCommandL( *this, EPhoneViewOpenCallHandling, NULL ); } else @@ -1803,6 +1814,14 @@ iToolbarController->ShowToolbar(); } break; + + case EPhoneViewIsDisplayingMenuOrDialog: + { + viewResponse = iEikEnv.EikAppUi()->IsDisplayingMenuOrDialog() ? + EPhoneViewResponseSuccess : + EPhoneViewResponseFailed; + } + break; default: viewResponse = EPhoneViewResponseFailed; __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneViewController::HandleCommandL -> UnKnownMessage !!! "); @@ -1823,7 +1842,7 @@ __PHONELOGVIEWMSG( aCmdId, 0 ); TPhoneViewResponseId viewResponse = EPhoneViewResponseSuccess; TInt err; - + switch ( aCmdId ) { case EPhoneViewSendKeyEventToNumberEntry: @@ -1956,7 +1975,7 @@ viewResponse = EPhoneViewResponseSuccess; } break; - + default: if ( iCustomization ) { @@ -2076,11 +2095,8 @@ CEikonEnv& aEnv ) { TInt result = 0; - RWsSession& wsSession = aEnv.WsSession(); - - const TInt numWg = - wsSession.NumWindowGroups( + const TInt numWg = wsSession.NumWindowGroups( KPhoneApplicationWindowGroupPriority ); CArrayFixFlat* wgList = @@ -2132,7 +2148,7 @@ "CPhoneViewController::HandleResourceChangeL()" ) // Notify the bubble that there has been a resource change iBubbleWrapper->Control()->HandleResourceChange( aType ); - + // Notify dialer and switch statuspane layout. if ( iDialer ) { @@ -2178,25 +2194,54 @@ } // --------------------------------------------------------------------------- +// CPhoneViewController::IsEmergencyCallOngoing() +// --------------------------------------------------------------------------- +// +TBool CPhoneViewController::IsEmergencyCallOngoing() + { + __LOGMETHODSTARTEND( EPhoneUIView, + "CPhoneViewController::IsEmergencyCallOngoing()"); + + TPhoneCmdParamCallStateData callStateData; + callStateData.SetCallState( EPEStateConnected ); + iBubbleWrapper->GetCallIdByState( &callStateData ); + TInt connected = callStateData.CallId(); + + callStateData.SetCallState( EPEStateConnecting ); + iBubbleWrapper->GetCallIdByState( &callStateData ); + TInt connecting = callStateData.CallId(); + + return ( ( connected == KEmergencyCallId ) || + ( connecting == KEmergencyCallId ) ); + } + +// --------------------------------------------------------------------------- // CPhoneViewController::HandleSecurityModeChanged // --------------------------------------------------------------------------- // EXPORT_C void CPhoneViewController::HandleSecurityModeChanged( TBool aIsEnabled ) - { - __PHONELOG1( EBasic, EPhoneUIView, - "CPhoneViewController::SetSecurityMode Mode = (%d)", aIsEnabled ); - iToolbarController->DimToolbar( aIsEnabled ); - iPhoneView->SetSecurityMode( aIsEnabled ); - iMenuController->SetSecurityMode( aIsEnabled ); - - TBool securityModeChanged = ( iSecurityMode != aIsEnabled ); - - iSecurityMode = aIsEnabled; - - if ( iDialer ) - { + { + __PHONELOG1( EBasic, EPhoneUIView, + "CPhoneViewController::HandleSecurityModeChanged Mode = (%d)", aIsEnabled ); + + TBool emergencyCallOngoing = IsEmergencyCallOngoing(); + + // Don't undim toolbar if emergency call is ongoing + if ( !emergencyCallOngoing ) + { + iToolbarController->DimToolbar( aIsEnabled ); + } + iPhoneView->SetSecurityMode( aIsEnabled ); + iMenuController->SetSecurityMode( aIsEnabled ); + + TBool securityModeChanged = ( iSecurityMode != aIsEnabled ); + + iSecurityMode = aIsEnabled; + + if ( iDialer ) + { iDialerController->SetRestrictedDialer( aIsEnabled ); - + if ( iDialerActive && securityModeChanged ) { CDialingExtensionInterface* easyDialing = iDialer->GetEasyDialingInterface(); @@ -2222,30 +2267,40 @@ } } iDialer->RelayoutAndDraw(); - - // also update cba if security mode changes while dialer is open - TPhoneCmdParamInteger integerParam; - if ( aIsEnabled ) + + // Don't update cba here if emergency call is ongoing + if ( !emergencyCallOngoing ) { - iNoteController->DestroyNote(); - integerParam.SetInteger( CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( EPhoneEmergencyModeNoteCBA ) ); + // also update cba if security mode changes while dialer is open + TPhoneCmdParamInteger integerParam; + if ( aIsEnabled ) + { + iNoteController->DestroyNote(); + integerParam.SetInteger( CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneEmergencyModeNoteCBA ) ); + } + else + { + integerParam.SetInteger( CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneNumberAcqCBA ) ); + } + TRAP_IGNORE( ExecuteCommandL( EPhoneViewUpdateCba, &integerParam ) ); } - else - { - integerParam.SetInteger( CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( EPhoneNumberAcqCBA ) ); - } - TRAP_IGNORE( ExecuteCommandL( EPhoneViewUpdateCba, &integerParam ) ); - if ( !aIsEnabled ) { TRAP_IGNORE( SwitchLayoutToFlatStatusPaneL( ETrue ) ); } } - } + } if ( securityModeChanged ) { + // Update cba if security mode changes while emergency call is ongoing + if ( emergencyCallOngoing ) + { + TRAP_IGNORE( static_cast( CEikonEnv::Static()->EikAppUi() ) + ->ProcessCommandL( EPhoneCmdUpdateEmergencyCba ) ); + } + // Update status pane dimming iStatusPane->StatusPane().SetDimmed( aIsEnabled ); @@ -2257,7 +2312,7 @@ iKeyCaptureController->StopCapturingKey( &appKeyCaptureParam ); } - } + } // --------------------------------------------------------------------------- // CPhoneViewController::IdleAppUid @@ -2299,7 +2354,7 @@ { iMenuController->SetNumberEntryEmptyFlag( !aEntryHasText ); iBubbleWrapper->HandleNumberEntryChanged(); - ExecuteCommandL( EPhoneViewUpdateToolbar ); + TRAP_IGNORE( ExecuteCommandL( EPhoneViewUpdateToolbar ) ); } // --------------------------------------------------------------------------- @@ -2378,15 +2433,12 @@ // CPhoneViewController::FindAppByWgIDL // --------------------------------------------------------------------------- // -TInt CPhoneViewController::FindAppByWgIDL( TInt aAppWgID ) +TInt CPhoneViewController::FindAppByWgIDL( TInt aAppWgID ) const { __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneViewController::FindAppByWgIDL() ") - TInt appExists( KErrNotFound ); - RWsSession& wsSession = iEikEnv.WsSession(); - const TInt numWg = wsSession.NumWindowGroups( KPhoneApplicationWindowGroupPriority ); @@ -2396,7 +2448,6 @@ wgList->SetReserveL( numWg ); // Get list of window groups; all applications should be at priority 0. - // if ( wsSession.WindowGroupList( KPhoneApplicationWindowGroupPriority, wgList ) == KErrNone ) @@ -2410,9 +2461,7 @@ } } } - CleanupStack::PopAndDestroy( wgList ); - return appExists; } @@ -2485,7 +2534,7 @@ CAknSgcClient::MoveApp( phoneApp.WgId(), ESgcMoveAppToForeground ); __PHONELOG1( EBasic, EPhoneUIView, "CPhoneViewController::BringPhoneAppToForeground - Previous App WG ID: %d", - iPrevForegroundAppWg ); + iPrevForegroundAppWg ); } } @@ -2760,9 +2809,9 @@ TInt resourceId = cbaResource->Integer(); iCba->SetCommandSetL( resourceId ); - + iCba->DrawDeferred(); - + } // --------------------------------------------------------------------------- @@ -2879,10 +2928,10 @@ if ( phoneIsLocked || IsSecurityCodeQuery() ) { - // Soft Reject is enabled if the phone is not locked. - // Security Code query is checked because in the boot - // autolock status value is OFF even when it's actually - // ON so we need to do this double checking. + // Soft Reject is enabled if the phone is not locked. + // Security Code query is checked because in the boot + // autolock status value is OFF even when it's actually + // ON so we need to do this double checking. return EFalse; } return ETrue; @@ -3029,8 +3078,8 @@ CPhCntSpeedDialMonitor::TSpdDialFieldInfo fieldInfo; TBuf number; - TContactItemId itemId = iSpeedDialController->GetSpeedDialFieldL( - aSpeedDialLocation, + TContactItemId itemId = iSpeedDialController->GetSpeedDialFieldL( + aSpeedDialLocation, number, fieldInfo ); @@ -3045,7 +3094,7 @@ // --------------------------------------------------------------------------- // TPhoneNumberType CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo( - CPhCntSpeedDialMonitor::TSpdDialFieldInfo aFieldInfo ) + const CPhCntSpeedDialMonitor::TSpdDialFieldInfo& aFieldInfo ) { __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo() "); @@ -3103,7 +3152,7 @@ TBool CPhoneViewController::AssignSpeedDialLocationL( TInt aLocation ) { - CreateSpeedDialControllerL(); + CreateSpeedDialControllerL(); // Assign speed dial location TBuf number; @@ -3128,7 +3177,7 @@ TUid mtmUid = { KSenduiMtmUniMessageUidValue }; CSendUi* messageEditor = CSendUi::NewL(); - CleanupStack::PushL( messageEditor ); + CleanupStack::PushL( messageEditor ); // Inform the SendUi to open the message editor. This is not a blocking // dialog so the flag does not need to be set. @@ -3320,7 +3369,7 @@ // btaa menu options iMenuController->SetBTAccFlag( &btaaParam ); - + iToolbarController->SetBTAccFlag( &btaaParam ); iAudioController->HandleIhfChange( &ihfParam ); if ( iButtonsController ) @@ -3360,7 +3409,8 @@ // btaa menu options iMenuController->SetBTAccAvailableFlag( &btAvailableParam ); - + iToolbarController->SetBTAccAvailableFlag( &btAvailableParam ); + if ( iButtonsController ) { iButtonsController->SetBTAccAvailableFlag( &btAvailableParam ); @@ -3588,7 +3638,7 @@ { __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneViewController::CreateSpeedDialControllerL()" ); - if( !iSpeedDialController ) + if( !iSpeedDialController ) { iSpeedDialController = iContactController->CreateSpeedDialMonitorL(); } @@ -3690,12 +3740,12 @@ // ----------------------------------------------------------- // TInt CPhoneViewController::SingleItemFetchType() const - { - __LOGMETHODSTARTEND(EPhoneUIView, + { + __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::SingleItemFetchType()" ); - return iSingleItemFetchType; - } + return iSingleItemFetchType; + } // --------------------------------------------------------------------------- // CPhoneViewController::SwitchLayoutToFlatStatusPaneL @@ -3793,42 +3843,26 @@ { __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::HandleTransitionEffect()" ); - - switch ( aType ) + __PHONELOG1( EBasic, EPhoneUIView, + "CPhoneViewController::HandleTransitionEffect aType:(%d)", aType ); + TInt useEffect(KErrNotFound); + switch ( aType ) { case EPhoneTransEffectDialerCreate: case EPhoneTransEffectDialerOpen: - { - GfxTransEffect::BeginFullScreen( - KTouchDialerOpenEffect, - TRect(), - AknTransEffect::EParameterType, - AknTransEffect::GfxTransParam( KUidPhoneApplication, - AknTransEffect::TParameter::EActivateExplicitCancel ) ); - iEffectOngoing = ETrue; + useEffect = KTouchDialerOpenEffect; break; - } case EPhoneTransEffectDialerClose: - { - GfxTransEffect::BeginFullScreen( - KTouchDialerCloseEffect, - TRect(), - AknTransEffect::EParameterType, - AknTransEffect::GfxTransParam( KUidPhoneApplication, - AknTransEffect::TParameter::EActivateExplicitCancel ) ); - iEffectOngoing = ETrue; + useEffect = KTouchDialerCloseEffect; + break; + case EPhoneTransEffectAppStartFromDialer: + useEffect = AknTransEffect::EApplicationStart; break; - } - case EPhoneTransEffectAppStartFromDialer: - { - GfxTransEffect::BeginFullScreen( - AknTransEffect::EApplicationStart, - TRect(), - AknTransEffect::EParameterType, - AknTransEffect::GfxTransParam( aAppUidEffectParam, - AknTransEffect::TParameter::EActivateExplicitCancel ) ); - iEffectOngoing = ETrue; - } + case EPhoneTransEffectCallUiAppear: + useEffect = KTouchCallUiOpenEffect; + break; + case EPhoneTransEffectCallUiDisappear: + useEffect = KTouchCallUiCloseEffect; break; case EPhoneTransEffectStop: { @@ -3842,6 +3876,17 @@ default: break; } + + if ( KErrNotFound < useEffect ) + { + GfxTransEffect::BeginFullScreen( + useEffect, + TRect(), + AknTransEffect::EParameterType, + AknTransEffect::GfxTransParam( aAppUidEffectParam, + AknTransEffect::TParameter::EActivateExplicitCancel ) ); + iEffectOngoing = ETrue; + } } // --------------------------------------------------------------------------- @@ -3859,18 +3904,18 @@ { iDialerActive = ETrue; - // Ensure that toolbar and menu commands are up-to-date + // Ensure that toolbar and menu commands are up-to-date TBuf<1> temp; // we are only interested if the text is empty or not iDialer->GetTextFromNumberEntry( temp ); NumberEntryStateChanged( temp.Length() > 0 ); - + // Make dialer view top most iDialerView->DrawableWindow()->SetOrdinalPosition( iPhoneView->DrawableWindow()->OrdinalPosition() ); // Hide in-call view toolbar iToolbarController->HideToolbar(); - + SwitchLayoutToFlatStatusPaneL( ETrue ); // Don't make dialer view visible before status pane is updated. @@ -3882,7 +3927,7 @@ // dialer as soon as it becomes visible to prevent the flashing of // number entry (DrawDeferred() isn't fast enough here). iDialerView->DrawNow(); - + iPhoneView->DrawableWindow()->SetOrdinalPosition( -1 ); iPhoneView->MakeVisible( EFalse ); @@ -3910,7 +3955,7 @@ // resizing of dialer components. Hiding dialer view already before showing // phone view might cause screen flickering but tests have proven it doesn't happen. iDialerView->MakeVisible( EFalse ); - + SwitchLayoutToFlatStatusPaneL( EFalse ); // Make call handling view top most @@ -3924,7 +3969,7 @@ // Update control stack iAppui->AddToStackL( iPhoneView ); iAppui->RemoveFromStack( iDialerView ); - + iEasyDialingController->HandleCommandL( EEasyDialingCallHandlingActivated ); } } @@ -4038,8 +4083,8 @@ // TBool CPhoneViewController::IsDtmfDialerActive() const { - TBool ret = - ( iDialer && iDtmfDialerController && + TBool ret = + ( iDialer && iDtmfDialerController && iDialer->Controller() == iDtmfDialerController ); return ret; } @@ -4054,8 +4099,8 @@ if ( iDialer ) { MPhoneDialerController* curController = iDialer->Controller(); - ret = ( curController && - curController != iDialerController && + ret = ( curController && + curController != iDialerController && curController != iDtmfDialerController ); } return ret; @@ -4065,50 +4110,83 @@ // CPhoneViewController::CanTransEffectBeUsed // ----------------------------------------------------------- // -TBool CPhoneViewController::CanTransEffectBeUsed( +TBool CPhoneViewController::CanTransEffectBeUsed( TPhoneTransEffectType aType ) { TBool okToUseEffect( EFalse ); - - TBool isForeground = iAppui->IsForeground(); - // Check whether the idle is on foreground - TBool idleInFore = ForegroundApplicationWindowGroupId() == IdleWindowGroupId() ? + TBool isPhoneForeground = iAppui->IsForeground(); + TBool isIdleInForeground = + ForegroundApplicationWindowGroupId() == IdleWindowGroupId() ? ETrue : EFalse; - - if ( isForeground && // Newer run effect if not at front - ( ( aType == EPhoneTransEffectDialerCreate && !iDialerActive ) || - ( aType == EPhoneTransEffectDialerOpen && !iDialerActive && - iBubbleWrapper->IsNumberEntryUsed() ) || - ( aType == EPhoneTransEffectDialerClose && iDialerActive ) ) ) + if ( isPhoneForeground && + IsOkToUseThisTypeOfEffectInsidePhoneApp( aType ) ) + { + okToUseEffect = ETrue; + } + /* In case transition is from idle to dialer or to incoming call + show transition effects as well. */ + else if ( isIdleInForeground && + ( aType == EPhoneTransEffectDialerOpen || + aType == EPhoneTransEffectCallUiAppear ) ) + { + okToUseEffect = ETrue; + } + /* isPhoneForeground/isIdleInForeground are false + when call is created from some other then phone app for example logs or from phonebook*/ + else if ( !isPhoneForeground && + !isIdleInForeground && + ( aType == EPhoneTransEffectDialerOpen || + aType == EPhoneTransEffectCallUiAppear ) ) { okToUseEffect = ETrue; } - // In case transition is from idle to dialer show transition effects as well. - else if ( idleInFore && !iDialerActive && - aType == EPhoneTransEffectDialerOpen ) + return okToUseEffect; + } + +// ----------------------------------------------------------- +// CPhoneViewController::IsOkToUseThisTypeOfEffectInsidePhoneApp +// ----------------------------------------------------------- +// +TBool CPhoneViewController::IsOkToUseThisTypeOfEffectInsidePhoneApp( + TPhoneTransEffectType aType ) + { + TBool okToUse(EFalse); + switch ( aType ) { - okToUseEffect = ETrue; + case EPhoneTransEffectDialerCreate: + case EPhoneTransEffectDialerOpen: + okToUse = !iDialerActive; + break; + case EPhoneTransEffectAppStartFromDialer: + okToUse = iDialerActive; + break; + /* No need to check dialer activity below because effects are + common to callhandling/dialer */ + case EPhoneTransEffectDialerClose: + case EPhoneTransEffectCallUiAppear: + case EPhoneTransEffectCallUiDisappear: + okToUse = ETrue; + break; + default: + break; } - else if ( isForeground && iDialerActive && - aType == EPhoneTransEffectAppStartFromDialer ) - { - okToUseEffect = ETrue; - } - - return okToUseEffect; + __PHONELOG1( EBasic, EPhoneUIView, + "CPhoneViewController::IsOkToUseThisTypeOfEffectInsidePhoneApp(%d)", + okToUse ); + return okToUse; } // ----------------------------------------------------------- // CPhoneViewController::BeginTransEffectForAppStartFromDialerLC // ----------------------------------------------------------- // -void CPhoneViewController::BeginTransEffectForAppStartFromDialerLC( +void CPhoneViewController::BeginTransEffectForAppStartFromDialerLC( const TUid& aAppUid ) { TPhoneCmdParamTransEffect effectParam; effectParam.SetType( EPhoneTransEffectAppStartFromDialer ); effectParam.SetAppUid( aAppUid ); - + ExecuteCommand( EPhoneViewBeginTransEffect, &effectParam ); TCleanupItem operation( EffectCleanup, this ); @@ -4154,11 +4232,18 @@ } // --------------------------------------------------------------------------- -// CPhoneViewController::GetNeedToReturnToForegroundAppAfterCall +// CPhoneViewController::GetNeedToReturnToForegroundAppAfterCallL // --------------------------------------------------------------------------- // -TBool CPhoneViewController::GetNeedToReturnToForegroundAppAfterCall() const +TBool CPhoneViewController::GetNeedToReturnToForegroundAppAfterCallL() { + // Check that previous app still exists. It might be for example + // add to contact - dialog that is allready destroyed or user has closed + // app using task swapper. + if( KErrNotFound == FindAppByWgIDL( iPrevForegroundAppWg ) ) + { + iNeedToReturnToForegroundAppAfterCall = EFalse; + } return iNeedToReturnToForegroundAppAfterCall; } @@ -4167,20 +4252,19 @@ // --------------------------------------------------------------------------- // void CPhoneViewController::AllowInCallBubbleInSpecialCases() -{ + { // this method can be used for special cases like dialer - + if( iDialerActive ) - { + { SetIncallBubbleVisibility( ETrue ); + } + else + { + SetIncallBubbleVisibility( EFalse ); + } } - else - { - SetIncallBubbleVisibility( EFalse ); - } - -} - + // --------------------------------------------------------------------------- // CPhoneViewController::SetIncallBubbleVisibility // --------------------------------------------------------------------------- @@ -4191,7 +4275,7 @@ "CPhoneViewController::SetIncallBubbleVisibility(%d)", aVisible ); - TRAP_IGNORE( iIncallBubble->SetIncallBubbleAllowedInUsualL( aVisible ) ); + TRAP_IGNORE( iIncallBubble->SetIncallBubbleAllowedInUsualL( aVisible ) ); } // --------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/phoneringingtonesrv.cpp --- a/phoneapp/phoneuiview/src/phoneringingtonesrv.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/phoneringingtonesrv.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -88,24 +88,36 @@ } // ----------------------------------------------------------------------------- -// CPhoneRingingToneServer::IncrementSessions +// CPhoneRingingToneServer::StartSession // ----------------------------------------------------------------------------- // -void CPhoneRingingToneServer::IncrementSessions() +TInt CPhoneRingingToneServer::StartSession() { - iSessionCount++; + TInt err( KErrNone ); + + if( !iSessionInUse ) + { + iSessionInUse = ETrue; + } + else + { + err = KErrAccessDenied; + } + PHONEUIVIEW_PRINTF( "CPhoneRingingToneServer::StartSession err %d", err ); + + return err; } // ----------------------------------------------------------------------------- -// CPhoneRingingToneServer::DecrementSessions +// CPhoneRingingToneServer::CloseSession // ----------------------------------------------------------------------------- // -void CPhoneRingingToneServer::DecrementSessions() +void CPhoneRingingToneServer::CloseSession() { - if ( --iSessionCount <= 0 ) - { - CActiveScheduler::Stop(); - } + PHONEUIVIEW_PRINT( "CPhoneRingingToneServer::CloseSession()" ); + + CActiveScheduler::Stop(); + iSessionInUse = EFalse; } // ----------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/phoneringingtonesrvplayerao.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuiview/src/phoneringingtonesrvsession.cpp --- a/phoneapp/phoneuiview/src/phoneringingtonesrvsession.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuiview/src/phoneringingtonesrvsession.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -43,7 +43,10 @@ // CPhoneRingingToneServerSession::~CPhoneRingingToneServerSession() { - iServer.DecrementSessions(); + if( iStartSession == KErrNone ) + { + iServer.CloseSession(); + } } // ----------------------------------------------------------------------------- @@ -68,7 +71,10 @@ void CPhoneRingingToneServerSession::ConstructL() { PHONEUIVIEW_PRINT( "CPhoneRingingToneServerSession::ConstructL" ); - iServer.IncrementSessions(); + + iStartSession = iServer.StartSession(); + + User::LeaveIfError( iStartSession ); } // ----------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphonecustomizationvoip.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphoneextensionhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphonenewcallcmdhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphoneresourceresolvervoip.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphoneuistatemachinefactoryvoip.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphoneunattendedtransfercmdhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphonevcchandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/cphonevoiperrormessageshandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/inc/tphonetouchpanewrapper.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonecallforwardqueryhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp --- a/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -802,9 +802,7 @@ __LOGMETHODSTARTEND( PhoneUIVoIPExtension, "CPhoneCustomizationVoip::ModifyNumberAcquisitionMenuL"); - if ( ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU || - aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_MENU || - aResourceId == R_PHONEUIDIALER_OPTIONS_MENU ) && + if ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU && VoIPSupportedL() ) { InsertInternetCallMenuItemL( aResourceId, aMenuPane ); @@ -825,7 +823,7 @@ // ----------------------------------------------------------- // void CPhoneCustomizationVoip::InsertInternetCallMenuItemL( - TInt aResourceId, CEikMenuPane& aMenuPane ) + TInt /* aResourceId */, CEikMenuPane& aMenuPane ) { __LOGMETHODSTARTEND( PhoneUIVoIPExtension, "CPhoneCustomizationVoip::InsertInternetCallMenuItemL" ); @@ -855,36 +853,11 @@ TInt index(KErrNotFound); - if ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU ) + // If number entry is empty don't add internet call option + if ( phoneNumber->Length() ) { - if ( !CPhoneKeys::Validate( phoneNumber->Des() ) ) - { - if ( aMenuPane.MenuItemExists( EPhoneNumberAcqCmdCall, index ) ) - { - aMenuPane.DeleteMenuItem( EPhoneNumberAcqCmdCall ); - } - - if ( aMenuPane.MenuItemExists( EPhoneNumberAcqCmdVideoCall, index ) ) - { - aMenuPane.DeleteMenuItem( EPhoneNumberAcqCmdVideoCall ); - } - } - aMenuPane.AddMenuItemL( voipMenuItem->iData ); } - else if ( !aMenuPane.MenuItemExists( EPhoneNumberAcqCmdCall, index ) ) - { - // Call menu is removed if user inserts anything that is not - // a valid cs number, so must add Internet call option here where - // we know that voip is however supported. - - // If number entry is empty don't add internet call option - if ( phoneNumber->Length() ) - { - // Internet call item must be on the top of the menu - aMenuPane.InsertMenuItemL( voipMenuItem->iData, 0 ); - } - } CleanupStack::PopAndDestroy( 3, &voipServices ); } diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphoneextensionhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonenewcallcmdhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp --- a/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -157,6 +157,10 @@ if ( madeStateTransition ) { iOldStateId = iNewStateId; + + // Needs to be set or any attempts to access eikon env handle + // will fail + iState->SetEikonEnv( EikonEnv() ); } return iState; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonestateutilsvoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonetransferdialercontroller.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphoneuistatemachinefactoryvoip.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp --- a/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -198,7 +198,9 @@ &customDialerParam ); // Open transfer dialer + phoneState->BeginTransEffectLC( ECallUiDisappear ); iViewCommandHandle.ExecuteCommandL( EPhoneViewCreateNumberEntry ); + phoneState->EndTransEffect(); // Update CBA to transfer dialer CBA TPhoneCmdParamInteger resourceId; diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonevcchandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/tphonecmdparamselector.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/src/tphonetouchpanewrapper.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/inc/silenceaction.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/inc/silenceactionplugin.h diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/rom/silenceactionplugin.iby diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/src/silenceaction.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneapp/silenceactionplugin/src/silenceactionplugin.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContact.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h Thu Sep 09 18:09:57 2010 +0100 @@ -106,7 +106,7 @@ */ MPhCntContactMatchStrategy* CreateContactMatchStrategyL( MVPbkContactFindObserver& aObserver, - TBool aRemoveDuplicates ); + TDuplicateRemovalStrategy aStrategy ); /** * From MPhCntContactManager. @@ -365,4 +365,4 @@ }; -#endif // CPHCNTCONTACTMANAGER_H \ No newline at end of file +#endif // CPHCNTCONTACTMANAGER_H diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h Thu Sep 09 18:09:57 2010 +0100 @@ -21,6 +21,8 @@ #include #include "CPhCntMatcher.h" #include "MVPbkContactLink.h" +#include "MPhCntContactManager.h" +#include "tphcntcontactselectionstrategy.h" class MPhCntContactStores; class CPhCntContactManager; @@ -45,12 +47,12 @@ { public: - /** - * Static constructor. - * - * @since S60 v3.1 - * @param aOwner Phonebook owner. - */ + /** + * Static constructor. + * + * @since S60 v3.1 + * @param aOwner Phonebook owner. + */ static CPhCntMatcherImpl* NewL( const MPhoneCntPbkOwner& aOwner ); /** @@ -110,14 +112,14 @@ /** * Match number to phonebook. * @param aMatch Found match, owership tranferred. NULL if not found any. - * @param aNumber Number to match against. + * @param aMatchString Number to match against. * @return Error code: KErrNone - one match found * KErrNotFound - no matches found * other - normal Symbian OS error */ - TInt MatchVoipNumber( + TInt MatchVoipNumber( MPhCntMatch*& aMatch, - const TDesC& aNumber, + const TDesC& aMatchString, TBool aAllowUserNameMatch, MDesCArray* aContactStoreUris, TInt aCharsForMatching = 0 ); @@ -127,6 +129,7 @@ * by contact id. * @since Series60 3.0 * @param aMatch for found match, owership tranferred. Empty if not found. + * @param aMatchString Number to match against. * @param aContactId for current contact. * @return Error code: KErrNone - VoIP call contact found * KErrNotFound - no VoIP call contact found @@ -134,6 +137,7 @@ */ TInt MatchVoipNumber( MPhCntMatch*& aMatch, + const TDesC& aMatchString, const CPhCntContactId& aContactId ); @@ -163,16 +167,14 @@ TInt GetContactL( MPhCntMatch*& aMatch, const TDesC& aTelNumber ); - + /** - * Match contacts against product specific stores. - * - * @since S60 v3.2 - * @param aLinkArray Array of contacts to match - * @return Error code. + * Matches contacts */ - TInt MatchFromAdditionalStore( const MVPbkContactLinkArray& aLinkArray ) const; - + TInt MatchContactL( + const MVPbkContactLinkArray*& aContactLinkArray, + const TDesC& aTelNumber, + MPhCntContactManager::TDuplicateRemovalStrategy aRemoveDuplicatesStrategy ); protected: @@ -257,6 +259,9 @@ * Own. */ MPhCntContactMatchStrategy* iCSMatchStrategy; + + + TPhCntContactSelectionStrategy iContactSelectionStrategy; }; diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h Thu Sep 09 18:09:57 2010 +0100 @@ -51,6 +51,11 @@ { public: + enum TDuplicateRemovalStrategy { + ERemoveDuplicates, + EDontRemoveDuplicates + }; + /** * Retrieves contact from phonebook. * @@ -76,11 +81,12 @@ * * @since S60 v3.1 * @param aObserver Contact match strategy observer. + * @param aStrategy Contact dupe removal strategy * @return New contact match strategy instance. */ virtual MPhCntContactMatchStrategy* CreateContactMatchStrategyL( MVPbkContactFindObserver& aObserver, - TBool aRemoveDuplicates )= 0; + TDuplicateRemovalStrategy aStrategy )= 0; /** * Gives access to contact name formatter. @@ -226,4 +232,4 @@ virtual ~MPhCntContactManager() {}; }; -#endif \ No newline at end of file +#endif diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselection.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselectionimpl.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactfieldsresolver.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h Thu Sep 09 18:09:57 2010 +0100 @@ -20,7 +20,6 @@ #define CPHCNTCONTACTMATCHSTRATEGY_H #include -#include #include #include "mphcntcontactmatchstrategy.h" @@ -29,7 +28,6 @@ class CVPbkContactManager; class MVPbkContactFindObserver; class CVPbkPhoneNumberMatchStrategy; -class CRepository; class CVPbkContactStoreUriArray; class CPhCntContactStoreUris; class CCntRawPhoneNumberExtractor; @@ -43,7 +41,6 @@ NONSHARABLE_CLASS( CPhCntContactMatchStrategy ) : public CBase, public MPhCntContactMatchStrategy, - private MCenRepNotifyHandlerCallback, private MPhCntContactStoreEventObserver { public: @@ -116,11 +113,6 @@ void ContactStoreAvailabilityChanged(); /** - * Removes postfix from aNumber and starts the matching. - */ - void MatchL( const TDesC& aNumber ); - - /** * Method to ease unit testing. Creates the actual instance of iMatchStrategy. */ virtual TInt DoCreateMatchStrategy(); @@ -149,20 +141,6 @@ */ CVPbkPhoneNumberMatchStrategy* iMatchStrategy; - /** - * Central repository instance, for getting - * number of numbers used with contact matching. - * Own. - */ - CRepository* iCenRepSession; - - /** - * For getting notifications of number of numbers - * used with contact matching changes. - * Own. - */ - CCenRepNotifyHandler* iCenRepNotifyHandler; - /** * Contact manager is needed with match strategy. * Not own. @@ -189,11 +167,6 @@ CVPbkContactStoreUriArray* iUriArray; /** - * Number of digits used with matching. - */ - TInt iNumberOfDigits; - - /** * Number extractor. * Own. */ diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchervoipimpl.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchervoipimpl.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchervoipimpl.h Thu Sep 09 18:09:57 2010 +0100 @@ -44,7 +44,7 @@ * Match number to phonebook. * @since S60 v3.2 * @param aMatch Found match, owership tranferred. NULL if not found any. - * @param aNumber Number to match against. + * @param aMatchString Number to match against. * @param aAllowUserNameMatch If true user name match is allowed. * @param aCharsForMatching Characters for user name match. Match is started from * the rigth of the user name part. (see CS call match) @@ -54,7 +54,7 @@ */ TInt MatchVoipNumber( MPhCntMatch*& aMatch, - const TDesC& aNumber, + const TDesC& aMatchString, TBool aAllowUserNameMatch, MDesCArray* aContactStoreUris, TInt aCharsForMatching = 0 ); @@ -65,6 +65,7 @@ * by contact id. * @since Series60 3.2 * @param aMatch for found match, owership tranferred. Empty if not found. + * @param aMatchString Number to match against. * @param aContactId for current contact. * @return Error code: KErrNone - VoIP call contact found * KErrNotFound - no VoIP call contact found @@ -72,6 +73,7 @@ */ TInt MatchVoipNumber( MPhCntMatch*& aMatch, + const TDesC& aMatchString, const CPhCntContactId& aContactId ); @@ -110,6 +112,16 @@ */ TInt CreateMatcher(); + /** + * Sets matched VoIP number if it was found. + * + * @param aContact Contact, which is checked. + * @param aMatchString Number to match against. + */ + void SetMatchedVoIPNumberIfExists( + CPhCntContact& aContact, + const TDesC& aMatchString ); + private: // data diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h Thu Sep 09 18:09:57 2010 +0100 @@ -126,6 +126,8 @@ void CopyNumberL( TDes& aAppendTo, const TDesC& aNumber ); + void ParseNumber( TDes& aNumber ); + /** * Setups the field info with new attributes. * @param aContact Contact information diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactfields.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactfield.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implements contact selection strategy. +* +*/ + + +#ifndef TPHCNTCONTACTSELECTIONSTRATEGY_H_ +#define TPHCNTCONTACTSELECTIONSTRATEGY_H_ + +// System includes +#include +#include + +// Forward declarations +class MVPbkContactLinkArray; +class CVPbkContactStoreUriArray; + +// Constants +const TInt KNoContact = -1; +const TInt KManyContacts = -2; + + +/** + * Implements contact selection strategy. + * + */ +NONSHARABLE_CLASS( TPhCntContactSelectionStrategy ) + { +public: + + /** Defines the options for contact selection strategy */ + enum TAllowSeveralMatches + { + EAllowSingleMatch, + EAllowSeveralMatches + }; + +public: + TPhCntContactSelectionStrategy( ); + +public: + /** + * Sets the contact selection strategy used in conjunction with + * ApplyStrategy -method. + * + * @param aSeveralMatchesAllowed Option for contact selection strategy. + */ + void SetContactSelectionStrategy( TAllowSeveralMatches aSeveralMatchesAllowed ); + + /** + * Returns the selected contact according to strategy. + * If a call to SetContactSelectionStrategy is not made, + * EAllowSingleMatch strategy is applied. + * + * @param aContactLinkArray Array of matching contacts. + * @return index in array of selected contact. + * KNoContact if empty array is passed. + * KNoContact if several matches and EAllowSingleMatch set. + */ + TInt ApplyStrategy( const MVPbkContactLinkArray& aContactLinkArray ); + + /** + * Returns the selected contact if single match from + * additional contact stores is found. + * + * @param aContactLinkArray Array of matching contacts. + * @param aAdditionalStoreUriArray Array of additional contact stores. + * @return index in array of selected contact. + * KNoContact if empty array is passed. + * KManyContacts if several matches. + */ + TInt ApplyAdditonalStoreStrategy( const MVPbkContactLinkArray& aContactLinkArray, + const CVPbkContactStoreUriArray& aAdditionalStoreUriArray ); + +protected: + /** + * Returns the URI of the contact store of the contact. + * + * @param aContactLinkArrayIndex Specifies the contact. + * @return URI of the contact store. + */ + virtual TVPbkContactStoreUriPtr GetContactStoreUri( TInt aContactLinkArrayIndex ); + +private: + TInt ApplySingleMatchStrategy( ); + TInt ApplySeveralMatchesStrategy( ); + +private: + TAllowSeveralMatches iSeveralMatchesAllowed; + + /* Not owned */ + const MVPbkContactLinkArray* iContactLinkArray; + }; + + +#endif /* TPHCNTCONTACTSELECTIONSTRATEGY_H_ */ diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/inc/tphcntnumber.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -116,18 +116,20 @@ // MPhCntContactMatchStrategy* CPhCntContactManager::CreateContactMatchStrategyL( MVPbkContactFindObserver& aObserver, - TBool aRemoveDuplicates ) + TDuplicateRemovalStrategy aStrategy ) { - TUint32 dupesMatch = + const TUint32 removeDuplicatesStrategyFlag = CVPbkPhoneNumberMatchStrategy::EVPbkDuplicatedContactsMatchFlag | CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag; - TUint32 noDupesMatch = CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag; - + const TUint32 dontRemoveDuplicatesStrategyFlag = + CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag; + return CPhCntContactMatchStrategy::NewL( *iContactManager, *iContactStoreUris, aObserver, - aRemoveDuplicates ? dupesMatch : noDupesMatch ); + aStrategy == ERemoveDuplicates ? + removeDuplicatesStrategyFlag : dontRemoveDuplicatesStrategyFlag ); } // --------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -15,15 +15,16 @@ * */ - - #include #include #include #include #include #include - +#include +#include +#include +#include #include "CPhCntMatcherImpl.h" #include "cphcntmatchcontact.h" @@ -35,8 +36,28 @@ #include "MPhoneCntPbkOwner.h" #include "cphcntvpbkcontactid.h" #include "cphcntcontactmatchstrategy.h" -#include +// Local functions +/** + * Gets contact selection strategy from localvariation flag. + */ +TPhCntContactSelectionStrategy::TAllowSeveralMatches + GetContactSelectionStrategyL() + { + CRepository* repository = CRepository::NewLC( KCRUidTelVariation ); + TInt variationFlag; + User::LeaveIfError( repository->Get( KTelVariationFlags, variationFlag ) ); + CleanupStack::PopAndDestroy( repository ); + + if( variationFlag & KTelephonyLVFlagShowContactWhenSeveralMatches ) + { + return TPhCntContactSelectionStrategy::EAllowSeveralMatches; + } + else + { + return TPhCntContactSelectionStrategy::EAllowSingleMatch; + } + } // --------------------------------------------------------------------------- @@ -78,25 +99,25 @@ TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchNumber" ); TInt err = CreateMatcher(); if ( !err ) - { - // Check if we already have the contact. - CPhCntContact* contact = iFoundContacts->FindContact( aTelNumber ); + { + // Check if we already have the contact. + CPhCntContact* contact = iFoundContacts->FindContact( aTelNumber ); - err = KErrNone; - if( !contact ) - { - // Get contact from contact stores - TRAPD( traperr, err = GetContactL( aMatch, aTelNumber )); - if ( traperr ) - { - err = traperr; - } - } - else - { - aMatch = contact; - } - } + err = KErrNone; + if( !contact ) + { + // Get contact from contact stores + TRAPD( traperr, err = GetContactL( aMatch, aTelNumber )); + if ( traperr ) + { + err = traperr; + } + } + else + { + aMatch = contact; + } + } TEFLOGSTRING2( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchNumber %d " , err); return err; } @@ -113,31 +134,31 @@ { TInt err = CreateMatcher(); if ( !err ) - { - if( aContactId.IsValid() ) - { - // Do we have existing contact for the link and number. - const CPhCntVPbkContactId& contactId = - static_cast( aContactId ); - const MVPbkContactLink& link = contactId.ContactLink(); - aMatch = - iFoundContacts->FindContact( aTelNumber, link ); - if( !aMatch ) - { - // Get the contact. - CPhCntContact* match = NULL; - err = FetchContact( match, link, aTelNumber ); - if( !err ) - { - aMatch = match; - } - } - } - else - { - err = MatchNumber( aMatch, aTelNumber ); - } - } + { + if( aContactId.IsValid() ) + { + // Do we have existing contact for the link and number. + const CPhCntVPbkContactId& contactId = + static_cast( aContactId ); + const MVPbkContactLink& link = contactId.ContactLink(); + aMatch = + iFoundContacts->FindContact( aTelNumber, link ); + if( !aMatch ) + { + // Get the contact. + CPhCntContact* match = NULL; + err = FetchContact( match, link, aTelNumber ); + if( !err ) + { + aMatch = match; + } + } + } + else + { + err = MatchNumber( aMatch, aTelNumber ); + } + } return err; } @@ -163,6 +184,7 @@ // TInt CPhCntMatcherImpl::MatchVoipNumber( MPhCntMatch*& /*aMatch*/, + const TDesC& /*aMatchString*/, const CPhCntContactId& /*aContactId*/ ) { return KErrNotFound; @@ -190,12 +212,8 @@ TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::GetContactL" ); // Try to find matching contact. const MVPbkContactLinkArray* linkArray = NULL; - delete iCSMatchStrategy; - iCSMatchStrategy = 0; - iCSMatchStrategy = iContactManager.CreateContactMatchStrategyL( *iMatchContact, - EFalse ); // don't remove duplicates - TInt err( iMatchContact->MatchContact( linkArray, aTelNumber, - *iCSMatchStrategy ) ); + TInt err = MatchContactL( linkArray, aTelNumber, + MPhCntContactManager::EDontRemoveDuplicates ); CPhCntContact* match( NULL ); TInt index( KErrNotFound ); @@ -203,18 +221,22 @@ // Apply exact match on additional stores first. // If match is found, don't care about other stores as // these come first. - if( !err && ( linkArray->Count() > 1 ) ) - { - index = MatchFromAdditionalStore( *linkArray ); - - // Single match on additonal stores - if ( index != KErrNotFound && index != KErrAlreadyExists ) + if( !err ) + { + const CVPbkContactStoreUriArray& additionalStores = iContactManager.AdditionalContactStoreUris(); + index = iContactSelectionStrategy.ApplyAdditonalStoreStrategy( *linkArray, additionalStores ); + + const TBool manyContactsFound = index == KManyContacts; + const TBool singleContactFound = + index != KNoContact && index != KManyContacts; + + if ( singleContactFound ) { FetchContact( match, linkArray->At( index ), aTelNumber ); aMatch = match; return err; } - else if ( index == KErrAlreadyExists ) //Several matches on additional stores + else if ( manyContactsFound ) { aMatch = match; return KErrNotFound; @@ -223,30 +245,46 @@ if( !err && ( linkArray->Count() > 1 ) ) { - delete iCSMatchStrategy; - iCSMatchStrategy = 0; - iCSMatchStrategy = iContactManager.CreateContactMatchStrategyL( - *iMatchContact, ETrue ); //remove duplicates - err = iMatchContact->MatchContact( linkArray, aTelNumber, - *iCSMatchStrategy ); + err = MatchContactL( linkArray, aTelNumber, + MPhCntContactManager::ERemoveDuplicates ); } if ( !err ) { - // If only one contact, no additional checks needed - if ( linkArray->Count() == 1 ) - { - index = 0; - } + index = iContactSelectionStrategy.ApplyStrategy( *linkArray ); } - // Finally fetch contact details - if ( index != KErrNotFound ) + if ( index != KNoContact ) { FetchContact( match, linkArray->At( index ), aTelNumber ); + aMatch = match; } + else + { + err = KErrNotFound; + } + + TEFLOGSTRING2( KTAMESIN,"CNT CPhCntMatcherImpl::GetContactL,err: %d", err ); + return err; + } - aMatch = match; +// --------------------------------------------------------------------------- +// Matches contact +// --------------------------------------------------------------------------- +// +TInt CPhCntMatcherImpl::MatchContactL( + const MVPbkContactLinkArray*& aContactLinkArray, + const TDesC& aTelNumber, + MPhCntContactManager::TDuplicateRemovalStrategy aRemoveDuplicatesStrategy ) + { + delete iCSMatchStrategy; + iCSMatchStrategy = NULL; + iCSMatchStrategy = iContactManager.CreateContactMatchStrategyL( + *iMatchContact, + aRemoveDuplicatesStrategy ); + + const TInt err( iMatchContact->MatchContact( aContactLinkArray, aTelNumber, + *iCSMatchStrategy ) ); return err; } @@ -266,26 +304,26 @@ // --------------------------------------------------------------------------- // void CPhCntMatcherImpl::DoCreateMatcherL() - { - TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::DoCreateMatcherL" ); - if ( !iContactStores ) - { - iFoundContacts = CPhCntFoundContacts::NewL(); - iContactStores = CPhCntContactStores::NewL( iContactManager ); - iMatchContact = CPhCntMatchContact::NewL(); - iFetchContact = CPhCntFetchContact::NewL( *iContactStores ); - } - } + { + TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::DoCreateMatcherL" ); + if ( !iContactStores ) + { + iFoundContacts = CPhCntFoundContacts::NewL(); + iContactStores = CPhCntContactStores::NewL( iContactManager ); + iMatchContact = CPhCntMatchContact::NewL(); + iFetchContact = CPhCntFetchContact::NewL( *iContactStores ); + } + } // --------------------------------------------------------------------------- // Delayed on-demand based construction // --------------------------------------------------------------------------- // TInt CPhCntMatcherImpl::CreateMatcher() - { - TRAPD( err, DoCreateMatcherL() ); - return err; - } + { + TRAPD( err, DoCreateMatcherL() ); + return err; + } // --------------------------------------------------------------------------- // Second phase constructor @@ -293,6 +331,9 @@ // void CPhCntMatcherImpl::ConstructL() { + const TPhCntContactSelectionStrategy::TAllowSeveralMatches strategy = + GetContactSelectionStrategyL(); + iContactSelectionStrategy.SetContactSelectionStrategy( strategy ); } // --------------------------------------------------------------------------- @@ -322,37 +363,3 @@ return err; } -// -------------------------------------------------------------------------- -// CPhCntMatcherImpl::MatchFromAdditionalStore -// -------------------------------------------------------------------------- -// -TInt CPhCntMatcherImpl::MatchFromAdditionalStore( - const MVPbkContactLinkArray& linkArray ) const - { - TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchFromAdditionalStore" ); - TInt ret( KErrNotFound ); - TInt found(0); // count of found contacts from additional stores. - - for ( TInt i = 0; i < linkArray.Count(); i++ ) - { - TVPbkContactStoreUriPtr uri = - linkArray.At( i ).ContactStore().StoreProperties().Uri(); - - // Compare if contact is from additional store. - if ( iContactManager.AdditionalContactStoreUris().IsIncluded( uri ) ) - { - // Contact found from additional store. - found++; - ret = i; - } - } - - if ( found > 1) - { - // Multiple matches from additional stores -> no match. - ret = KErrAlreadyExists; - } - - return ret; - } - diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/CPhCntService.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/cphcntasynctosync.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -17,8 +17,6 @@ #include -#include -#include #include #include // KBestMatchingPhoneNumbers @@ -27,10 +25,7 @@ #include "CPhoneRawMatchNumberExtractor.h" -// Digit count used to match CS number. -const TInt KPhCntMatchMin = 7; -const TInt KPhCntMatchMax = 11; -const TInt KPhCntMatchDefault = KPhCntMatchMin; + // ======== MEMBER FUNCTIONS ======== @@ -55,29 +50,6 @@ // void CPhCntContactMatchStrategy::ConstructL() { - iCenRepSession = CRepository::NewL( KCRUidTelConfiguration ); - iCenRepNotifyHandler = - CCenRepNotifyHandler::NewL( - *this, - *iCenRepSession, - CCenRepNotifyHandler::EIntKey, - KTelMatchDigits ); - - iCenRepNotifyHandler->StartListeningL(); - - iNumberOfDigits = KPhCntMatchDefault; - TInt sdMatchValue = KErrNotFound; - - // Find digit count to be used with matching. - if ( iCenRepSession->Get( KTelMatchDigits, sdMatchValue ) - == KErrNone ) - { - // If we can find a proper value from the cenrep, use it. - if ( sdMatchValue >= KPhCntMatchMin && sdMatchValue <= KPhCntMatchMax ) - { - iNumberOfDigits = sdMatchValue; - } - } User::LeaveIfError( CreateContactMatchStrategy() ); iNumberExtractor = new( ELeave )CCntRawPhoneNumberExtractor(); @@ -117,13 +89,6 @@ { iNumberExtractor->Release(); } - - if( iCenRepNotifyHandler ) - { - iCenRepNotifyHandler->StopListening(); - } - delete iCenRepNotifyHandler; - delete iCenRepSession; delete iMatchStrategy; delete iUriArray; } @@ -137,14 +102,14 @@ { if( iMatchStrategy ) { - MatchL( aPhoneNumber ); + DoMatchL( aPhoneNumber ); } else { const TInt err( CreateContactMatchStrategy() ); if( !err ) { - MatchL( aPhoneNumber ); + DoMatchL( aPhoneNumber ); } else { @@ -181,37 +146,6 @@ } // --------------------------------------------------------------------------- -// From base class MCenRepNotifyHandlerCallback -// Notification from CenRep -// --------------------------------------------------------------------------- -// -void CPhCntContactMatchStrategy::HandleNotifyString( - TUint32 aUid, - const TDesC16& aValue ) - { - if ( aUid == KTelMatchDigits ) - { - TLex lexer( aValue ); - TInt value; - const TInt err( lexer.Val( value ) ); - - if( !err ) - { - if ( value < KPhCntMatchMin || value > KPhCntMatchMax ) - { - iNumberOfDigits = KPhCntMatchDefault; - } - else - { - iNumberOfDigits = value; - } - CreateContactMatchStrategy(); - } - - } - } - -// --------------------------------------------------------------------------- // From base class MPhCntContactStoreEventObserver // Updates match strategy. // --------------------------------------------------------------------------- @@ -224,20 +158,6 @@ } // --------------------------------------------------------------------------- -// Removes extra characters from number and matches with raw number. -// --------------------------------------------------------------------------- -// -void CPhCntContactMatchStrategy::MatchL( - const TDesC& aPhoneNumber ) - { - HBufC* rawNumber = HBufC::NewLC( aPhoneNumber.Length() ); - TPtr rawNumberPtr = rawNumber->Des(); - iNumberExtractor->ExtractRawNumber( aPhoneNumber, rawNumberPtr ); - DoMatchL( *rawNumber ); - CleanupStack::PopAndDestroy( rawNumber ); - } - -// --------------------------------------------------------------------------- // Creates contact match strategy // --------------------------------------------------------------------------- // diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchervoipimpl.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchervoipimpl.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchervoipimpl.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -78,117 +78,116 @@ TInt err = CreateMatcher(); if ( err == KErrNone ) - { - CPhCntContact* existingContact = - iFoundContacts->FindContact( sipUri.SipURI() ); - if( !existingContact ) { - // Check for service specific contact stores and - // open stores if not open - if ( aContactStoreUris ) + CPhCntContact* existingContact = + iFoundContacts->FindContact( sipUri.SipURI() ); + if( !existingContact ) { - TInt storeCount = aContactStoreUris->MdcaCount(); - for( TInt i = 0; i < storeCount ; i++ ) + // Check for service specific contact stores and + // open stores if not open + if ( aContactStoreUris ) + { + TInt storeCount = aContactStoreUris->MdcaCount(); + for( TInt i = 0; i < storeCount ; i++ ) + { + TPtrC storeUri = aContactStoreUris->MdcaPoint( i ); + + err = iContactStoreLoader->LoadContactStoreWithUri( storeUri ); + } + } + + const MVPbkContactLinkArray* linkArray = NULL; + + // Find possible contacts. + if( aAllowUserNameMatch && !aCharsForMatching ) + { + err = iMatchContact->MatchContact( + linkArray, sipUri.UserNamePart(), *iVoipMatchStrategy ); + } + else if ( aCharsForMatching ) + { + err = iMatchContact->MatchContact( + linkArray, sipUri.FixedUserNamePart(), *iVoipMatchStrategy ); + } + else + { + err = iMatchContact->MatchContact( + linkArray, sipUri.SipURI() , *iVoipMatchStrategy ); + } + + MPhCntMatch* match = NULL; + if( !err ) { - TPtrC storeUri = aContactStoreUris->MdcaPoint( i ); - - err = iContactStoreLoader->LoadContactStoreWithUri( storeUri ); - } - } - - const MVPbkContactLinkArray* linkArray = NULL; - - // Find possible contacts. - if( aAllowUserNameMatch && !aCharsForMatching ) - { - err = iMatchContact->MatchContact( - linkArray, sipUri.UserNamePart(), *iVoipMatchStrategy ); - } - else if ( aCharsForMatching ) - { - err = iMatchContact->MatchContact( - linkArray, sipUri.FixedUserNamePart(), *iVoipMatchStrategy ); + // Fetch all the matched contacts, because iVoipMatchStrategy + // could give us a match that is matched to wrong contact field. + const TInt matchedContacts( linkArray->Count() ); + + // Find real matches. + TPhCntVoipMatchArray voipMatches; + for( TInt i = 0; i < matchedContacts; i++ ) + { + // Get contacts from phone book. + CPhCntContact* match = NULL; + err = FetchContact( match, linkArray->At( i ), sipUri.SipURI() ); + if( !err ) + { + TRAP_IGNORE( voipMatches.AppendL( match ) ); + } + else + { + // Error in fetching contacts + break; + } + } + + if( aAllowUserNameMatch || aCharsForMatching ) + { + match = voipMatches.FindFullOrUsernameMatch( sipUri, aCharsForMatching ); + } + else + { + // Take the first match, that is voip contact. Gives NULL if match not found. + match = voipMatches.FindFullMatch( sipUri ); + } + + // Release extra matches + voipMatches.ReleaseMatches(); + } + + // If no error and match still null pointer, then no contacts were found. + if( !err && !match ) + { + err = KErrNotFound; + } + else + { + aMatch = match; + } } else { - err = iMatchContact->MatchContact( - linkArray, sipUri.SipURI() , *iVoipMatchStrategy ); - } - - - MPhCntMatch* match = NULL; - if( !err ) - { - // Fetch all the matched contacts, because iVoipMatchStrategy - // could give us a match that is matched to wrong contact field. - const TInt matchedContacts( linkArray->Count() ); - - // Find real matches. - TPhCntVoipMatchArray voipMatches; - for( TInt i = 0; i < matchedContacts; i++ ) - { - // Get contacts from phone book. - CPhCntContact* match = NULL; - err = FetchContact( match, linkArray->At( i ), sipUri.SipURI() ); - if( !err ) - { - TRAP_IGNORE( voipMatches.AppendL( match ) ); - } - else - { - // Error in fetching contacts - break; - } - } - - if( aAllowUserNameMatch || aCharsForMatching ) - { - match = voipMatches.FindFullOrUsernameMatch( sipUri, aCharsForMatching ); - } - else - { - // Take the first match, that is voip contact. Gives NULL if match not found. - match = voipMatches.FindFullMatch( sipUri ); - } - - // Release extra matches - voipMatches.ReleaseMatches(); - } - - // If no error and match still null pointer, then no contacts were found. - if( !err && !match ) - { - err = KErrNotFound; - } - else - { - aMatch = match; + aMatch = existingContact; } } - else - { - aMatch = existingContact; - } - } return err; } - + // --------------------------------------------------------------------------- // From class CPhCntMatcher // Matches voip contacts // --------------------------------------------------------------------------- TInt CPhCntMatcherVoIPImpl::MatchVoipNumber( - MPhCntMatch*& aMatch, - const CPhCntContactId& aContactId ) + MPhCntMatch*& aMatch, + const TDesC& aMatchString, + const CPhCntContactId& aContactId ) { const CPhCntVPbkContactId& contactId = static_cast( aContactId ); - + const MVPbkContactLink& contactLink = contactId.ContactLink(); - - TInt err = CreateMatcher(); + TInt err = CreateMatcher(); const TVPbkContactStoreUriPtr uri = contactLink.ContactStore().StoreProperties().Uri(); @@ -197,61 +196,78 @@ iContactStoreLoader->LoadContactStoreWithUri( uri.UriDes() ); if ( err == KErrNone ) - { - CPhCntContact* existingContact = - iFoundContacts->FindContact( contactLink ); - - - if( !existingContact ) { - CPhCntContact* contact = NULL; - err = iFetchContact->FetchContact( contactLink, contact ); - - if( !err ) + CPhCntContact* existingContact = + iFoundContacts->FindContact( contactLink ); + + if ( !existingContact ) { - const RArray& allNumbers = - contact->AllNumbers(); - const TInt count( allNumbers.Count() ); - for( TInt i = 0; i < count; i++ ) + CPhCntContact* contact = NULL; + err = iFetchContact->FetchContact( contactLink, contact ); + + if ( !err ) { - // Take first voip number and set it as contacts number. - TPhCntNumber number = allNumbers[i]; - if( number.Type() == MPhCntMatch::EVoipNumber || - number.Type() == MPhCntMatch::EMobileNumber || - number.Type() == MPhCntMatch::EStandardNumber || - number.Type() == CPhCntContact::EPagerNumber || - number.Type() == CPhCntContact::EVideoNumber || - number.Type() == CPhCntContact::EAssistantNumber || - number.Type() == CPhCntContact::EFaxNumber || - number.Type() == CPhCntContact::ECarNumber ) + SetMatchedVoIPNumberIfExists( *contact, aMatchString ); + + TPhCntSipURI sipUri( contact->Number() ); + TRAP( err, iFoundContacts->AddL( contact, sipUri.SipURI() ) ); + if ( err ) { - contact->SetMatchedVoipNumber( TPhCntSipURI( number.Number() ) ); - break; + delete contact; + } + else + { + aMatch = contact; } } - TPhCntSipURI sipUri( contact->Number() ); - TRAP( err, iFoundContacts->AddL( contact, sipUri.SipURI() ) ); - if( err ) - { - delete contact; - } - else - { - aMatch = contact; - } - + } + else + { + aMatch = existingContact; } } - else - { - aMatch = existingContact; - } - } return err; } // --------------------------------------------------------------------------- +// Sets matched VoIP number if it was found. +// --------------------------------------------------------------------------- +// +void CPhCntMatcherVoIPImpl::SetMatchedVoIPNumberIfExists( + CPhCntContact& aContact, + const TDesC& aMatchString ) + { + const RArray& allNumbers = aContact.AllNumbers(); + const TInt numberCount( allNumbers.Count() ); + TPhCntSipURI sipUri( aMatchString ); + + for ( TInt i = 0; i < numberCount; i++ ) + { + TPhCntNumber number = allNumbers[i]; + if ( number.Type() == CPhCntContact::EVoipNumber || + number.Type() == CPhCntContact::EMobileNumber || + number.Type() == CPhCntContact::EStandardNumber || + number.Type() == CPhCntContact::EPagerNumber || + number.Type() == CPhCntContact::EVideoNumber || + number.Type() == CPhCntContact::EAssistantNumber || + number.Type() == CPhCntContact::EFaxNumber || + number.Type() == CPhCntContact::ECarNumber ) + { + // If uris are the same then we have a full match. + // (usernamepart requires case sensitive match, domain is not sensitive) + TPhCntSipURI matchURI( number.Number() ); + if ( matchURI.SipURI().CompareF( sipUri.SipURI() ) == KErrNone && + matchURI.UserNamePart().Compare( sipUri.UserNamePart() ) == KErrNone ) + { + aContact.SetMatchedVoipNumber( matchURI ); + break; + } + } + } + } + +// --------------------------------------------------------------------------- // From class CPhCntMatcher // Determines if contact has CS numbers. // --------------------------------------------------------------------------- @@ -265,28 +281,26 @@ if ( CreateMatcher() == KErrNone ) { + // Check if we have contact already. + CPhCntContact* contact = + iFoundContacts->FindContact( contactId.ContactLink() ); - // Check if we have contact already. - CPhCntContact* contact = - iFoundContacts->FindContact( contactId.ContactLink() ); - - if( contact ) - { - hasCSNumbers = HasCSNumbers( contact ); - contact->Release(); - } - else - { - // Fetch the contact from Virtual phonebook. - const TInt err = - iFetchContact->FetchContact( contactId.ContactLink(), contact ); - hasCSNumbers = HasCSNumbers( contact ); - - // We can delete the contact, because it is not added to - // iFoundContacts. - delete contact; - } - + if ( contact ) + { + hasCSNumbers = HasCSNumbers( contact ); + contact->Release(); + } + else + { + // Fetch the contact from Virtual phonebook. + const TInt err = + iFetchContact->FetchContact( contactId.ContactLink(), contact ); + hasCSNumbers = HasCSNumbers( contact ); + + // We can delete the contact, because it is not added to + // iFoundContacts. + delete contact; + } } return hasCSNumbers; @@ -323,17 +337,17 @@ { TBool hasCSNumbers = EFalse; - if( aContact ) + if ( aContact ) { const RArray& allNumbers = aContact->AllNumbers(); const TInt count( allNumbers.Count() ); for( TInt i = 0; i < count; i++ ) { const MPhCntMatch::TNumberType type = allNumbers[i].Type(); - if( type != MPhCntMatch::ENone && - type != MPhCntMatch::EFaxNumber && - type != MPhCntMatch::EPagerNumber && - type != MPhCntMatch::EVoipNumber + if ( type != MPhCntMatch::ENone && + type != MPhCntMatch::EFaxNumber && + type != MPhCntMatch::EPagerNumber && + type != MPhCntMatch::EVoipNumber ) { hasCSNumbers = ETrue; @@ -343,10 +357,14 @@ return hasCSNumbers; } +// --------------------------------------------------------------------------- +// Creates the contact matcher. +// --------------------------------------------------------------------------- +// TInt CPhCntMatcherVoIPImpl::CreateMatcher() { TInt err = CPhCntMatcherImpl::CreateMatcher(); - if (!err && !iVoipMatchStrategy ) + if ( !err && !iVoipMatchStrategy ) { TRAP( err, iVoipMatchStrategy = CPhCntVoipContactMatchStrategy::NewL( iContactManager, diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -33,6 +33,11 @@ #include "CPhCntContact.h" #include "cphcntvpbkcontactid.h" #include "CPhCntContactManager.h" +#include "pevirtualengine.h" + +// Characters that are needed to be stripped out +// from phone number before dialing. +_LIT( KInvalidPhonenumberCharacters, " ()-" ); // ======== MEMBER FUNCTIONS ======== @@ -97,6 +102,27 @@ User::Leave( KErrArgument ); } } + +// --------------------------------------------------------------------------- +// CPhCntSpeedDialImpl::ParseNumber +// --------------------------------------------------------------------------- +// +void CPhCntSpeedDialImpl::ParseNumber( TDes& aNumber ) + { + TBuf< KPEPhoneNumberMaxLength > parsedNumber = KNullDesC(); + TLex parser( aNumber ); + TChar c; + while( !parser.Eos() ) + { + c = parser.Get(); + if ( KErrNotFound == KInvalidPhonenumberCharacters().Locate( c ) ) + { + parsedNumber.Append( c ); + } + } + aNumber = parsedNumber; + } + // --------------------------------------------------------------------------- // CPhCntSpeedDialImpl::CopyContactInfoToFieldInfoL // --------------------------------------------------------------------------- @@ -106,14 +132,6 @@ TInt aSpeedDialPosition, TSpdDialFieldInfo& aFieldInfo ) { - - MVPbkContactLink* contactLink = aContact.ContactLink()->CloneLC(); - CPhCntVPbkContactId* contactId = - CPhCntVPbkContactId::NewL( contactLink, iContactManager ); - CleanupStack::Pop(); // contactLink - aFieldInfo.iContactId = contactId; - - aFieldInfo.iThumbIndex = KErrNotFound; TPhCntNumber speedDial = aContact.SpeedDialNumber( aSpeedDialPosition ); aFieldInfo.iNumberType = speedDial.Type(); } @@ -194,6 +212,7 @@ TPhCntNumber speedDial( contact->SpeedDialNumber( aSpeedDialPosition ) ); CopyNumberL( aPhoneNumber, speedDial.Number() ); CleanupStack::PopAndDestroy( contact ); + ParseNumber( aPhoneNumber ); } return err; } @@ -217,6 +236,7 @@ CopyNumberL( aPhoneNumber, speedDial.Number() ); CopyContactInfoToFieldInfoL( *contact, aSpeedDialPosition, aFieldInfo ); CleanupStack::PopAndDestroy( contact ); + ParseNumber( aPhoneNumber ); } return err; } @@ -260,6 +280,9 @@ TInt err = iSpdDial->ShowAssign( aSpeedDialPosition, link ); delete iSpdDial; iSpdDial = NULL; + delete link; + link = NULL; + if ( err == KErrNone ) { err = FetchNumberL( aSpeedDialPosition, aPhoneNumber ); diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/cphcntstoreloaderimpl.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactselectionstrategy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactselectionstrategy.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,141 @@ +/* +* Copyright (c) Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implementation of TPhCntContactSelectionStrategy class. +* +*/ + +#include +#include +#include +#include +#include + +#include "tphcntcontactselectionstrategy.h" + +const TInt KFirstContactInList = 0; + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TPhCntContactSelectionStrategy::TPhCntContactSelectionStrategy( ) + { + iSeveralMatchesAllowed = TPhCntContactSelectionStrategy::EAllowSingleMatch; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void TPhCntContactSelectionStrategy::SetContactSelectionStrategy( + TAllowSeveralMatches aSeveralMatchesAllowed ) + { + iSeveralMatchesAllowed = aSeveralMatchesAllowed; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt TPhCntContactSelectionStrategy::ApplyStrategy( + const MVPbkContactLinkArray& aContactLinkArray ) + { + iContactLinkArray = &aContactLinkArray; + + if ( iSeveralMatchesAllowed == TPhCntContactSelectionStrategy::EAllowSingleMatch ) + { + return ApplySingleMatchStrategy( ); + } + else + { + return ApplySeveralMatchesStrategy( ); + } + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt TPhCntContactSelectionStrategy::ApplyAdditonalStoreStrategy( + const MVPbkContactLinkArray& aContactLinkArray, + const CVPbkContactStoreUriArray& aAdditionalStoreUriArray ) + { + iContactLinkArray = &aContactLinkArray; + + TInt ret( KNoContact ); + TInt contactsFoundFromAdditionalStore(0); + + for ( TInt i = 0; i < aContactLinkArray.Count(); i++ ) + { + TVPbkContactStoreUriPtr uri = GetContactStoreUri( i ); + + if ( aAdditionalStoreUriArray.IsIncluded( uri ) ) + { + contactsFoundFromAdditionalStore++; + ret = i; + } + } + + if ( contactsFoundFromAdditionalStore > 1 ) + { + // Multiple matches from additional stores -> no match. + ret = KManyContacts; + } + + return ret; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TVPbkContactStoreUriPtr TPhCntContactSelectionStrategy::GetContactStoreUri( + TInt aContactLinkArrayIndex ) + { + return iContactLinkArray->At( aContactLinkArrayIndex ).ContactStore().StoreProperties().Uri(); + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt TPhCntContactSelectionStrategy::ApplySingleMatchStrategy( ) + { + if ( iContactLinkArray->Count() == 1 ) + { + return KFirstContactInList; + } + else + { + return KNoContact; + } + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +TInt TPhCntContactSelectionStrategy::ApplySeveralMatchesStrategy( ) + { + if ( iContactLinkArray->Count() >= 1 ) + { + return KFirstContactInList; + } + else + { + return KNoContact; + } + } diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparams.cpp --- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparams.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparams.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -249,8 +249,6 @@ aContactManager.AppendFilterToSelectorL( *iContactViewFilter, EVPbkContactViewFilterPhoneNumber ); - - iDefaultPriorities.Append( EVPbkDefaultTypePhoneNumber ); TAiwSingleItemSelectionDataV3 data = TAiwSingleItemSelectionDataV3(); diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/Group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp --- a/phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp Thu Sep 09 18:09:57 2010 +0100 @@ -79,6 +79,7 @@ SOURCE tphcntcontactstorestate.cpp SOURCE cphcntcontactdataselectionimpl.cpp SOURCE cphcntstoreloaderimpl.cpp +SOURCE tphcntcontactselectionstrategy.cpp USERINCLUDE ../ContactService/inc USERINCLUDE ../inc diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/CPhCntMatch.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/CPhCntMatchItem.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h --- a/phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h Thu Sep 09 18:09:57 2010 +0100 @@ -54,7 +54,7 @@ * @param aTelNumber Number to match against. * @return Error code: KErrNone - one match found * KErrNotFound - no matches found - * KErrAlreadyExists - several matches -> no match + * KErrNotFound - several matches -> no match * KErrUnderflow - Number too short for matching * KErrAccessDenied - Can't get phonebook instance * other - normal Symbian OS error @@ -102,7 +102,7 @@ /** * Match number to phonebook. * @param aMatch Found match, owership tranferred. NULL if not found any. - * @param aNumber Number to match against. + * @param aMatchString Number to match against. * @param aAllowUsernameMatch * is ETrue if username is sufficient for match. * @param aContactStoreUris @@ -116,7 +116,7 @@ */ virtual TInt MatchVoipNumber( MPhCntMatch*& aMatch, - const TDesC& aNumber, + const TDesC& aMatchString, const TBool aAllowUsernameMatch, MDesCArray* aContactStoreUris, TInt aCharsForMatching = 0 ) = 0; @@ -126,6 +126,7 @@ * by contact id. * @since Series60 3.0 * @param aMatch for found match, owership tranferred. Empty if not found. + * @param aMatchString Number to match against. * @param aContactId for current contact. * @return Error code: KErrNone - VoIP call contact found * KErrNotFound - no VoIP call contact found @@ -133,6 +134,7 @@ */ virtual TInt MatchVoipNumber( MPhCntMatch*& aMatch, + const TDesC& aMatchString, const CPhCntContactId& aContactId ) = 0; /** diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/Misc/CPhCntSpeedDialMonitor.h --- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSpeedDialMonitor.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSpeedDialMonitor.h Thu Sep 09 18:09:57 2010 +0100 @@ -49,12 +49,7 @@ */ struct TSpdDialFieldInfo { - CPhCntContactId* iContactId; - MPhCntMatch::TNumberType iNumberType; - - // Thumbnail index of a grid array. - TInt iThumbIndex; }; /** diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/Misc/CPhCntThumbnailLoaderImpl.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/inc/Misc/MPhCntThumbnailLoaderObserver.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/PhoneCntFinder/src/CPhoneCntFactoryImpl.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/bwins/audiohandlingu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/data/defaultbeep.rss diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/eabi/audiohandlingu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/group/audiohandling.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/audiodataproxy.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/cpeaudiodata.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/cpeaudiodtmftoneplayer.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/cpeaudiofactory.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/cpeaudioinbandtoneplayer.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/cpegsmaudiodata.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/inc/defaultbeep.rh diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpeaudiodata.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp --- a/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -32,7 +32,7 @@ // None // CONSTANTS -const TInt KDtmfSilent = 0; + const TInt KDtmfPauseAfterTone = 45000; const TInt KDtmfToneZero = 0; const TInt KBufSize = 10; diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpeaudiofactory.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpeaudioroutingmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpecallaudioroutinghandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/audiohandling/src/cpegsmaudiodata.cpp --- a/phoneengine/audiohandling/src/cpegsmaudiodata.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/audiohandling/src/cpegsmaudiodata.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -35,7 +35,7 @@ // None. // CONSTANTS -// None. +const TInt KDtmfSilent = 0; // MACROS // None. @@ -158,9 +158,14 @@ "AUD CPEGsmAudioData::PlayDtmfTone, aTone = %s, volume = %d", &aTone, volume ); - - iDtmfTonePlayer->SetVolume( volume ); - iDtmfTonePlayer->PlayDtmfTone( aTone ); + + // If profile key tones setting is OFF, the volume will be O + // Don't play dtmf tone here to avoid interrupting the possible touch tone's playing. + if ( KDtmfSilent != volume ) + { + iDtmfTonePlayer->SetVolume( volume ); + iDtmfTonePlayer->PlayDtmfTone( aTone ); + } } // ----------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/bwins/callhandlingu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/eabi/callhandlingu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpecallhandling.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpeconferencecall.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpegprstermination.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpesinglecall.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpesinglecallobserver.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/cpesupplementaryservicesmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/inc/mpecallhandling.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpecallhandling.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpeconferencecall.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpegprstermination.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpesinglecall.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpesinglecallobserver.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/callhandling/src/cpevideocallhandling.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/contacthandling/src/cpecontactmatch.cpp --- a/phoneengine/contacthandling/src/cpecontactmatch.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/contacthandling/src/cpecontactmatch.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -81,7 +81,7 @@ delete iSpeedDialCommand; if ( iContactThumbnailLoader && iThumbnailId ) { - iContactThumbnailLoader->Cancel( iThumbnailId ); + iContactThumbnailLoader->Cancel( iThumbnailId ); } delete iThumbnailImage; delete iContactThumbnailLoader; @@ -194,11 +194,10 @@ void CPEContactMatch::MatchWithContactIdL( const TInt aCallId ) - { TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL" ); MPhCntMatch* match( NULL ); - CPhCntContactId* contactId = NULL; + CPhCntContactId* contactId( NULL ); contactId = CreateContactIdL( iDataStore.CallClientInformation( aCallId ).ContactLink() ); CleanupStack::PushL( contactId ); if ( iDataStore.CallType( aCallId ) == EPECallTypeVoIP ) @@ -208,6 +207,7 @@ TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchVoipNumber" ); // Get contact based on contact id. iContactMatcher->MatchVoipNumber( match, + iDataStore.RemotePhoneNumber( aCallId ), *contactId ); } else @@ -220,9 +220,9 @@ if ( contactId && contactId->IsValid() ) { TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchNumber" ); - iContactMatcher->MatchNumber( match, - iDataStore.RemotePhoneNumber( aCallId ), - *contactId ); + iContactMatcher->MatchNumber( match, + iDataStore.RemotePhoneNumber( aCallId ), + *contactId ); } else { @@ -230,7 +230,7 @@ } } - if ( match != NULL ) + if ( match ) { TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL, Contact match found" ); CopyContactFieldsDataL( *match, aCallId ); @@ -277,7 +277,7 @@ iContactMatcher->MatchNumber( match, remoteNumber ); } - if ( match != NULL ) + if ( match ) { TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Contact match found" ); CopyContactFieldsDataL( *match, aCallId ); @@ -645,7 +645,7 @@ // ----------------------------------------------------------- // CDesCArray* CPEContactMatch::StoreUrisForServiceL( TUint aServiceId ) - { + { CDesCArray* storeUris = new ( ELeave ) CDesC16ArrayFlat( 1 ); CleanupStack::PushL( storeUris ); diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/group/engineinfo.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/inc/cpecallinfo.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/inc/cpeengineinfoimpl.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/inc/cperemoteinfo.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/inc/mpedatastore.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/inc/mpeengineinfo.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/src/cpecallinfo.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/src/cpeengineinfoimpl.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/engineinfo/src/cperemoteinfo.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/group/loghandling.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/inc/cpelogevent.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/inc/cpeloghandling.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/src/cpelogevent.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/src/cpelogexternaldata.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/src/cpeloghandling.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/loghandling/src/cpeloginfo.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/conf/s60telephony.confml Binary file phoneengine/phonemodel/conf/s60telephony.confml has changed diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/conf/s60telephony_102828B8.crml diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/conf/s60telephony_102828F8.crml Binary file phoneengine/phonemodel/conf/s60telephony_102828F8.crml has changed diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/conf/s60telephony_2001B2E6.crml diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeactivestarter.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpecalldurationdisplaysettingmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpecenrepmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeclientcallrequestmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeclientcommandhandlermonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeclientemergencycallmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeclientservices.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpedevicemodehandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeexternaldatahandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpemanualcallcontrolhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpemessagehandler.h --- a/phoneengine/phonemodel/inc/cpemessagehandler.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/phonemodel/inc/cpemessagehandler.h Thu Sep 09 18:09:57 2010 +0100 @@ -836,6 +836,9 @@ TBool iEmergencyCallActive; // TBool iBtaaDisconnected; + // Flag to associate switch to vid/voice call operation and video call's reconnect operation. + // Use to fetch the right SwitchToNumber. + TBool iSwitchToVidCalReconFlag; //Client Information, member variable because emergency call from phone client //is not allowed to allocate memory. CPEClientInformation* iClientInformation; diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparseremergencynumberhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparsermischandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparserphonenumberhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparsersimcontrolhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparsersscallhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparsersshandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpepcnparserprocedurehandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpephonemodel.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpeprofilesettingmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpepubsubmonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpesettingscommand.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/cpesimstatemonitor.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/mpeexternaldatahandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/pevirtualengine.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/telephonyvariant.hrh --- a/phoneengine/phonemodel/inc/telephonyvariant.hrh Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/phonemodel/inc/telephonyvariant.hrh Thu Sep 09 18:09:57 2010 +0100 @@ -35,6 +35,12 @@ */ #define KTelephonyLVFlagCoverHideSendEndKey 0x00000004 +/** +* Shows contact name in Call UI even if there are several matches for the phone number. +* +*/ +#define KTelephonyLVFlagShowContactWhenSeveralMatches 0x00000008 + /** * KTelephonyLVFlagScrollSoftKeys defines status of scroll softkeys. When the * flag is set on in KTelephonyConfigFlags scroll softkeys are enabled. diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/inc/telinternalpskeys.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/rom/phonengengine.iby diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeaccessorymodemonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeactivestarter.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpecalldurationdisplaysettingmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpecenrepmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeclientcallrequestmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeclientcommandhandlermonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeclientemergencycallmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeclientservices.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpedevicemodehandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeexternaldatahandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpemanualcallcontrolhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpemessagehandler.cpp --- a/phoneengine/phonemodel/src/cpemessagehandler.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -162,6 +162,7 @@ iExternalDataHandler( aExternalDataHandler ), iSimStateMonitor( aSimStateMonitor ), iFsSession( aFsSession ), + iSwitchToVidCalReconFlag( EFalse ), iServiceHandling( aServiceHandling ), iDataStore( *aModel.DataStore() ) { @@ -1879,8 +1880,17 @@ // Check the phone number for prefix change and change the prefix if needed CheckPrefix(); - phoneNumber = iDataStore.PhoneNumber(); - + if( iSwitchToVidCalReconFlag ) + { + phoneNumber = iDataStore.SwitchToNumberCommand(); + // Clear flag to match the previous set operation in HandleSwitchToVideoOrVoice() function. + iSwitchToVidCalReconFlag = EFalse; + } + else + { + phoneNumber = iDataStore.PhoneNumber(); + } + __ASSERT_ALWAYS( !( phoneNumber == KNullDesC ), User::Leave( ECCPErrorInvalidPhoneNumber )); // Number parser operations @@ -2076,10 +2086,16 @@ iAutomaticAnswerTimer->Cancel(); - TEFLOGSTRING( KTAMESOUT, + // Prevent playing inband tone when phone is in silent mode and + // audio output is not defined (call is not connected). + if ( ( iDataStore.RingingType() != EProfileRingingTypeSilent ) || + ( iDataStore.AudioOutput() != EPENotActive ) ) + { + TEFLOGSTRING( KTAMESOUT, "PE CPEMessageHandler::HandleDisconnecting > iGsmAudioData.PlayInbandTone()"); - iGsmAudioData.PlayInbandTone(); - + iGsmAudioData.PlayInbandTone(); + } + return ECCPErrorNone; } @@ -2721,6 +2737,7 @@ iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) ); // Clear phonenumber to prevent using the wrong number in MO video call. iDataStore.SetPhoneNumber( KNullDesC() ); + iSwitchToVidCalReconFlag = ETrue; } else { @@ -2749,6 +2766,8 @@ TInt errorCode( ECCPErrorNone ); TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand(); + RemovePreAndPostFix( phoneNumber ); + TEFLOGSTRING2( KTAINT, "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", &phoneNumber ); diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpenetworkregistrationstatusmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparsermischandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparsersimcontrolhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparsersshandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeparservoipnumberhandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpephonemodel.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpesettingscommand.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/phonemodel/src/cpesimstatemonitor.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/servicehandling/eabi/peservicehandlingu.def diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/servicehandling/group/peservicehandling.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/servicehandling/inc/cpeservicehandling.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/servicehandling/inc/mpeservicehandling.h diff -r fbea179620e6 -r b0a26d6936b2 phoneengine/servicehandling/src/cpeservicehandling.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneplugins/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phonesettings/pslncallimageplugin/Data/PslnCallImagePluginRsc.rss diff -r fbea179620e6 -r b0a26d6936b2 phonesettings/pslncallimageplugin/src/PslnCallImagePlugin.cpp diff -r fbea179620e6 -r b0a26d6936b2 phonesettings/pslncallimageplugin/src/PslnCallImagePluginDRM.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Group/Bubblemanager.mmp --- a/phoneuis/BubbleManager/Group/Bubblemanager.mmp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Group/Bubblemanager.mmp Thu Sep 09 18:09:57 2010 +0100 @@ -89,6 +89,7 @@ source BMNumberTypeIcon.cpp source BMMainPaneControl.cpp source BMTouchPaneButton.cpp +SOURCE telbubbleimagescaler.cpp sourcepath ../laf source BMLayout.cpp @@ -122,5 +123,5 @@ LIBRARY akntransitionutils.lib #endif LIBRARY bmcustomization.lib - +LIBRARY bitmaptransforms.lib // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Inc/BMBubbleDebug.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Inc/BMMainPaneControl.h --- a/phoneuis/BubbleManager/Inc/BMMainPaneControl.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Inc/BMMainPaneControl.h Thu Sep 09 18:09:57 2010 +0100 @@ -19,8 +19,9 @@ #ifndef C_BUBBLEMAINPANECONTROL_H #define C_BUBBLEMAINPANECONTROL_H +#include #include "BMBubbleManager.h" -#include +#include "telbubbleimagescaler.h" class CBubbleCallObjectManager; class CTelBubbleCustomElement; @@ -34,7 +35,8 @@ * @lib BubbleManager.lib * @since S60 v5.0 */ -NONSHARABLE_CLASS( CBubbleMainPaneControl ) : public CCoeControl +NONSHARABLE_CLASS( CBubbleMainPaneControl ) : public CCoeControl, + public MTelBubbleImageScalerObserver { public: /** @@ -77,7 +79,18 @@ * Returns ETrue when image is being displayed. */ TBool IsUsed() const; - + + // from MTelBubbleImageScalerObserver + /** + * Callback function from CTelBubbleImageScaler + * + * @param aError Error happened during scaling + * @param aBitmap Scaled bitmap + * @return None + */ + void ImageScalingComplete + (TInt aError, CFbsBitmap* aBitmap); + private: CBubbleMainPaneControl( CBubbleManager& aCustomManager, CBubbleCallObjectManager& aCallObjectManager ); @@ -87,8 +100,10 @@ TBool& aBitmapOwnership, CFbsBitmap*& aMask, TBool& aMaskOwnership, - TBool aIsScalable ); + TBool aIsScalable, + TBool aThumbnail = EFalse ); + void StartScaling( CFbsBitmap *aSourceBitmap ); private: // data CBubbleManager& iBubbleManager; CBubbleCallObjectManager& iCallObjectManager; @@ -98,6 +113,11 @@ TBool iIsUsed; CFbsBitmap* iBitmap; // not owned CFbsBitmap* iMask; // not owned + CTelBubbleImageScaler *iScaler; + CFbsBitmap *iScaledImage; + + // to prevent loading & scaling the same image again. + CFbsBitmap* iOldBitmap; }; #endif // C_BUBBLEMAINPANECONTROL_H diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Inc/BMTouchPane.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Inc/BMTouchPaneButton.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Inc/telbubbleimagescaler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/BubbleManager/Inc/telbubbleimagescaler.h Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,140 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies) +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Ctelbubbleimagescaler declaration +* +*/ + +#ifndef TELBUBBLEIMAGESCALER_H +#define TELBUBBLEIMAGESCALER_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CFbsBitmap; +class CBitmapScaler; + +/** + * Interface to observe scaling status + */ +class MTelBubbleImageScalerObserver +{ +public: + /** + * Callback to indicate scaling completion + * + * @param aError Error occured during scaling + * @param aBitmap Scaled bitmap + */ + virtual void ImageScalingComplete + (TInt aError, CFbsBitmap* aBitmap) = 0; + }; + +/** + * Asynchronous bitmap scaler. + * Uses CBitmapScaler to do scaling + */ +class CTelBubbleImageScaler : public CActive +{ +public: + // Cancel and destroy + ~CTelBubbleImageScaler(); + + /** Two phase constructor */ + static CTelBubbleImageScaler* NewL(MTelBubbleImageScalerObserver& aObserver); + + /** Two phase constructor */ + static CTelBubbleImageScaler* NewLC(MTelBubbleImageScalerObserver& aObserver); + + /** + * Scaling status + */ + enum TState + { + EScalingIdle = 0, EScalingStarted, EScalingDone + }; + +public: + /** + * Starts bitmap scaling Asynchronously + * @param aSrc Bitmap that needs to be scaled + * @param aTarget Scaled bitmap + * @return None. + */ + void StartScaleL(CFbsBitmap* aSrc, CFbsBitmap* aTarget); + + /** + * Sets the state of Scaler + * @param aState State to be set + * @return None. + */ + void SetState(TState aState); + + /** + * Returns the current state of Scaler + * @param None + * @return TInt State of the scaler + */ + TInt GetState(); + +private: + /* constructor */ + CTelBubbleImageScaler(MTelBubbleImageScalerObserver& aObserver); + + /* Second-phase constructor */ + void ConstructL(); + +private: // From CActive + /* + * Handle completion + */ + void RunL(); + + /* + * Cancels active request + */ + void DoCancel(); + + /* + * Override to handle leaves from RunL(). Default implementation causes + * the active scheduler to panic. + */ + TInt RunError(TInt aError); + +private: + /* + * Scaler observer instance + */ + MTelBubbleImageScalerObserver& iObserver; + + /* + * Own: Bitmap scaler + */ + CBitmapScaler* iScaler; + + /* + * Own: The bitmap that is scaled. + */ + CFbsBitmap* iScaledBitmap; + + /* + * Scaler state + */ + TInt iState; + }; + +#endif // TELBUBBLEIMAGESCALER_H + +// End of File + diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleManager.cpp --- a/phoneuis/BubbleManager/Src/BMBubbleManager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMBubbleManager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -1545,7 +1545,7 @@ iBottomImageVariety = tiny ? 0 : 4; CBubblePlace::TPhoneBubblePlace place; - place = cnapLength ? CBubblePlace::EBottomImageCnap : + place = cnapLength ? CBubblePlace::EBottomCnap : CBubblePlace::EBottomImage; SetActivePlace( place, diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottom.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottomCnap.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImCnap.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImage.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRiCnap.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRight.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookFiveLined.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookMiddle.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookMiddleCnap.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookNE.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookOneLined.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookThreeLined.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookTopLeft.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookTopRight.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookTwoLined.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp --- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp --- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMCallObjectManager.cpp --- a/phoneuis/BubbleManager/Src/BMCallObjectManager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMCallObjectManager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -167,36 +167,52 @@ TSize sourceSize( iMediaReader->SourceSize() ); - TReal scaleFactor; - TRect clipRect; - TSize targetSize; - if ( BubbleCallObjectUtils::GetScaleFactorAndClipRect( + TReal scaleFactor( 0 ); + TRect clipRect( 0, 0, 0, 0 ); + TSize targetSize( 0, 0 ); + + // if the caller image (source size) is bigger than aPreferredImageSize (the whole caller-image area) + // then some down scaling is required. + if ( sourceSize.iHeight > aPreferredImageSize.iHeight && sourceSize.iWidth > aPreferredImageSize.iWidth ) + { + targetSize = aPreferredImageSize; + + BubbleCallObjectUtils::GetScaleFactorAndClipRect( sourceSize, aPreferredImageSize, BubbleCallObjectUtils::EFillTarget, scaleFactor, - clipRect ) && - aTinyImageSize != TSize(0,0) ) + clipRect ); + } + else // no scaling. wide or tall images gets cropped from center if required. { - // Tiny image - BubbleCallObjectUtils::GetScaleFactorAndClipRect( - sourceSize, - aTinyImageSize, - BubbleCallObjectUtils::EMaximumFit, - scaleFactor, - clipRect ); - - targetSize = aTinyImageSize; + targetSize = aPreferredImageSize; + scaleFactor = 1; + TInt x_offset = 0; + TInt y_offset = 0; + + if ( sourceSize.iWidth > aPreferredImageSize.iWidth ) + { + x_offset = ( sourceSize.iWidth - aPreferredImageSize.iWidth ) / 2; + } + if ( sourceSize.iHeight > aPreferredImageSize.iHeight ) + { + y_offset = ( sourceSize.iHeight - aPreferredImageSize.iHeight ) / 2; + } + + clipRect = sourceSize; + + if ( x_offset > 0 || y_offset > 0 ) + { + // clip from center of the source image + clipRect.Shrink( x_offset, y_offset ); + } } - else - { - targetSize = aPreferredImageSize; - } - + iMediaReader->StartReadingL( targetSize, scaleFactor, clipRect, - this ); + this ); } // --------------------------------------------------------------------------- diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMMainPaneControl.cpp --- a/phoneuis/BubbleManager/Src/BMMainPaneControl.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMMainPaneControl.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -28,6 +28,8 @@ #include #include +#define SCALE_FACTOR 1.5 + // --------------------------------------------------------------------------- // C++ constructor // --------------------------------------------------------------------------- @@ -36,7 +38,9 @@ CBubbleManager& aBubbleManager, CBubbleCallObjectManager& aCallObjectManager ) : iBubbleManager( aBubbleManager ), - iCallObjectManager ( aCallObjectManager ) + iCallObjectManager ( aCallObjectManager ), + iScaler( NULL ), + iScaledImage( NULL ) { } @@ -46,6 +50,7 @@ // void CBubbleMainPaneControl::ConstructL() { + iScaler = CTelBubbleImageScaler::NewL( *this ); } // --------------------------------------------------------------------------- @@ -72,6 +77,11 @@ // CBubbleMainPaneControl::~CBubbleMainPaneControl() { + delete iScaler; + iScaler = NULL; + + delete iScaledImage; + iScaledImage = NULL; } // --------------------------------------------------------------------------- @@ -82,23 +92,49 @@ const CBubbleHeader& aHeader ) { iBubble = aHeader.BubbleId(); - iBitmap = aHeader.CallObjectImage(); - iMask = aHeader.CallObjectImageMask(); + TBool thumbnail( EFalse ); + TBool noScaling( EFalse ); + + if ( aHeader.CallObjectImage() ) + { + iBitmap = aHeader.CallObjectImage(); + iMask = aHeader.CallObjectImageMask(); + } + else if ( aHeader.TnBitmap() ) + { + iBitmap = aHeader.TnBitmap(); + iMask = aHeader.TnBitmapMask(); + thumbnail = ETrue; + } + else + { + iBitmap = NULL; + } + iThreeLinedBubble = ( aHeader.CNAP().Length() > 0 ); + // PrepareBitmapsL() needs to know if a brand new thumbnail is about to get prepared. + if ( thumbnail && (iOldBitmap != NULL) && (iOldBitmap == iBitmap) && (iScaler->GetState() != CTelBubbleImageScaler::EScalingStarted) ) + { + noScaling = ETrue; + } + if ( iBitmap ) { - CFbsBitmap* bitmap; - CFbsBitmap* mask; - TBool bitmapOwnership; - TBool maskOwnership; + iOldBitmap = iBitmap; + + CFbsBitmap* bitmap( NULL ); + CFbsBitmap* mask( NULL ); + TBool bitmapOwnership( EFalse ); + TBool maskOwnership( EFalse ); TRAPD(err, PrepareBitmapsL( bitmap, bitmapOwnership, mask, maskOwnership, aHeader.CallObjectImageType() == - CBubbleHeader::EThemeImage ) ); + CBubbleHeader::EThemeImage, + noScaling )); if ( err ) { @@ -119,6 +155,12 @@ iIsUsed = ETrue; MakeVisible( ETrue ); + + // upscale thumbnails if loading it for the first time. + if ( thumbnail && !noScaling && ( iScaler->GetState() != CTelBubbleImageScaler::EScalingStarted ) ) + { + StartScaling( iBitmap ); + } } } @@ -131,9 +173,18 @@ TBool& aBitmapOwnership, CFbsBitmap*& aMask, TBool& aMaskOwnership, - TBool aIsScalable ) + TBool aIsScalable, + TBool aThumbnail ) { - aBitmap = iBitmap; + if ( aThumbnail ) + { + aBitmap = iScaledImage; + } + else + { + aBitmap = iBitmap; + } + aMask = iMask; aBitmapOwnership = EFalse; aMaskOwnership = EFalse; @@ -278,5 +329,117 @@ } } +// --------------------------------------------------------------------------- +// CTelBubbleCallImage::ImageScalingComplete +// +// --------------------------------------------------------------------------- +// +void CBubbleMainPaneControl::ImageScalingComplete( TInt aError, + CFbsBitmap* aBitmap ) + { + if ( aError == KErrNone ) + { + // Draw the scaled image + iScaledImage = aBitmap; + iScaler->SetState( CTelBubbleImageScaler::EScalingDone ); + + CFbsBitmap* bitmap( NULL ); + CFbsBitmap* mask( NULL ); + TBool bitmapOwnership( EFalse ); + TBool maskOwnership( EFalse ); + + TRAPD(err, PrepareBitmapsL( bitmap, + bitmapOwnership, + mask, + maskOwnership, + EFalse, + ETrue ) ); + + if ( err ) + { + return; + } + + if ( iCallImage->ControlType() == + CTelBubbleCustomElement::EBubbleCallImage ) + { + CTelBubbleCallImage* image = + static_cast ( iCallImage->Control() ); + image->SetImage( bitmap, EFalse, mask, maskOwnership ); + } + + SizeChanged(); + + iIsUsed = ETrue; + MakeVisible( ETrue ); + + Parent()->DrawNow(); // refreshing view with scaled image + } + else if ( aError == KErrCancel ) + { + // error is ignored + // This error is returned when a previous scaling is cancelled + // while new scaling request is given to active object + } + else + { + // draw the unscaled image in error cases + + delete iScaledImage; + iScaledImage = NULL; + } + + iScaler->SetState( CTelBubbleImageScaler::EScalingDone ); + } + +// --------------------------------------------------------------------------- +// CTelBubbleCallImage::StartScaling +// +// --------------------------------------------------------------------------- +// +void CBubbleMainPaneControl::StartScaling( CFbsBitmap *aSourceBitmap ) + { + if ( !iScaler ) + { + return; + } + + iScaler->Cancel(); // cancels any outstanding scaling requests + + delete iScaledImage; + iScaledImage = NULL; + + // create a bitmap for scaled size + TRAPD( err, iScaledImage = new (ELeave) CFbsBitmap ); + if ( err != KErrNone ) + { + // no scaling in error cases + iScaler->SetState( CTelBubbleImageScaler::EScalingIdle ); + return; + } + + TSize size = aSourceBitmap->SizeInPixels(); + TRect scaledRect( 0, 0, size.iWidth * SCALE_FACTOR, size.iHeight * SCALE_FACTOR ); + + TRAP( err, iScaledImage->Create( scaledRect.Size(), aSourceBitmap->DisplayMode() ) ); + if ( err != KErrNone ) + { + delete iScaledImage; + iScaledImage = NULL; + iScaler->SetState( CTelBubbleImageScaler::EScalingIdle ); + } + else + { + //start scaling + TRAPD( err, iScaler->StartScaleL( aSourceBitmap, iScaledImage ) ); + if (err != KErrNone) + { + iScaler->SetState( CTelBubbleImageScaler::EScalingIdle ); + delete iScaledImage; + iScaledImage = NULL; + } + } + } + // END OF FILE diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMTouchPane.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp --- a/phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -28,7 +28,7 @@ #include "BMTouchPaneInterface.h" #include "BMPanic.h" - +const TInt KDimmedTransparency = 77; const TInt KBubbleButtonText = 255; // ======== MEMBER FUNCTIONS ======== @@ -238,8 +238,8 @@ for ( TInt i=0; i < commandCount; i++ ) { - frameId = iIconProvider->GetButtonForCommandL( - iCommands[i]); + TRAP_IGNORE( frameId = iIconProvider->GetButtonForCommandL( + iCommands[i])); if ( iButtonPressed ) { @@ -350,7 +350,11 @@ { if ( IsDimmed() ) { - aPenColor = iEikonEnv->ControlColor( EColorButtonTextDimmed, *this ); + // Using parameter EColorButtonTextDimmed does not return valid + // color for the text that is used in dimmed button. We have + // to use default text and set it transparent. + aPenColor = iEikonEnv->ControlColor( EColorButtonText, *this ); + aPenColor.SetAlpha( KDimmedTransparency ); } else if ( iButtonPressed ) { diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/BMUtils.cpp --- a/phoneuis/BubbleManager/Src/BMUtils.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/Src/BMUtils.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/Src/telbubbleimagescaler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/BubbleManager/Src/telbubbleimagescaler.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -0,0 +1,164 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Ctelbubbleimagescaler implementation +* +*/ + +#include "telbubbleimagescaler.h" +#include "BMBubbleDebug.h" +#include + +// --------------------------------------------------------------------------- +// Constructor +// --------------------------------------------------------------------------- +// +CTelBubbleImageScaler::CTelBubbleImageScaler( + MTelBubbleImageScalerObserver& aObserver) : + CActive(CActive::EPriorityStandard), iObserver(aObserver), iState(EScalingIdle), + iScaler( NULL ) + { + } + +// --------------------------------------------------------------------------- +// NewLC +// --------------------------------------------------------------------------- +// +CTelBubbleImageScaler* CTelBubbleImageScaler::NewLC( + MTelBubbleImageScalerObserver& aObserver) + { + CTelBubbleImageScaler* self = new (ELeave) CTelBubbleImageScaler( + aObserver); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// NewL +// --------------------------------------------------------------------------- +// +CTelBubbleImageScaler* CTelBubbleImageScaler::NewL( + MTelBubbleImageScalerObserver& aObserver) + { + CTelBubbleImageScaler* self = CTelBubbleImageScaler::NewLC(aObserver); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::ConstructL +// --------------------------------------------------------------------------- +// +void CTelBubbleImageScaler::ConstructL() + { + CActiveScheduler::Add( this ); + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +CTelBubbleImageScaler::~CTelBubbleImageScaler() + { + if ( iScaler ) + { + iScaler->Cancel(); // Cancel any request, if outstanding + } + + delete iScaler; + iState = EScalingIdle; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::StartScaleL +// --------------------------------------------------------------------------- +// +void CTelBubbleImageScaler::StartScaleL(CFbsBitmap* aSrc, CFbsBitmap* aTarget) + { + BM_TRACE_( "CTelBubbleImageScaler::StartScaleL()" ); + if ( !iScaler ) + { + iScaler = CBitmapScaler::NewL(); + } + + iScaledBitmap = aTarget; + + iScaler->SetQualityAlgorithm( CBitmapScaler::EMaximumQuality ); + iScaler->Scale( &iStatus, *aSrc, *aTarget, EFalse ); + iState = EScalingStarted; + SetActive(); + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::DoCancel +// --------------------------------------------------------------------------- +// +void CTelBubbleImageScaler::DoCancel() + { + BM_TRACE_( "CTelBubbleImageScaler::DoCancel()" ); + if ( iScaler ) + { + iScaler->Cancel(); + } + + iObserver.ImageScalingComplete( KErrCancel, iScaledBitmap ); + iState = EScalingDone; + iScaledBitmap = NULL; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::RunL +// --------------------------------------------------------------------------- +// +void CTelBubbleImageScaler::RunL() + { + BM_TRACE_( "CTelBubbleImageScaler::RunL()" ); + iState = EScalingDone; + TInt status = iStatus.Int(); + iObserver.ImageScalingComplete( status, iScaledBitmap ); + iScaledBitmap = NULL; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::RunError +// --------------------------------------------------------------------------- +// +TInt CTelBubbleImageScaler::RunError( TInt aError ) + { + BM_TRACE_( "CTelBubbleImageScaler::RunError()" ); + iState = EScalingDone; + iObserver.ImageScalingComplete( aError, iScaledBitmap ); + iScaledBitmap = NULL; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::SetState +// --------------------------------------------------------------------------- +// +void CTelBubbleImageScaler::SetState(TState aState) + { + BM_TRACE_1( "CTelBubbleImageScaler::SetState(): %d", aState ); + iState = aState; + } + +// --------------------------------------------------------------------------- +// CTelBubbleImageScaler::GetState +// --------------------------------------------------------------------------- +// +TInt CTelBubbleImageScaler::GetState() + { + BM_TRACE_1( "CTelBubbleImageScaler::GetState(): %d", iState ); + return iState; + } diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp --- a/phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -203,60 +203,68 @@ { return; } - - // If bitmap is bigger than drawing area then clip from center. - TRect rect; - if ( IsFullScreenImage() ) - { - rect = Rect(); - } - else - { - rect = ImagePlacingArea(); - } - + + // If bitmap is bigger than drawing area then clip from center of the image. + TRect rect = Rect(); iSourceRect = iImage->SizeInPixels(); - + TInt offsetX = ( iSourceRect.Width() > rect.Width() ) ? ((iSourceRect.Width() - rect.Width()) / 2) : 0; TInt offsetY = ( iSourceRect.Height() > rect.Height() ) ? ((iSourceRect.Height() - rect.Height()) / 2) : 0; - iSourceRect.Shrink( offsetX, offsetY ); - // If bitmap is smaller than drawing area then center it. + iSourceRect.Shrink( offsetX, offsetY ); + + // If bitmap is smaller than the drawing area then center the image on it. iOffset.iX = ( iSourceRect.Width() < rect.Width() ) ? ((rect.Width() - iSourceRect.Width()) / 2) : 0; - iOffset.iY = ( iSourceRect.Height() < rect.Height() ) ? - ((rect.Height() - iSourceRect.Height()) / 2) : 0; + + iOffset.iY = 0; + + // lift the image higher if needed. + if ( iSourceRect.Height() < rect.Height() ) + { + // check if it fits totally above the bubble + TInt height = iImagePlacingArea.iBr.iY - iImagePlacingArea.iTl.iY; + + if ( iSourceRect.Height() < height ) + { + // if it fits then center it above the bubble + iOffset.iY = ( height - iSourceRect.Height() ) / 2; + } + } } - // --------------------------------------------------------------------------- // CTelBubbleCallImage::Draw // --------------------------------------------------------------------------- // EXPORT_C void CTelBubbleCallImage::Draw( const TRect& /*aRect*/ ) const { - if ( iImage ) + if ( iImage ) { CWindowGc& gc = SystemGc(); - const TPoint topLeft = IsFullScreenImage() ? Rect().iTl : iImagePlacingArea.iTl; + + const TPoint topLeft = Rect().iTl; const TPoint bitmapTopLeft = topLeft + iOffset; - - if( iMask ) + + // if we have y offset then the image wont go under the bubble in any case and so + // no need for masking + if ( iMask && iOffset.iY == 0 ) { gc.BitBltMasked( bitmapTopLeft, - iImage, - iSourceRect, - iMask, - EFalse ); + iImage, + iSourceRect, + iMask, + EFalse ); } - else + else { gc.BitBlt( bitmapTopLeft, - iImage, - iSourceRect ); + iImage, + iSourceRect ); } + DrawRoundRect( gc, bitmapTopLeft, iSourceRect.Size() ); } } diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/eabi/bubblemanageru.def --- a/phoneuis/BubbleManager/eabi/bubblemanageru.def Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/eabi/bubblemanageru.def Thu Sep 09 18:09:57 2010 +0100 @@ -138,4 +138,5 @@ _ZTV25CBubbleOutlookNumberEntry @ 137 NONAME _ZTV29CBubbleOutlookBottomImageCnap @ 138 NONAME _ZTV29CBubbleOutlookBottomRightCnap @ 139 NONAME - + _ZTI21CTelBubbleImageScaler @ 140 NONAME + _ZTV21CTelBubbleImageScaler @ 141 NONAME diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout.cpp --- a/phoneuis/BubbleManager/laf/BMLayout.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout.h --- a/phoneuis/BubbleManager/laf/BMLayout.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout.h Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include /** * Layout coordinates from Application LAF diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout2.cpp --- a/phoneuis/BubbleManager/laf/BMLayout2.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout2.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout2.h --- a/phoneuis/BubbleManager/laf/BMLayout2.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout2.h Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include /** * Layout coordinates from Application LAF diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout3.cpp --- a/phoneuis/BubbleManager/laf/BMLayout3.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout3.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout3.h --- a/phoneuis/BubbleManager/laf/BMLayout3.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout3.h Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include /** * Call3 (video cli) layout coordinates from Application LAF diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout4.cpp --- a/phoneuis/BubbleManager/laf/BMLayout4.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout4.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout4.h --- a/phoneuis/BubbleManager/laf/BMLayout4.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout4.h Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include /** * Layout coordinates from Application LAF diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout6.cpp --- a/phoneuis/BubbleManager/laf/BMLayout6.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout6.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/BubbleManager/laf/BMLayout6.h --- a/phoneuis/BubbleManager/laf/BMLayout6.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/BubbleManager/laf/BMLayout6.h Thu Sep 09 18:09:57 2010 +0100 @@ -20,7 +20,7 @@ #include #include -#include +#include /** * Layout coordinates from Application LAF * diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/inc/CCoUtlActive.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/inc/CCoUtlImplementation.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/inc/CCoUtlInterface.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/inc/CCoUtlInterface.inl diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/src/CCoUtlActive.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/ConnectUtil/src/CoUtlMain.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMAudioAccessoryListener.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMCallStateListener.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMCommandHandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMDebug.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMGripHandler.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/inc/CTelDMHandlerImpl.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/rom/telephonydevicemode.iby diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/src/CTelDMCallStateListener.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/src/CTelDMCommandHandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/src/CTelDMGripHandler.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/TelephonyDeviceMode/src/CTelDMHandlerImpl.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/group/ussd.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/inc/UssdNaviPane.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/src/UssdAppUi.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/src/UssdContainer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/src/UssdEditorLines.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/Ussd/src/UssdNaviPane.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/bwins/dialeru.def diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/data/dialer.pkg diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/data/dialer.rss diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/data/dialer_stub.pkg diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/data/dialer_stub.sis diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/eabi/dialeru.def diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/group/dialer.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/group/dialerstub.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/group/iconlist.txt diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialer.h --- a/phoneuis/dialer/inc/cdialer.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/inc/cdialer.h Thu Sep 09 18:09:57 2010 +0100 @@ -434,6 +434,9 @@ void OnPeninputUiActivated(); private: // Data + + // Component controls of dialer. + RPointerArray iComponentControls; // Keypad container - owned CDialerKeyPadContainer* iKeypadArea; @@ -479,6 +482,11 @@ * Is qwerty mode on. */ TBool iQwertyMode; + + /** + * Is hybrid keyboard mode used. + */ + TBool iHybridKeyboardMode; /** * Server wich sends events via callback when the virtual keyboard is opened/closed. diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialerkeypadbutton.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialerkeypadcontainer.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialerkeypadlabelmanager.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialernumberentry.h --- a/phoneuis/dialer/inc/cdialernumberentry.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/inc/cdialernumberentry.h Thu Sep 09 18:09:57 2010 +0100 @@ -156,6 +156,18 @@ void SetOperationMode( TDialerOperationMode aMode ); TBool Validate( const TDesC& aString ); + + protected: + + /** + * Callback function for CIdle. + */ + static TInt SetLateFocus( TAny* aThis ); + + /** + * Sets focus to number entry. + */ + void DoSetFocus( TBool aFocus, TDrawNow aDrawNow ); private: // Functions from MCoeControlObserver /** @@ -322,6 +334,9 @@ // NOT OWNED. CEikAppUi* iAppUi; + + CIdle* iLateFocuser; + }; #endif // CDIALERNUMBERENTRY_H diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/cdialertoolbarcontainer.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/dialer.hrh diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/dialercommon.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/inc/mnumberentry.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialer.cpp --- a/phoneuis/dialer/src/cdialer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -52,9 +52,6 @@ /// ROM drive. _LIT( KDialerResourceFile, "dialer.rsc" ); -// number entry, keypad area, easydialing, toolbar -const TInt KContainedControlsInTelephonyMode = 4; - // ========================= MEMBER FUNCTIONS ================================ @@ -96,6 +93,8 @@ delete iEasyDialer; delete iDialingExtensionObserver; delete iToolbar; + + iComponentControls.Close(); UnLoadResources(); DIALER_PRINT("CDialer::~CDialer>"); @@ -120,12 +119,19 @@ SetParent( const_cast(&aContainer) ); iNumberEntry = CDialerNumberEntry::NewL( *this ); + iComponentControls.Append( iNumberEntry ); iController = aController; - iKeypadArea = CDialerKeyPadContainer::NewL( *this, EModeEasyDialing ); - - iToolbar = CDialerToolbarContainer::NewL( *this, iController ); + // Keypad and toolbar are not used in small displays. + if ( ! FeatureManager::FeatureSupported( KFeatureIdFfSmallScreenTouch ) ) + { + iKeypadArea = CDialerKeyPadContainer::NewL( *this, EModeEasyDialing ); + iComponentControls.Append( iKeypadArea ); + + iToolbar = CDialerToolbarContainer::NewL( *this, iController ); + iComponentControls.Append( iToolbar ); + } // try to create easydialing plugin. If plugin is not present, iEasydialer gets value NULL. LoadEasyDialingPlugin(); @@ -149,6 +155,7 @@ { User::LeaveIfError( iPeninputServer.Connect() ); iPeninputServer.AddPenUiActivationHandler( this, EPluginInputModeAll ); + iVirtualKeyBoardOpen = iPeninputServer.IsVisible(); } #endif DIALER_PRINT("CDialer::ConstructL>"); @@ -196,7 +203,10 @@ if ( aController && iController != aController ) { iController = aController; - iToolbar->SetContentProviderL( iController ); + if ( iToolbar ) + { + iToolbar->SetContentProviderL( iController ); + } iNumberEntry->SetNumberEntryPromptTextL( iController->NumberEntryPromptTextL() ); SizeChanged(); UpdateToolbar(); @@ -235,7 +245,11 @@ iController->SetNumberEntryIsEmpty( !numAvailable ); iToolbar->UpdateButtonStates(); iToolbar->DrawDeferred(); - iKeypadArea->DrawDeferred(); // needed to remove drawing problem from leftmost button column + + if ( iKeypadArea ) + { + iKeypadArea->DrawDeferred(); // needed to remove drawing problem from leftmost button column + } } } @@ -365,15 +379,13 @@ void CDialer::RemoveNumberEntry() { ResetEditorToDefaultValues(); - iVirtualKeyBoardOpen = EFalse; iIsUsed = EFalse; // easydialer change begins if (iEasyDialer) { - TRAP_IGNORE( iEasyDialer->HandleCommandL( EEasyDialingClosePopup ); - iEasyDialer->HandleCommandL( EEasyDialingVkbClosed ) ); + TRAP_IGNORE( iEasyDialer->HandleCommandL( EEasyDialingClosePopup ); ); iEasyDialer->Reset(); } // easydialer change ends @@ -398,14 +410,9 @@ // void CDialer::OpenVkbL() { - iVirtualKeyBoardOpen = ETrue; UpdateEdwinState( EVirtualKeyboardEditor ); iNumberEntry->HandleCommandL( EDialerCmdTouchInput ); - if ( iEasyDialer ) - { - iEasyDialer->HandleCommandL( EEasyDialingVkbOpened ); - } } // --------------------------------------------------------------------------- @@ -446,7 +453,10 @@ // void CDialer::EnableTactileFeedback( const TBool aEnable ) { - iKeypadArea->EnableTactileFeedback( aEnable ); + if ( iKeypadArea ) + { + iKeypadArea->EnableTactileFeedback( aEnable ); + } } // --------------------------------------------------------- @@ -457,10 +467,6 @@ { iQwertyMode = aMode; UpdateNumberEntryConfiguration(); - if ( iEasyDialer && aMode ) - { - TRAP_IGNORE( iEasyDialer->HandleCommandL( EEasyDialingVkbClosed ) ); - } } // --------------------------------------------------------- @@ -509,34 +515,45 @@ AknsUtils::RegisterControlPosition( this ); TRect parentRect( Rect() ); - // Method is called before containers are created. - if ( !iKeypadArea ) - { - return; - } - TDialerVariety variety = ( Layout_Meta_Data::IsLandscapeOrientation() ? EDialerVarietyLandscape : EDialerVarietyPortrait ); + // keypad area - TDialerOperationMode keypadOpMode = - ( EasyDialingEnabled() ? EModeEasyDialing : EModeDialer ); - iKeypadArea->SetOperationMode( keypadOpMode ); - AknLayoutUtils::LayoutControl( - iKeypadArea, parentRect, - AknLayoutScalable_Apps::dia3_keypad_num_pane( variety ).LayoutLine() ); + if ( iKeypadArea ) + { + TDialerOperationMode keypadOpMode = + ( EasyDialingEnabled() ? EModeEasyDialing : EModeDialer ); + + iKeypadArea->SetOperationMode( keypadOpMode ); + AknLayoutUtils::LayoutControl( + iKeypadArea, parentRect, + AknLayoutScalable_Apps::dia3_keypad_num_pane( variety ).LayoutLine() ); + } + // toolbar - AknLayoutUtils::LayoutControl( - iToolbar, parentRect, - AknLayoutScalable_Apps::dia3_keypad_fun_pane( variety ).LayoutLine() ); + if ( iToolbar ) + { + AknLayoutUtils::LayoutControl( + iToolbar, parentRect, + AknLayoutScalable_Apps::dia3_keypad_fun_pane( variety ).LayoutLine() ); + } + // Use hybrid keyboard mode if there is no visible virtual keypad. + iHybridKeyboardMode = !iKeypadArea; + // easy dial contacts list if ( iEasyDialer ) { AknLayoutUtils::LayoutControl( iEasyDialer, parentRect, AknLayoutScalable_Apps::dia3_listscroll_pane( variety ).LayoutLine() ); + + iEasyDialer->SetKeyboardMode( + iHybridKeyboardMode ? + CDialingExtensionInterface::EHybridQwerty : + CDialingExtensionInterface::EDefaultKeyboard ); } // number entry @@ -560,13 +577,7 @@ // TInt CDialer::CountComponentControls() const { - TInt count( KContainedControlsInTelephonyMode ); - - if ( !iEasyDialer ) - { - count--; - } - return count; + return iComponentControls.Count(); } // --------------------------------------------------------------------------- @@ -577,9 +588,7 @@ // CCoeControl* CDialer::ComponentControl( TInt aIndex ) const { - CCoeControl* currentControl(NULL); - currentControl = ComponentControlForDialerMode( aIndex ); - return currentControl; + return iComponentControls[ aIndex ]; } // --------------------------------------------------------------------------- @@ -652,12 +661,7 @@ { // Clear editor flags and report // edwin state changed. - iVirtualKeyBoardOpen = EFalse; UpdateNumberEntryConfiguration(); - if ( iEasyDialer ) - { - iEasyDialer->HandleCommandL( EEasyDialingVkbClosed ); - } } } @@ -719,42 +723,6 @@ } // --------------------------------------------------------------------------- -// CDialer::ComponentControlForDialerMode -// -// Returns contained control by given index in ohonedialer mode. -// -// --------------------------------------------------------------------------- -// -CCoeControl* CDialer::ComponentControlForDialerMode( const TInt aIndex ) const - { - CCoeControl* currentControl(NULL); - - switch ( aIndex ) - { - case 0: - currentControl = iNumberEntry; - break; - case 1: - currentControl = iKeypadArea; - break; - - case 2: - currentControl = iToolbar; - break; - case 3: - currentControl = iEasyDialer; - break; - - default: - { - __ASSERT_DEBUG( EFalse, _L("CDialer::ComponentControl no such component defined")); - } - } - - return currentControl; - } - -// --------------------------------------------------------------------------- // CDialer::EdwinState // // Returns edwin state of the editor. @@ -796,8 +764,14 @@ TInt flags = EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly | EAknEditorFlagSelectionVisible; - edwinState->SetDefaultInputMode( EAknEditorTextInputMode ); - edwinState->SetCurrentInputMode( EAknEditorTextInputMode ); + + // Use numeric input mode if in hybrid mode and virtual keyboard + // is not open. This signals to AvKON that hybrid mode needs to + // be used. + TInt inputMode = ( iHybridKeyboardMode && !vkbOpen ) ? + EAknEditorNumericInputMode : EAknEditorTextInputMode; + edwinState->SetDefaultInputMode( inputMode ); + edwinState->SetCurrentInputMode( inputMode ); if ( EVirtualKeyboardEditor == aType || vkbOpen ) { @@ -805,10 +779,6 @@ // here. flags = ( flags |= EAknEditorFlagNoEditIndicators ); } - else - { - iVirtualKeyBoardOpen = EFalse; - } edwinState->SetFlags( flags ); edwinState->SetPermittedInputModes( @@ -880,6 +850,8 @@ iDialingExtensionObserver = CDialingExtensionObserver::NewL( iEasyDialer, iNumberEntry, this ); iEasyDialer->AddObserverL( iDialingExtensionObserver ); + + iComponentControls.Append( iEasyDialer ); } ); if ( error ) @@ -948,7 +920,12 @@ void CDialer::OnPeninputUiDeactivated() { DIALER_PRINT( "CDialer::OnPeninputUiDeactivated" ) + iVirtualKeyBoardOpen = EFalse; FocusChanged( EDrawNow ); + if ( iEasyDialer ) + { + TRAP_IGNORE( iEasyDialer->HandleCommandL( EEasyDialingVkbClosed ) ); + } } // --------------------------------------------------------------------------- @@ -960,5 +937,10 @@ void CDialer::OnPeninputUiActivated() { DIALER_PRINT( "CDialer::OnPeninputUiActivated" ) + iVirtualKeyBoardOpen = ETrue; + if ( iEasyDialer ) + { + TRAP_IGNORE( iEasyDialer->HandleCommandL( EEasyDialingVkbOpened ) ); + } } // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialercontainerbase.cpp --- a/phoneuis/dialer/src/cdialercontainerbase.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialercontainerbase.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialerkeypadbutton.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialerkeypadcontainer.cpp --- a/phoneuis/dialer/src/cdialerkeypadcontainer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialerkeypadcontainer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include // for KDC_APP_RESOURCE_DIR diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialernumberentry.cpp --- a/phoneuis/dialer/src/cdialernumberentry.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialernumberentry.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -25,15 +25,16 @@ #include #include // CEikImage #include // TResourceReader +#include #include #include #include #include #include #include -#include +#include #include -#include +#include #include #include #include @@ -50,6 +51,8 @@ const TInt KNumberEntryControlCount = 2; // = number entry, label _LIT( KPhoneValidChars, "0123456789*#+pwPW" ); +_LIT( KPhoneVanityValidChars, "0123456789*#+pwABCDEFGHIJKLMNOPQRSTUVWXYZ" ); + const TInt KKeyCtrlA( 1 ); const TInt KKeyCtrlC( 3 ); const TInt KKeyCtrlV( 22 ); @@ -116,7 +119,9 @@ iAppUi = iEikonEnv->EikAppUi(); __ASSERT_ALWAYS( iAppUi, DialerPanic( EDialerPanicNoApplicationInstance ) ); - + + iLateFocuser = CIdle::NewL( CActive::EPriorityIdle ); + ActivateL(); DIALER_PRINT("numberentry::ConstructL>"); } @@ -138,6 +143,13 @@ delete iEditor; delete iFrameContext; delete iLabel; + + if ( iLateFocuser ) + { + iLateFocuser->Cancel(); + } + delete iLateFocuser; + } @@ -152,31 +164,73 @@ } // --------------------------------------------------------------------------- -// CDialerNumberEntry::SetFocus -// -// IsFocused() and iEditor->IsFocused() may return other values besides ETrue -// and EFalse. This is why we need to check their return values against zero -// and use the result in comparison against aFocus. +// Delays the setting of focus or removes the focus // --------------------------------------------------------------------------- // void CDialerNumberEntry::SetFocus( TBool aFocus, TDrawNow aDrawNow ) { - DIALER_PRINT("numberentry::SetFocus<"); + DIALER_PRINT("numberentry::SetFocus<"); + + TBool vkbOpen = ( iEditor->AknEditorFlags() & EAknEditorFlagTouchInputModeOpened ); + + iLateFocuser->Cancel(); + if ( aFocus && !vkbOpen ) + { + // The setting of focus needs to be delayed, because otherwise + // editors cursor is drawn first. Cursor can be seen clearly + // when going from landscape mode homescreen to dialer (when + // dialer's support for landscape mode has been removed) + // The reason behind this is that giving a focus to editor will cause + // enabling of cursor in window server and the window server's + // render plugin will draw the cursor first, before the + // dialer gets drawn. The delay in dialer drawing is caused by the + // screen rotation from landscape to portrait. + iLateFocuser->Start( TCallBack( SetLateFocus, this ) ); + } + else + { + DoSetFocus( aFocus, aDrawNow ); + } + DIALER_PRINT("numberentry::SetFocus>"); + } - if ( aFocus != ( IsFocused() ? ETrue : EFalse ) ) +// --------------------------------------------------------------------------- +// CDialerNumberEntry::SetLateFocus +// --------------------------------------------------------------------------- +// +TInt CDialerNumberEntry::SetLateFocus( TAny* aThis ) + { + DIALER_PRINT("numberentry::SetLateFocus<"); + CDialerNumberEntry* self = static_cast( aThis ); + + self->DoSetFocus( ETrue, ENoDrawNow ); + + DIALER_PRINT("numberentry::SetLateFocus>"); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// Set the focuss +// --------------------------------------------------------------------------- +// +void CDialerNumberEntry::DoSetFocus( TBool aFocus, TDrawNow aDrawNow ) + { + DIALER_PRINT("numberentry::DoSetFocus<"); + // IsFocused() and iEditor->IsFocused() may return other values besides ETrue + // and EFalse. This is why we need to check their return values against zero + // and use the result in comparison against aFocus. + if ( aFocus != (IsFocused() ? ETrue : EFalse) ) { CCoeControl::SetFocus( aFocus, aDrawNow ); } - if ( aFocus != ( iEditor->IsFocused() ? ETrue : EFalse ) ) + if ( aFocus != (iEditor-> IsFocused() ? ETrue : EFalse ) ) { iEditor->SetFocus( aFocus ); - } - - DIALER_PRINT("numberentry::SetFocus>"); + } + DIALER_PRINT("numberentry::DoSetFocus>"); } - // --------------------------------------------------------------------------- // CDialerNumberEntry::TextLength // --------------------------------------------------------------------------- @@ -709,6 +763,8 @@ void CDialerNumberEntry::StartVirtualKeyBoard( ) { // To change focus to VKB, if not called VKB will not come visible + iLateFocuser->Cancel(); + DoSetFocus( ETrue, ENoDrawNow ); iEikonEnv->SyncNotifyFocusObserversOfChangeInFocus(); iEditor->OpenVKB(); } @@ -893,22 +949,40 @@ // ----------------------------------------------------------------------------- // CDialerNumberEntry::Validate -// -// Copied from cphonekeys. // ----------------------------------------------------------------------------- // TBool CDialerNumberEntry::Validate( const TDesC& aString ) { DIALER_PRINT("numberentry::Validate"); - TLex input( aString ); + + if ( aString.Length() == 0 ) + { + return EFalse; + } + + // check first character TPtrC valid( KPhoneValidChars ); - - while ( valid.Locate( input.Peek() ) != KErrNotFound ) + if ( valid.Locate( aString[0] ) == KErrNotFound ) { - input.Inc(); + return EFalse; } - return !input.Remainder().Length(); + // if vanitydialing feature is enabled, also capital A-Z are accepted after first character + if ( FeatureManager::FeatureSupported( KFeatureIdFfHomeScreenVanityDialing ) ) + { + valid.Set( KPhoneVanityValidChars ); + } + + // check rest of the string + for ( TInt i = 1; i < aString.Length(); i++ ) + { + if ( valid.Locate( aString[i] ) == KErrNotFound ) + { + return EFalse; + } + } + + return ETrue; } // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialerstub.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialertoolbarcontainer.cpp --- a/phoneuis/dialer/src/cdialertoolbarcontainer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialertoolbarcontainer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -471,13 +471,13 @@ keyEvent.iCode = 0; // key code is always 0 for key up and down events keyEvent.iScanCode = EStdKeyBackspace; - iCoeEnv->SimulateKeyEventL( keyEvent, EEventKeyDown ); + TRAP_IGNORE( iCoeEnv->SimulateKeyEventL( keyEvent, EEventKeyDown ) ); keyEvent.iCode = EKeyBackspace; - iCoeEnv->SimulateKeyEventL( keyEvent, EEventKey ); + TRAP_IGNORE( iCoeEnv->SimulateKeyEventL( keyEvent, EEventKey ) ); keyEvent.iCode = 0; - iCoeEnv->SimulateKeyEventL( keyEvent, EEventKeyUp ); + TRAP_IGNORE( iCoeEnv->SimulateKeyEventL( keyEvent, EEventKeyUp ) ); } // end of file diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialervideocontainer.cpp --- a/phoneuis/dialer/src/cdialervideocontainer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialervideocontainer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -27,9 +27,9 @@ #include #include #include -#include +#include #include -#include +#include #include #include #include diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cdialingextensionobserver.cpp --- a/phoneuis/dialer/src/cdialingextensionobserver.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cdialingextensionobserver.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -154,7 +154,7 @@ { if ( !iEikonEnvironment ) { - iEikonEnvironment = CEikonEnv::Static(); + iEikonEnvironment = CEikonEnv::Static(); // codescanner::performance::eikonenvstatic } if( iEikonEnvironment && iEikonEnvironment->EikAppUi() ) diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cvideodtmfdialer.cpp --- a/phoneuis/dialer/src/cvideodtmfdialer.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cvideodtmfdialer.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -106,7 +106,7 @@ // Constructor CVideoDTMFDialer::CVideoDTMFDialer( ) : - iEikEnv( *CEikonEnv::Static() ) + iEikEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic { // Empty } diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/src/cvideodtmfdialerstub.cpp --- a/phoneuis/dialer/src/cvideodtmfdialerstub.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/dialer/src/cvideodtmfdialerstub.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -66,7 +66,7 @@ // Constructor CVideoDTMFDialer::CVideoDTMFDialer( ) : - iEikEnv( *CEikonEnv::Static() ) + iEikEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic { // Empty } diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.mmp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialerBlocks.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/data/easydialingpluginresources.rss --- a/phoneuis/easydialing/data/easydialingpluginresources.rss Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/data/easydialingpluginresources.rss Thu Sep 09 18:09:57 2010 +0100 @@ -114,9 +114,13 @@ }, MENU_ITEM { - command = EEasyDialingVoiceCall; - cascade = r_easydialing_options_call_menu; - txt = text_number_call; + command = EEasyDialingVoiceCall; + txt = qtn_call_sub_voice; + }, + MENU_ITEM + { + command = EEasyDialingVideoCall; + txt = qtn_call_sub_video; }, MENU_ITEM { @@ -142,30 +146,6 @@ } -// --------------------------------------------------------- -// -// r_easydialing_options_call_menu -// Number Acquisition view options call menu pane. -// -// --------------------------------------------------------- -// -RESOURCE MENU_PANE r_easydialing_options_call_menu - { - items= - { - MENU_ITEM - { - command = EEasyDialingVoiceCall; - txt = qtn_call_sub_voice; - }, - MENU_ITEM - { - command = EEasyDialingVideoCall; - txt = qtn_call_sub_video; - } - }; - } - //---------------------------------------------------------------------------- // r_easydialing_options_on_off_menu_item // diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/group/easydialingplugin.mmp --- a/phoneuis/easydialing/group/easydialingplugin.mmp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/group/easydialingplugin.mmp Thu Sep 09 18:09:57 2010 +0100 @@ -131,5 +131,6 @@ // Libraries used for R&D purposes only DEBUGLIBRARY flogger.lib + // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/group/iconlist.txt --- a/phoneuis/easydialing/group/iconlist.txt Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/group/iconlist.txt Thu Sep 09 18:09:57 2010 +0100 @@ -1,3 +1,5 @@ -c8,8 qgn_indi_org_arrow_right.svg -c8,8 qgn_indi_org_arrow_left.svg --c8,8 qgn_indi_org_arrow_down.svg \ No newline at end of file +-c8,8 qgn_indi_org_arrow_down.svg +-c8,8 qgn_prop_nrtyp_sim_contact.svg +-c8,8 qgn_prop_nrtyp_sdn.svg \ No newline at end of file diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/dialingextensioninterface.h --- a/phoneuis/easydialing/inc/dialingextensioninterface.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/dialingextensioninterface.h Thu Sep 09 18:09:57 2010 +0100 @@ -88,6 +88,29 @@ class CDialingExtensionInterface : public CCoeControl { public: + + + /** + * Enumeration for keyboard modes. Keyboardmode affect on how search string is matched + * with contacts. + */ + typedef enum + { + + /* + * ENormalKeyboard is used when there is no QWERTY keyboard, or non-hybrid mode + * QWERTY keyboard. + */ + EDefaultKeyboard = 0, + + /* + * EHybridQwerty is used with hybrid mode QWERTY keyboard. Hybrid mode means + * that keys where a letter and number share a common key, short press to that key + * produces the number, not the letter. + */ + EHybridQwerty + + } TKeyboardMode; /** * Creates an instance of plugin. @@ -183,6 +206,13 @@ */ virtual TBool IsEnabled() const = 0; + + /** + * Set keyboard mode to be used in matching. + * @param aMode Mode to be used. + */ + virtual void SetKeyboardMode( TKeyboardMode aMode ) = 0; + private: // data /** ECom instance identifier key. */ diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingcenreplistener.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingcommands.hrh diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingcontactdata.h --- a/phoneuis/easydialing/inc/easydialingcontactdata.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/easydialingcontactdata.h Thu Sep 09 18:09:57 2010 +0100 @@ -76,6 +76,34 @@ /** + * Gets SIM contact status of the contact + * @return ETrue, if contact is a SIM contact, EFalse otherwise. + */ + TBool IsSimContact(); + + + /** + * Sets SIM contact status of the contact + * @param aSim Boolean value containing the status. + */ + void SetSimContact(TBool aSim); + + + /** + * Gets Service Dialing Number status of the contact + * @return ETrue, if contact is a SDN contact, EFalse otherwise. + */ + TBool IsSdnContact(); + + + /** + * Sets Service Dialing Number status of the contact + * @param aSdn Boolean value containing the status. + */ + void SetSdnContact(TBool aSdn); + + + /** * Returns the loading status of the contact. * @return ETrue, if contact data loading has completed, EFalse otherwise. */ @@ -86,7 +114,7 @@ * Sets loading status to complete. */ void LoadingComplete(); - + /** * Deletes the thumbnail image of the contact. @@ -139,19 +167,25 @@ /** Thumbnail bitmap. Owned. */ CFbsBitmap* iThumbnail; - + /** ETrue if this is a favourite contact. */ TBool iFav; - + + /** ETrue if this is a normal SIM contact. */ + TBool iSimContact; + + /** ETrue if this is a service number contact. */ + TBool iSdnContact; + /** ETrue is asynchronous loading of contact data is complete. */ TBool iLoaded; - + /** ETrue if voice call is a possible action with this contact. */ TBool iVoiceCallAvailable; /** ETrue if video call is a possible action with this contact. */ TBool iVideoCallAvailable; - + /** ETrue if SMS or MMS is a possible action with this contact. */ TBool iUniEditorAvailable; }; diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingcontactdatamanager.h --- a/phoneuis/easydialing/inc/easydialingcontactdatamanager.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/easydialingcontactdatamanager.h Thu Sep 09 18:09:57 2010 +0100 @@ -20,8 +20,9 @@ #define __EASYDIALINGCONTACTDATAMANAGER_H__ #include +#include #include -#include +#include #include #include #include @@ -30,6 +31,7 @@ #include "easydialingcontactdata.h" // FORWARD DECLARATIONS +class CPbk2StoreConfiguration; class CVPbkContactManager; class MContactDataManagerObserver; class MVPbkFieldType; @@ -45,15 +47,16 @@ public CBase, public MPbk2ImageGetObserver, public MVPbkSingleContactOperationObserver, - public MVPbkContactStoreObserver, + public MVPbkContactStoreListObserver, public MVPbkOperationErrorObserver, public MVPbkOperationResultObserver, + public MPbk2StoreConfigurationObserver, public MPbkGlobalSettingObserver, public MVPbkContactViewObserver { public: - + /** * Contact name display order */ @@ -62,26 +65,32 @@ EFirstnameLastname, ELastnameFirstname }; - -public: + +public: // constructor and destructor /** - * Constructor. + * Two-phased constructor */ - CEasyDialingContactDataManager(CVPbkContactManager* aContactManager); - + static CEasyDialingContactDataManager* NewL(); /** * Destructor. */ ~CEasyDialingContactDataManager(); +private: // constructors + /** + * Constructor. + */ + CEasyDialingContactDataManager(); + /** * Second phase constructor of the class. */ void ConstructL(); +public: // new methods /** * Sets the observer. Observer is notified when thumbnail loading is complete * @param aObserver @@ -89,6 +98,11 @@ void SetObserver(MContactDataManagerObserver* aObserver); /** + * Gets a handle to the VPbk contact manager + */ + CVPbkContactManager& ContactManager(); + + /** * Sets the size of the thumbnails. If the loaded thumbnail is larger than * the set size, thumnail is scaled to the size. If the set size is different * from the old one, deletes all loaded thumbnails, which causes them to be @@ -108,14 +122,39 @@ HBufC* GetThumbnailIdL( MVPbkContactLink* aContact, TBool aMatchThumbnail, TBool aFav ); /** + * Gets internal index for a contact item with the given internal ID. + */ + TInt IndexForId( const TDesC& aId ) const; + + /** * Gets the thumbnail for a contact item. If thumbnail is not loaded, starts * loading it. - * @param aContact Contact link + * @param aIndex Internal index for the contact, obtained with IndexForId * @param aThumbnail Outparam. Contact thumbnail. NULL if contact doesn't have thumbnail - * @param aFav Outparam. Favourite status * @return true if contact data has been loaded */ - TBool GetThumbnailAndFav(const TDesC& aId, CFbsBitmap*& aThumbnail, TBool& aFav); + TBool GetThumbnail( TInt aIndex, CFbsBitmap*& aThumbnail ); + + /** + * Checks if contact is a favorite contact + * @param aIndex Internal index fo the contact, obtained with IndexForId + * @return ETrue if contact is a favorite contact + */ + TBool IsFav( TInt aIndex ) const; + + /** + * Checks if contact is a SIM contact + * @param aIndex Internal index fo the contact, obtained with IndexForId + * @return ETrue if contact is a SIM contact + */ + TBool IsSimContact( TInt aIndex ) const; + + /** + * Checks if contact is a service number contact + * @param aIndex Internal index fo the contact, obtained with IndexForId + * @return ETrue if contact is a service number contact + */ + TBool IsSdnContact( TInt aIndex ) const; /** * Deletes all loaded thumbnails and cancel asynchronous operations. @@ -201,6 +240,13 @@ TNameOrder NameOrder(); /** + * Get URIs of the contact stores which are currently shown in Phonebook. + * @param aUris On return, contains heap descriptors identifying the contact + * stores which are active. Ownership of the descriptors is given. + */ + void GetCurrentStoreUrisL( RPointerArray& aUris ); + + /** * Pause the loading of contact data. This is used to make sure listbox is responsive * and smooth during panning and flicking. * @param aPause Pause on/off @@ -223,6 +269,19 @@ public: /** + * From MPbk2StoreConfigurationObserver + */ + void ConfigurationChanged(); + + /** + * From MPbk2StoreConfigurationObserver + */ + void ConfigurationChangedComplete(); + + +public: + + /** * From MPbkGlobalSettingObserver. */ void SettingChangedL( MPbkGlobalSetting::TPbkGlobalSetting aKey ); @@ -246,25 +305,27 @@ private: - /** - * From MVPbkContactStoreObserver. + * From MVPbkContactStoreListObserver. */ void StoreReady( MVPbkContactStore& aContactStore ); - - + /** - * From MVPbkContactStoreObserver. + * From MVPbkContactStoreListObserver. */ void StoreUnavailable( MVPbkContactStore& aContactStore, TInt aReason ); + /** + * From MVPbkContactStoreListObserver. + */ + void HandleStoreEventL( MVPbkContactStore& aContactStore, + TVPbkContactStoreEvent aStoreEvent ); /** - * From MVPbkContactStoreObserver. + * From MVPbkContactStoreListObserver. */ - void HandleStoreEventL( MVPbkContactStore& aContactStore, - TVPbkContactStoreEvent aStoreEvent ); - + void OpenComplete(); + private: /** * From MVPbkOperationErrorObserver. @@ -327,8 +388,15 @@ void InformObserver(); void UpdateNameOrderL(); + + void SetupFavStoreSearchedL(); + + void SetStoreFlagsForContact( CEasyDialingContactData* aContactData ) const; private: + /** Phonebook store configuration. Owned. */ + CPbk2StoreConfiguration* iPbkStoreConfiguration; + /** Array that contains all loaded contact data. Owned. */ RPointerArray iContactDataArray; @@ -350,7 +418,7 @@ /** Contact item for which a thumbnail is being loaded. Owned. */ MVPbkStoreContact* iStoreContact; - /** Virtual phonebook contact manager. Not owned. */ + /** Virtual phonebook contact manager. Owned. */ CVPbkContactManager* iContactManager; /** Contact data manager observer. Not owned. */ @@ -362,9 +430,6 @@ /** Virtual phonebook operation handle. Owned. */ MVPbkContactOperationBase* iContactOperation; - /** Default contact store. Not owned. */ - MVPbkContactStore* iContactStore; - /** Variable which tells either to show or hide contact thumbnails. */ TBool iContactThumbnailSetting; @@ -377,6 +442,9 @@ /** Favourites view is ready to be used. */ TBool iFavsViewReady; + /** Contact store containing favourite contacts is configured to be searched. */ + TBool iFavStoreSearched; + /** Virtual phonebook operation handle for getting favourites. Owned. */ MVPbkContactOperationBase* iFavsOperation; diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialinglistbox.h --- a/phoneuis/easydialing/inc/easydialinglistbox.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/easydialinglistbox.h Thu Sep 09 18:09:57 2010 +0100 @@ -149,7 +149,7 @@ /** * Return contact link of current item packaged in HBufC object. If no item is - * selected in listbox returns NULL. + * selected in listbox returns NULL. * @return Contact link. Ownership is transferred to the caller. */ HBufC8* CurrentContactLinkL(); diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialinglistboxdata.h --- a/phoneuis/easydialing/inc/easydialinglistboxdata.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/easydialinglistboxdata.h Thu Sep 09 18:09:57 2010 +0100 @@ -155,15 +155,15 @@ const TExtendedColors& aColors ) const; /** - * Draws the Contact Thumbnail Icon if any else draws the dummy contact thumbnail. + * Draws the Contact Thumbnail Icon if any, else draws the dummy contact thumbnail. * @param aGc Graphics context. * @param aBoundingBox Rectangle containing bounds for contact thumbnail. - * @param aDescId Descriptor containing contact id. + * @param aContactIndex Contact index for the contact data manager */ - TBool DrawContactThumbnail( + void DrawContactThumbnail( CWindowGc& aGc, TRect aBoundingBox, - TPtrC aDescId) const; + TInt aContactIndex ) const; /** * Draws the Action Menu. @@ -185,6 +185,21 @@ TRect aNameRectUnMirrored, TRect aEffectiveRect) const; + /** + * Draws the SIM or Service Number icon. Takes the name rect as a parameter. Name rect + * must be unmirrored, because the mirroring is done as the last thing + * before drawing. + * @param aIcon The icon to be drawn + * @param aGc Graphics context. + * @param aNameRectUnMirrored Name rect, after which the icon is drawn + * @param aEffectiveRect The whole listbox item rect. Used for mirroring. + */ + void DrawSimIcon( + CGulIcon& aIcon, + CWindowGc& aGc, + TRect aNameRectUnMirrored, + TRect aEffectiveRect) const; + private: /** Control environment */ @@ -214,6 +229,12 @@ /** Favourite icon. Owned. */ CGulIcon* iFavouriteIcon; + /** SIM contact icon. Owned. */ + CGulIcon* iSimContactIcon; + + /** Service contact icon. Owned. */ + CGulIcon* iSdnContactIcon; + /** Pointer to listbox. Not owned. */ CEasyDialingListBox* iControl; }; diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingplugin.h --- a/phoneuis/easydialing/inc/easydialingplugin.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/easydialingplugin.h Thu Sep 09 18:09:57 2010 +0100 @@ -58,8 +58,6 @@ class CPSRequestHandler; class CPsQuery; -class CVPbkContactStoreUriArray; -class CVPbkContactManager; class CEasyDialingListBox; class MVPbkContactLink; class CEasyDialingCenrepListener; @@ -96,7 +94,7 @@ * Destructor. */ virtual ~CEasyDialingPlugin(); - + public: // from CCoeControl /** @@ -118,7 +116,7 @@ * From CCoeControl */ void MakeVisible( TBool aVisible ); - + /** * From CCoeControl */ @@ -213,6 +211,12 @@ */ TBool IsEnabled() const; + /** + * Tells if extension is currently enabled from settings. + * @return ETrue if extension is enabled, EFalse otherwise. + */ + void SetKeyboardMode( TKeyboardMode aMode ); + public: /** @@ -224,7 +228,7 @@ * From MEasyDialingCenrepListenerObserver. */ void EasyDialingContactThumbnailsSettingsChanged( TInt aThumbnailSettingValue ); - + /** * From MContactDataManagerObserver. */ @@ -241,6 +245,11 @@ void FavouritesChanged(); /** + * From MContactDataManagerObserver. + */ + void StoreConfigurationChanged(); + + /** * From MEDContactorObserver. */ void InformContactorEvent( MEDContactorObserver::TEvent aEvent ); @@ -279,6 +288,8 @@ void InitPredictiveContactSearchL(); + void SetupPcsSettingsL(); + void SetSortOrderL( CEasyDialingContactDataManager::TNameOrder aNameOrder ); /** @@ -446,12 +457,6 @@ /** Array of used data stores. Owned. */ RPointerArray iContactDataStores; - /** Contact store array. Owned. */ - CVPbkContactStoreUriArray* iContactStoreUriArray; - - /** Contact manager handle. Owned. */ - CVPbkContactManager* iContactManager; - /** Search result field index for first name field. */ TInt iFirstNamePCSIndex; @@ -517,7 +522,7 @@ /** Is virtual keyboard currently open or not.*/ TBool iVirtualKeyboardOpen; - + /** First line of info text shown when number entry is empty. Owned. */ HBufC* iInfoLabelTextLine1; @@ -529,6 +534,12 @@ /** Label for showing second line of info text when number entry is empty. Owned. */ CEikLabel* iInfoLabelLine2; + + /** Keyboard mode to be used in matching. */ + TKeyboardMode iKeyboardMode; + + /** 'Flag' if contact have been long tapped, so ECE launcher opens. Long tap contact = True, default = False */ + TBool iLongTapped; }; diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/easydialingutils.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/inc/mcontactdatamanagerobserver.h --- a/phoneuis/easydialing/inc/mcontactdatamanagerobserver.h Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/inc/mcontactdatamanagerobserver.h Thu Sep 09 18:09:57 2010 +0100 @@ -30,6 +30,8 @@ virtual void NameOrderChanged() = 0; virtual void FavouritesChanged() = 0; + + virtual void StoreConfigurationChanged() = 0; }; #endif //__MCONTACTDATAMANAGEROBSERVER_H__ diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/loc/easydialing.loc diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialingcenreplistener.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialingcontactdata.cpp --- a/phoneuis/easydialing/src/easydialingcontactdata.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialingcontactdata.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -26,7 +26,7 @@ // --------------------------------------------------------------------------- // CEasyDialingContactData::CEasyDialingContactData(MVPbkContactLink* aContactLink) - : iContactLink(aContactLink), iThumbnail(NULL),iFav(EFalse), iLoaded(EFalse) + : iContactLink(aContactLink), iThumbnail(NULL), iFav(EFalse), iLoaded(EFalse) { } @@ -64,10 +64,7 @@ // void CEasyDialingContactData::SetThumbnail(CFbsBitmap* aThumbnail) { - if (iThumbnail) - { - delete iThumbnail; - } + delete iThumbnail; iThumbnail = aThumbnail; } @@ -90,6 +87,42 @@ } // --------------------------------------------------------------------------- +// CEasyDialingContactData::IsSimContact +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactData::IsSimContact() + { + return iSimContact; + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactData::SetSimContact +// --------------------------------------------------------------------------- +// +void CEasyDialingContactData::SetSimContact(TBool aSim) + { + iSimContact = aSim; + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactData::IsSdnContact +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactData::IsSdnContact() + { + return iSdnContact; + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactData::SetSimContact +// --------------------------------------------------------------------------- +// +void CEasyDialingContactData::SetSdnContact(TBool aSdn) + { + iSdnContact = aSdn; + } + +// --------------------------------------------------------------------------- // CEasyDialingContactData::IsLoaded // --------------------------------------------------------------------------- // @@ -179,7 +212,4 @@ iUniEditorAvailable = aVailable; } - - - - +// end of file diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialingcontactdatamanager.cpp --- a/phoneuis/easydialing/src/easydialingcontactdatamanager.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialingcontactdatamanager.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -28,22 +30,20 @@ #include #include #include - #include #include #include #include - #include #include #include #include -#include // MVPbkContactStore +#include +#include #include +#include #include -#include - #include "easydialingcontactdata.h" #include "easydialingcontactdatamanager.h" #include "easydialingutils.h" @@ -52,12 +52,30 @@ #include "easydialinglogger.h" // --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::NewL +// --------------------------------------------------------------------------- +// +CEasyDialingContactDataManager* CEasyDialingContactDataManager::NewL() + { + CEasyDialingContactDataManager* self = + new ( ELeave ) CEasyDialingContactDataManager(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- // CEasyDialingContactDataManager::CEasyDialingContactDataManager // --------------------------------------------------------------------------- // -CEasyDialingContactDataManager::CEasyDialingContactDataManager(CVPbkContactManager* aContactManager) - : iImageOperation(NULL), iContactManager(aContactManager), iContactOperation(NULL), - iContactThumbnailSetting(ETrue), iStoreReady(EFalse) +CEasyDialingContactDataManager::CEasyDialingContactDataManager() + : iPbkStoreConfiguration(NULL), + iImageOperation(NULL), + iContactManager(NULL), + iContactOperation(NULL), + iContactThumbnailSetting(ETrue), + iStoreReady(EFalse) { } @@ -76,11 +94,19 @@ delete iImageOperation; delete iContactOperation; delete iFavsView; - if (iContactStore) + + if ( iContactManager ) { - iContactStore->Close( *this); + TRAP_IGNORE( iContactManager->ContactStoresL().CloseAll( *this ) ); } + delete iContactManager; + if ( iPbkStoreConfiguration ) + { + iPbkStoreConfiguration->RemoveObserver( *this ); + } + delete iPbkStoreConfiguration; + if ( iPbkSettings ) { iPbkSettings->Close(); @@ -94,31 +120,43 @@ // void CEasyDialingContactDataManager::ConstructL() { + // Create contact store configuration handler + iPbkStoreConfiguration = CPbk2StoreConfiguration::NewL(); + iPbkStoreConfiguration->AddObserverL( *this ); + + // Create manager for all the supported contact stores + CVPbkContactStoreUriArray* supportedStores = + iPbkStoreConfiguration->SupportedStoreConfigurationL(); + CleanupStack::PushL( supportedStores ); + iContactManager = CVPbkContactManager::NewL( *supportedStores ); + CleanupStack::PopAndDestroy( supportedStores ); + + // Open the stores and start observing them + iContactManager->ContactStoresL().OpenAllL( *this ); + iImageManager = CPbk2ImageManager::NewL(*iContactManager); - TVPbkContactStoreUriPtr uri( VPbkContactStoreUris::DefaultCntDbUri() ); - iContactStore = iContactManager->ContactStoresL().Find( uri ); - iVPbkTopContactManager = CVPbkTopContactManager::NewL( *iContactManager ); iImageManagerParams.iFlags = TPbk2ImageManagerParams::EScaleImage | TPbk2ImageManagerParams::EKeepAspectRatio; iThumbnailFieldType = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_THUMBNAILPIC ); - // Open the store - iContactStore->OpenL( *this ); - // Read easydialing setting from cenrep. CRepository* cenrep = CRepository::NewL( KCRUidEasyDialSettings ); CleanupStack::PushL( cenrep ); User::LeaveIfError( cenrep->Get( KEasyDialingContactThumbnails, iContactThumbnailSetting ) ); CleanupStack::PopAndDestroy( cenrep ); + // Start observing Phoenbook setting for the name order iPbkSettings = PbkGlobalSettingFactory::CreatePersistentSettingL(); iPbkSettings->ConnectL( MPbkGlobalSetting::EGeneralSettingCategory ); iPbkSettings->RegisterObserverL( this ); // Get name order from Phonebook settings UpdateNameOrderL(); + + // Check if store with favourites is configured to be searched. + SetupFavStoreSearchedL(); } // --------------------------------------------------------------------------- @@ -131,6 +169,15 @@ } // --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::ContactManager +// --------------------------------------------------------------------------- +// +CVPbkContactManager& CEasyDialingContactDataManager::ContactManager() + { + return *iContactManager; + } + +// --------------------------------------------------------------------------- // CEasyDialingContactDataManager::SetThumbnailSize // --------------------------------------------------------------------------- // @@ -161,12 +208,13 @@ if (newIndex == KErrNotFound) { MVPbkContactLink* newLink = aContact->CloneLC(); - CEasyDialingContactData *newThumbnail = new (ELeave) CEasyDialingContactData(newLink); + CEasyDialingContactData* newData = new (ELeave) CEasyDialingContactData(newLink); CleanupStack::Pop(); // newLink newIndex = iContactDataArray.Count(); - CleanupStack::PushL(newThumbnail); - iContactDataArray.AppendL(newThumbnail); - CleanupStack::Pop(newThumbnail); + CleanupStack::PushL(newData); + iContactDataArray.AppendL(newData); + CleanupStack::Pop(newData); + SetStoreFlagsForContact(newData); } iContactDataArray[ newIndex ]->SetFav( aFav ); @@ -179,33 +227,41 @@ } // --------------------------------------------------------------------------- -// CEasyDialingContactDataManager::GetThumbnailAndFav +// CEasyDialingContactDataManager::IndexForId // --------------------------------------------------------------------------- // -TBool CEasyDialingContactDataManager::GetThumbnailAndFav(const TDesC& aId, CFbsBitmap*& aThumbnail, TBool& aFav) +TInt CEasyDialingContactDataManager::IndexForId( const TDesC& aId ) const { - LOGSTRING("CEasyDialingContactDataManager: GetThumbnailAndFav"); TUint idVal(0); TLex lex(aId); lex.Val(idVal, EHex); + return idVal; + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::GetThumbnail +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactDataManager::GetThumbnail( TInt aIndex, CFbsBitmap*& aThumbnail ) + { + LOGSTRING("CEasyDialingContactDataManager: GetThumbnail"); TBool retVal; - CEasyDialingContactData* thumbnail = iContactDataArray[idVal]; - aFav = thumbnail->Fav(); - if (thumbnail->IsLoaded()) + CEasyDialingContactData* contactData = iContactDataArray[aIndex]; + if ( contactData->IsLoaded() ) { - aThumbnail = thumbnail->Thumbnail(); + aThumbnail = contactData->Thumbnail(); retVal = ETrue; } else { aThumbnail = NULL; retVal = EFalse; - if (iWaitingContacts.Find(idVal) == KErrNotFound) + if (iWaitingContacts.Find(aIndex) == KErrNotFound) { - LOGSTRING1("iWaitingContacts.Append %d", idVal); - iWaitingContacts.Append(idVal); + LOGSTRING1("iWaitingContacts.Append %d", aIndex); + iWaitingContacts.Append(aIndex); TRAPD(err, LoadNextContactDataL()); if (err) { @@ -213,11 +269,41 @@ } } } - LOGSTRING("CEasyDialingContactDataManager: GetThumbnailAndFav Exit"); + LOGSTRING("CEasyDialingContactDataManager: GetThumbnail Exit"); return retVal; } // --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::IsFav +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactDataManager::IsFav( TInt aIndex ) const + { + CEasyDialingContactData* contactData = iContactDataArray[aIndex]; + return contactData->Fav(); + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::IsSimContact +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactDataManager::IsSimContact( TInt aIndex ) const + { + CEasyDialingContactData* contactData = iContactDataArray[aIndex]; + return contactData->IsSimContact(); + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::IsSdnContact +// --------------------------------------------------------------------------- +// +TBool CEasyDialingContactDataManager::IsSdnContact( TInt aIndex ) const + { + CEasyDialingContactData* contactData = iContactDataArray[aIndex]; + return contactData->IsSdnContact(); + } + +// --------------------------------------------------------------------------- // CEasyDialingContactDataManager::IsFavL // --------------------------------------------------------------------------- // @@ -239,7 +325,7 @@ // TInt CEasyDialingContactDataManager::NumberOfFavsL() { - if ( iFavsView && iFavsViewReady ) + if ( iFavsView && iFavsViewReady && iFavStoreSearched ) { return iFavsView->ContactCountL(); } @@ -255,7 +341,7 @@ // MVPbkContactLink* CEasyDialingContactDataManager::FavLinkLC( TInt aIndex ) { - if ( !iFavsView || !iFavsViewReady ) + if ( !iFavsView || !iFavsViewReady || !iFavStoreSearched ) { // LC function should not return normally unless it has actually // put something to cleanup stack @@ -318,6 +404,23 @@ } // --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::GetCurrentStoreUrisL +// --------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::GetCurrentStoreUrisL( RPointerArray& aUris ) + { + CVPbkContactStoreUriArray* storeUris = iPbkStoreConfiguration->CurrentConfigurationL(); + CleanupStack::PushL( storeUris ); + for ( TInt i = 0 ; i < storeUris->Count() ; ++i ) + { + HBufC* dbUri = (*storeUris)[i].UriDes().AllocLC(); + aUris.AppendL( dbUri ); + CleanupStack::Pop( dbUri ); + } + CleanupStack::PopAndDestroy( storeUris ); + } + +// --------------------------------------------------------------------------- // CEasyDialingContactDataManager::Pause // --------------------------------------------------------------------------- // @@ -388,17 +491,21 @@ if ( !iImageOperation && !iContactOperation && iWaitingContacts.Count() && iStoreReady && !iPause ) { // first we need to load the contact item - CEasyDialingContactData* tn = iContactDataArray[iWaitingContacts[0]]; - iContactOperation = iContactManager->RetrieveContactL( *(tn->ContactLink()), *this); - - if (!iContactOperation) + const TInt index( iWaitingContacts[0] ); + + if ( index >= 0 && index < iContactDataArray.Count() ) { - tn->LoadingComplete(); - RDebug::Print(_L("iWaitingContacts.Remove %d"), iWaitingContacts[0]); - iWaitingContacts.Remove(0); - LoadNextContactDataL(); + CEasyDialingContactData* data = iContactDataArray[index]; + iContactOperation = iContactManager->RetrieveContactL( *(data->ContactLink()), *this); + if (!iContactOperation) + { + data->LoadingComplete(); + RDebug::Print(_L("iWaitingContacts.Remove %d"), iWaitingContacts[0]); + iWaitingContacts.Remove(0); + LoadNextContactDataL(); + } } - } + } LOGSTRING("CEasyDialingContactDataManager: LoadNextContactDataL Exit"); } @@ -410,9 +517,14 @@ void CEasyDialingContactDataManager::Pbk2ImageGetComplete(MPbk2ImageOperation& aOperation, CFbsBitmap* aBitmap) { LOGSTRING("CEasyDialingContactDataManager: Pbk2ImageGetComplete"); - TInt index = iWaitingContacts[0]; - LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); - iWaitingContacts.Remove(0); + TInt index( KErrNotFound ); + if ( iWaitingContacts.Count() > 0 ) + { + index = iWaitingContacts[0]; + LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); + iWaitingContacts.Remove(0); + } + delete &aOperation; iImageOperation = NULL; delete iStoreContact; @@ -437,6 +549,30 @@ Pbk2ImageGetComplete(aOperation, NULL); } +// ----------------------------------------------------------------------------- +// ConfigurationChanged +// From MPbk2StoreConfigurationObserver +// Called when contact store configuration changes +// ----------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::ConfigurationChanged() + { + TRAP_IGNORE( SetupFavStoreSearchedL() ); + iObserver->StoreConfigurationChanged(); + } + +// ----------------------------------------------------------------------------- +// ConfigurationChangedComplete +// From MPbk2StoreConfigurationObserver +// Called when contact store configuration change has been informed to all +// observers +// ----------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::ConfigurationChangedComplete() + { + // no implementation needed + } + // --------------------------------------------------------------------------- // CEasyDialingContactDataManager::SettingChangedL // From MPbkGlobalSettingObserver @@ -509,13 +645,15 @@ void CEasyDialingContactDataManager::DoHandleImageGetCompleteL(CFbsBitmap* aBitmap, TInt aIndex) { LOGSTRING("CEasyDialingContactDataManager: DoHandleImageGetCompleteL"); - CEasyDialingContactData *tn = iContactDataArray[aIndex]; - tn->LoadingComplete(); - if (aBitmap) + if ( aIndex >= 0 && aIndex < iContactDataArray.Count() ) { - tn->SetThumbnail(aBitmap); + CEasyDialingContactData* data = iContactDataArray[aIndex]; + data->LoadingComplete(); + if (aBitmap) + { + data->SetThumbnail(aBitmap); + } } - LoadNextContactDataL(); InformObserver(); LOGSTRING("CEasyDialingContactDataManager: DoHandleImageGetCompleteL Exit"); @@ -556,7 +694,7 @@ } LOGSTRING1("CEasyDialingContactDataManager: VoiceCallAvailable returns %d", ret); - return ret; + return ret; } @@ -577,7 +715,7 @@ } LOGSTRING1("CEasyDialingContactDataManager: VideoCallAvailable returns %d", ret); - return ret; + return ret; } @@ -598,7 +736,7 @@ } LOGSTRING1("CEasyDialingContactDataManager: UniEditorAvailable returns %d", ret); - return ret; + return ret; } @@ -647,29 +785,20 @@ iObserver->AllContactDataLoaded(); } } - + // --------------------------------------------------------------------------- // CEasyDialingContactDataManager::StoreReady -// from MVPbkContactStoreObserver -// Called when the contact store is ready to be used, signals -// the next engine state. +// from MVPbkContactStoreListObserver // @param aContactStore The store that is ready. // --------------------------------------------------------------------------- // - void CEasyDialingContactDataManager::StoreReady( MVPbkContactStore& /*aContactStore*/ ) { - // next open the favourites view - TRAPD( err, iVPbkTopContactManager->GetTopContactsViewL( *this, *this ) ); - if ( err ) - { - HandleError( err ); - } } - + // --------------------------------------------------------------------------- // CEasyDialingContactDataManager::StoreUnavailable -// from MVPbkContactStoreObserver +// from MVPbkContactStoreListObserver // Called when a contact store becomes unavailable. // @param aContactStore The store that became unavailable. // @param aReason The reason why the store is unavailable. @@ -679,27 +808,46 @@ void CEasyDialingContactDataManager::StoreUnavailable( MVPbkContactStore& /*aContactStore*/, TInt /*aReason*/ ) { - // Opening main contact database failed. Easydialing can operate without - // it, but thumbnails and favourite stars can't be shown, and availability - // of action menu items can't be checked. + // Opening some contact database failed. Easydialing can operate without + // any database connections, but thumbnails and favourite stars can't be + // shown, and availability of action menu items can't be checked. // Of course, if easydialing can't open the database, probably PCSServer // can't open it either... } // --------------------------------------------------------------------------- // CEasyDialingContactDataManager::HandleStoreEventL -// from MVPbkContactStoreObserver +// from MVPbkContactStoreListObserver // Called when changes occur in the contact store. -// IGNORED. +// IGNORED because ED plugin reacts to contact modifications by listening +// to PCS cache update events. // @param aContactStore A store whose event it is. // @param aStoreEvent The event that has occurred. // --------------------------------------------------------------------------- // -void CEasyDialingContactDataManager::HandleStoreEventL(MVPbkContactStore& /*aContactStore*/, - TVPbkContactStoreEvent /*aStoreEvent*/) +void CEasyDialingContactDataManager::HandleStoreEventL( MVPbkContactStore& /*aContactStore*/, + TVPbkContactStoreEvent /*aStoreEvent*/ ) { } +// ----------------------------------------------------------------------------- +// CEasyDialingPlugin::OpenComplete +// From MVPbkContactStoreListObserver. +// Called when all contact stores are ready to be used, signals +// the next engine state. +// +// ----------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::OpenComplete() + { + // next open the favourites view + TRAPD( err, iVPbkTopContactManager->GetTopContactsViewL( *this, *this ) ); + if ( err ) + { + HandleError( err ); + } + } + // --------------------------------------------------------------------------- // CEasyDialingContactDataManager::VPbkOperationFailed // --------------------------------------------------------------------------- @@ -711,7 +859,7 @@ // Loading list of favourite contacts failed. // Continue as if none of the contacts are favourited. delete iFavsOperation; - iFavsOperation = NULL; + iFavsOperation = NULL; delete iFavsView; iFavsView = NULL; iFavsViewReady = EFalse; @@ -843,10 +991,9 @@ // Find out the available communication methods for the contact. GetAvailableServicesL( aContact, aIndex ); - // Next initiate async thumbnail get operation. - if(GetContactThumbnailSetting()) // reads the iContactThumbnailSetting value if it is false we dont fetch images + if (GetContactThumbnailSetting()) // reads the iContactThumbnailSetting value if it is false we dont fetch images { if (iImageManager->HasImage(*iStoreContact, *iThumbnailFieldType)) { @@ -861,7 +1008,7 @@ { CEasyDialingContactData *tn = iContactDataArray[aIndex]; tn->LoadingComplete(); - LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); + LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); iWaitingContacts.Remove(0); delete iStoreContact; iStoreContact = NULL; @@ -872,9 +1019,9 @@ else { // Opening contact failed. Mark contact data loaded, so it's not opened again. - CEasyDialingContactData *tn = iContactDataArray[aIndex]; - tn->LoadingComplete(); - LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); + CEasyDialingContactData* data = iContactDataArray[aIndex]; + data->LoadingComplete(); + LOGSTRING1("iWaitingContacts.Remove %d", iWaitingContacts[0]); iWaitingContacts.Remove(0); LoadNextContactDataL(); InformObserver(); @@ -924,13 +1071,17 @@ LOGSTRING("CEasyDialingContactDataManager: VPbkSingleContactOperationComplete"); delete &aOperation; iContactOperation = NULL; - TInt index = iWaitingContacts[0]; - LOGSTRING1("VPbkSingleContactOperationComplete, Index=%d", index); - TRAPD(err, DoHandleContactOperationCompleteL(aContact, index)); - if (err) + if ( iWaitingContacts.Count() > 0 ) { - HandleError(err); + TInt index = iWaitingContacts[0]; + LOGSTRING1("VPbkSingleContactOperationComplete, Index=%d", index); + TRAPD(err, DoHandleContactOperationCompleteL(aContact, index)); + if ( err ) + { + HandleError(err); + } } + LOGSTRING("CEasyDialingContactDataManager: VPbkSingleContactOperationComplete Exit"); } @@ -999,6 +1150,38 @@ } } +// --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::SetupFavStoreSearchedL +// --------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::SetupFavStoreSearchedL() + { + // Check if favourite contact store (i.e. the default contact store) is one + // of the stores configured to be searched. + CVPbkContactStoreUriArray* storeUris = + iPbkStoreConfiguration->CurrentConfigurationL(); + iFavStoreSearched = + storeUris->IsIncluded( VPbkContactStoreUris::DefaultCntDbUri() ); + delete storeUris; + } + +// --------------------------------------------------------------------------- +// CEasyDialingContactDataManager::SetStoreFlagsForContact +// --------------------------------------------------------------------------- +// +void CEasyDialingContactDataManager::SetStoreFlagsForContact( + CEasyDialingContactData* aContactData ) const + { + MVPbkContactLink* link = aContactData->ContactLink(); + const TDesC& uri = link->ContactStore().StoreProperties().Uri().UriDes(); + + TBool isSim = ( uri.Compare( VPbkContactStoreUris::SimGlobalAdnUri() ) == 0 ); + aContactData->SetSimContact( isSim ); + + TBool isSdn = ( uri.Compare( VPbkContactStoreUris::SimGlobalSdnUri() ) == 0 ); + aContactData->SetSdnContact( isSdn ); + } + // End of File diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialinglistbox.cpp --- a/phoneuis/easydialing/src/easydialinglistbox.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialinglistbox.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -56,8 +56,6 @@ // CONSTANTS static const TInt KListBoxMarginWidth = 2; -static const TInt KMaxVisibleItemsPortrait = 3; -static const TInt KMaxVisibleItemsLandscape = 2; // MACROS @@ -384,8 +382,19 @@ maxViewLayout.LayoutRect( aMaxRect, AknLayoutScalable_Apps::dia3_list_pane( variety ) ); TRect maxViewRect( maxViewLayout.Rect() ); maxViewRect.Shrink( KListBoxMarginWidth, KListBoxMarginWidth ); // layout data doens't include any margins but we have added some + + // Read list item size aid from layout data. Use it to determine how many + // items to show in listbox. + TAknLayoutRect listSizeAid; + listSizeAid.LayoutRect( aMaxRect, AknLayoutScalable_Apps::aid_size_list_single_double() ); + TInt itemHeightAid = listSizeAid.Rect().Height(); - TInt maxItemsShown = ( variety ? KMaxVisibleItemsLandscape : KMaxVisibleItemsPortrait ); + TInt maxItemsShown = maxViewRect.Height() / itemHeightAid; + if ( maxViewRect.Height() % itemHeightAid > itemHeightAid / 2 ) + { + maxItemsShown++; + } + TInt itemHeight = maxViewRect.Height() / maxItemsShown; TRAP_IGNORE( SetItemHeightL( itemHeight ) ); diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialinglistboxdata.cpp --- a/phoneuis/easydialing/src/easydialinglistboxdata.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialinglistboxdata.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -131,7 +131,7 @@ const TRect& aItemRect, const CFont* aContactNameFont, TBool aArrowIconShown, - TBool aIsFavourite, + TBool aFavOrSimIconShown, TBool aThumbnailsShown ); static TRect CompanyNameBoundingBox( const TRect& aItemRect, @@ -139,6 +139,7 @@ TBool aIsCurrentItem, TBool aThumbnailsShown ); static TRect FavouriteIconBoundingBox( const TRect& aContactNameBoundingBox ); +static TRect SimIconBoundingBox( const TRect& aContactNameBoundingBox ); static TRect MirrorLayoutBoundingBox(const TRect& aSourceRect, TRect& aBoundingBoxRect); static TInt BaseLineOffset( const TRect& aTextBoundingBox, const CFont* aFont ); static TBool ContainsRightToLeftText( const TDesC& aDesc ); @@ -251,6 +252,8 @@ delete iColorBitmap; delete iDummyThumbnail; delete iFavouriteIcon; + delete iSimContactIcon; + delete iSdnContactIcon; iContactDataManager = NULL; } @@ -307,6 +310,8 @@ { CFormattedCellListBoxData::ConstructLD(); + MAknsSkinInstance* skin = AknsUtils::SkinInstance(); + // EasyDialing bitmap file is attempted to be read from the same directory where the // executed binary is located TFileName dllFileName; @@ -335,6 +340,14 @@ // Create the favourite icon bitmap and mask iFavouriteIcon = CreateIconL( KFavouriteIconBitmapFile, EMbmPhonebook2Qgn_prop_pb_topc, EMbmPhonebook2Qgn_prop_pb_topc_mask ); + + // Create SIM contact icon from the skin + iSimContactIcon = AknsUtils::CreateGulIconL( skin, KAknsIIDQgnPropNrtypSimContact, bitmapFileName, + EMbmEasydialingQgn_prop_nrtyp_sim_contact, EMbmEasydialingQgn_prop_nrtyp_sim_contact_mask ); + + // Create Service Dialing Number contact icon from the skin + iSdnContactIcon = AknsUtils::CreateGulIconL( skin, KAknsIIDQgnPropNrtypSdn, bitmapFileName, + EMbmEasydialingQgn_prop_nrtyp_sdn, EMbmEasydialingQgn_prop_nrtyp_sdn_mask ); } @@ -407,11 +420,13 @@ { TPtrC cellText; - TInt error = TextUtils::ColumnText( cellText , 0, aText ); + TInt error = TextUtils::ColumnText( cellText, 0, aText ); __ASSERT_DEBUG( error == KErrNone, EasyDialingPanic( EEasyDialingPanicInvalidListBoxModelString ) ); __ASSERT_DEBUG( iContactNameFont, EasyDialingPanic( EEasyDialingNoFontFound ) ); __ASSERT_DEBUG( iCompanyNameFont, EasyDialingPanic( EEasyDialingNoFontFound ) ); + TInt contactDataIndex = iContactDataManager->IndexForId( cellText ); + MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal( &aGc ); if ( transApi ) { @@ -428,6 +443,9 @@ boundingBox = MirrorLayoutBoundingBox( aItemRect, boundingBox ); } + //Draws the Contact Thumbnail Icon if exists, else draws the dummy contact thumbnail + DrawContactThumbnail( aGc, boundingBox, contactDataIndex ); + // Arrow icon is drawn if the item is in focus and listbox has focus // (and not only the temporary visual focus caused by touching a list item). TBool showArrowIcon = aHighlight && iControl->IsFocused(); @@ -441,31 +459,46 @@ DrawArrowIcon( aGc, arrowRect ); } - //Draws the Contact Thumbnail Icon if exists, else draws the dummy contact thumbnail - TBool fav = DrawContactThumbnail( aGc, boundingBox, cellText ); - - error = TextUtils::ColumnText( cellText , 1, aText ); - __ASSERT_DEBUG( error == KErrNone, EasyDialingPanic( EEasyDialingPanicInvalidListBoxModelString ) ); - + TBool favOrSimContact = + iContactDataManager->IsFav( contactDataIndex ) || + iContactDataManager->IsSimContact( contactDataIndex ) || + iContactDataManager->IsSdnContact( contactDataIndex ); boundingBox = ContactNameBoundingBox( aItemRect, iContactNameFont, showArrowIcon, - fav, + favOrSimContact, iContactDataManager->GetContactThumbnailSetting() ); - TRect nameRectUnMirrored = boundingBox; // used for favourite star drawing - + + // Draw favorite or sim icon if necessary. Only one of these can be drawn. + TRect nameRectUnMirrored = boundingBox; + if ( iContactDataManager->IsFav( contactDataIndex ) ) + { + DrawFavouriteIcon( aGc, nameRectUnMirrored, aItemRect ); + } + else if ( iContactDataManager->IsSimContact( contactDataIndex ) ) + { + DrawSimIcon( *iSimContactIcon, aGc, nameRectUnMirrored, aItemRect ); + } + else if ( iContactDataManager->IsSdnContact( contactDataIndex ) ) + { + DrawSimIcon( *iSdnContactIcon, aGc, nameRectUnMirrored, aItemRect ); + } + + // Mirror the bounding box for text drawing if necessary. if ( AknLayoutUtils::LayoutMirrored() ) { boundingBox = MirrorLayoutBoundingBox( aItemRect, boundingBox ); } - // favourite icon size is set the same as contact name bounding box height. - TInt favouriteIconSize = boundingBox.Height(); - + // Draw 1st row text + error = TextUtils::ColumnText( cellText , 1, aText ); + __ASSERT_DEBUG( error == KErrNone, EasyDialingPanic( EEasyDialingPanicInvalidListBoxModelString ) ); + TInt err( KErrNone ); TRAP( err, DrawTextWithMatchHighlightL( boundingBox, aGc, cellText, iContactNameFont, aColors, aHighlight ) ); + // Draw 2nd row text if ( !err && TextUtils::ColumnText( cellText , 2, aText ) == KErrNone ) { TRect companyNameBoundingBox = CompanyNameBoundingBox( @@ -478,12 +511,6 @@ companyNameBoundingBox, aGc, cellText, iCompanyNameFont, aColors, aHighlight ) ); } - if ( !err && fav ) - { - // Draws the Favourite Icon - DrawFavouriteIcon( aGc, nameRectUnMirrored, aItemRect ); - } - if ( transApi ) { aGc.CancelClippingRect(); @@ -495,14 +522,13 @@ // DrawContactThumbnail // // Draws the Contact Thumbnail Icon if any, else draws the dummy contact thumbnail -// Also check if this is a favorite contact and return true if this is. // ----------------------------------------------------------------------------- // -TBool CEasyDialingListBoxData::DrawContactThumbnail(CWindowGc& aGc, TRect aBoundingBox, TPtrC aCellText) const +void CEasyDialingListBoxData::DrawContactThumbnail( + CWindowGc& aGc, TRect aBoundingBox, TInt aContactIndex ) const { - TBool fav(EFalse); CFbsBitmap* thumbnail(NULL); - TBool isLoaded = iContactDataManager->GetThumbnailAndFav(aCellText, thumbnail, fav); + TBool isLoaded = iContactDataManager->GetThumbnail(aContactIndex, thumbnail); if ( isLoaded && thumbnail ) { // center the thumbnail in its rect @@ -517,13 +543,12 @@ { // draw dummy thumnbnail, but only if we know that the contact doesn't // have a thumbnail, and thumbnail drawing is enabled. - AknIconUtils::SetSize(iDummyThumbnail->Bitmap(), aBoundingBox.Size()); - AknIconUtils::SetSize(iDummyThumbnail->Mask(), aBoundingBox.Size()); + AknIconUtils::SetSize( iDummyThumbnail->Bitmap(), aBoundingBox.Size() ); + AknIconUtils::SetSize( iDummyThumbnail->Mask(), aBoundingBox.Size() ); aGc.BitBltMasked( aBoundingBox.iTl, iDummyThumbnail->Bitmap(), TRect( TPoint(0,0), aBoundingBox.Size() ), iDummyThumbnail->Mask(), ETrue ); } - return fav; } @@ -591,6 +616,38 @@ sourceRect, iFavouriteIcon->Mask(), ETrue ); } } + +// ----------------------------------------------------------------------------- +// DrawSimIcon +// +// Draws the SIM or SDN contact icon +// ----------------------------------------------------------------------------- +// +void CEasyDialingListBoxData::DrawSimIcon( + CGulIcon& aIcon, + CWindowGc& aGc, + TRect aNameRectUnMirrored, + TRect aEffectiveRect ) const + { + TRect simIconBoundingBox; + + simIconBoundingBox = SimIconBoundingBox( aNameRectUnMirrored ); + + if ( AknLayoutUtils::LayoutMirrored() ) + { + simIconBoundingBox = MirrorLayoutBoundingBox(aEffectiveRect, simIconBoundingBox); + } + + aGc.SetBrushStyle( CGraphicsContext::ENullBrush ); + TRect sourceRect( TPoint(0,0), simIconBoundingBox.Size() ); + + // Set size for the bitmap and mask + AknIconUtils::SetSize( aIcon.Bitmap(), simIconBoundingBox.Size() ); + AknIconUtils::SetSize( aIcon.Mask(), simIconBoundingBox.Size() ); + aGc.BitBltMasked( simIconBoundingBox.iTl, aIcon.Bitmap(), + sourceRect, aIcon.Mask(), ETrue ); + } + // ----------------------------------------------------------------------------- // SetContactDataManager // @@ -751,7 +808,7 @@ const TRect& aItemRect, const CFont* aContactNameFont, TBool aArrowIconShown, - TBool aIsFavourite, + TBool aFavOrSimIconShown, TBool aThumbnailsShown ) { // Position X will contain the starting position of text from left side of item rect. @@ -775,8 +832,9 @@ rightMargin += KArrowIconSizePercent * aItemRect.Height() / KCent; } - // If item is favourite, reserve space for favourite icon. Icon dimensions are the same as bounding box height. - if ( aIsFavourite ) + // If item is favourite or a SIM contact, reserve space for the icon. + // Icon dimensions are the same as bounding box height. + if ( aFavOrSimIconShown ) { rightMargin += height; } @@ -872,6 +930,17 @@ } +// ----------------------------------------------------------------------------- +// SimIconBoundingBox +// Calculates the area to which the sim/sdn icon is drawn. +// ----------------------------------------------------------------------------- +// +static TRect SimIconBoundingBox( const TRect& aContactNameBoundingBox ) + { + // use the same bounding box as is used for the favourite icon + return FavouriteIconBoundingBox( aContactNameBoundingBox ); + } + // ----------------------------------------------------------------------------- // BaseLineOffset diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialinglistboxitemdrawer.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialingplugin.cpp --- a/phoneuis/easydialing/src/easydialingplugin.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialingplugin.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -46,9 +46,6 @@ // Virtual phonebook header files #include -#include -#include -#include #include // contains virtual phonebook data fields #include @@ -181,19 +178,10 @@ // void CEasyDialingPlugin::ConstructL() { - // Create a contact store array. - HBufC* defaultCdb = VPbkContactStoreUris::DefaultCntDbUri().AllocLC(); - iContactDataStores.AppendL( defaultCdb ); - CleanupStack::Pop( defaultCdb ); - - // Create a contact manager instance. - iContactStoreUriArray = CVPbkContactStoreUriArray::NewL(); - iContactStoreUriArray->AppendL( TVPbkContactStoreUriPtr( VPbkContactStoreUris::DefaultCntDbUri() ) ); - iContactManager = CVPbkContactManager::NewL( *iContactStoreUriArray ); - - iContactDataManager = new (ELeave) CEasyDialingContactDataManager(iContactManager); - iContactDataManager->ConstructL(); - iContactDataManager->SetObserver(this); + iLongTapped = EFalse; + // Create contact data manager. + iContactDataManager = CEasyDialingContactDataManager::NewL(); + iContactDataManager->SetObserver( this ); // Find a handle to ca launcher extension MCCAConnectionExt. // Easydialing has to use the extension API, because it needs function CloseAppL @@ -211,7 +199,7 @@ User::LeaveIfNull( any ); iContactLauncher = static_cast( any ); - iCenrepListener = CEasyDialingCenrepListener::NewL(this); + iCenrepListener = CEasyDialingCenrepListener::NewL( this ); iContactorService = CEDContactorService::NewL( this ); @@ -242,8 +230,6 @@ delete iCenrepListener; delete iContactDataManager; delete iPredictiveSearchQuery; - delete iContactManager; - delete iContactStoreUriArray; iContactDataStores.ResetAndDestroy(); if ( iPredictiveContactSearchHandler ) @@ -406,10 +392,6 @@ iPredictiveContactSearchHandler = CPSRequestHandler::NewL(); iPredictiveContactSearchHandler->AddObserverL(this); - // Put the searched contact fields into array. - RArray contact_fields; - CleanupClosePushL(contact_fields); - // Check which relevant contact fields are indexed in PCS search. iFirstNamePCSIndex = FindContactFieldPCSIndexL( R_VPBK_FIELD_TYPE_FIRSTNAME ); iLastNamePCSIndex = FindContactFieldPCSIndexL( R_VPBK_FIELD_TYPE_LASTNAME ); @@ -433,32 +415,48 @@ User::Leave( KErrEasyDialingNoLastNamePCSIndexing ); } - // First name, last name and company name (if supported) are used in PCS search. - contact_fields.Append(R_VPBK_FIELD_TYPE_FIRSTNAME); - contact_fields.Append(R_VPBK_FIELD_TYPE_LASTNAME); - if ( iCompanyNamePCSIndex != KErrNotFound ) - { - contact_fields.Append(R_VPBK_FIELD_TYPE_COMPANYNAME); - } + SetupPcsSettingsL(); + + iPredictiveSearchQuery = CPsQuery::NewL(); + } - SetSortOrderL( iContactDataManager->NameOrder() ); +// ----------------------------------------------------------------------------- +// SetupPcsSettingsL +// ----------------------------------------------------------------------------- +// +void CEasyDialingPlugin::SetupPcsSettingsL() + { + // Get current store configuration from Phonebook settings + iContactDataStores.ResetAndDestroy(); + iContactDataManager->GetCurrentStoreUrisL( iContactDataStores ); + + // Put the searched contact fields into array. + RArray contact_fields; + CleanupClosePushL(contact_fields); - // Create and fill ps settings object. + // First name, last name and company name (if supported) are used in PCS search. + contact_fields.Append( R_VPBK_FIELD_TYPE_FIRSTNAME ); + contact_fields.Append( R_VPBK_FIELD_TYPE_LASTNAME ); + contact_fields.Append( R_VPBK_FIELD_TYPE_COMPANYNAME ); + + // Create and fill PS settings object. CPsSettings* ps_settings = CPsSettings::NewL(); - CleanupStack::PushL(ps_settings); + CleanupStack::PushL( ps_settings ); - ps_settings->SetSearchUrisL(iContactDataStores); - ps_settings->SetMaxResults(KEDMaximumMatchingContactsCount); - ps_settings->SetSortType(EAlphabetical); - ps_settings->SetDisplayFieldsL(contact_fields); + ps_settings->SetSearchUrisL( iContactDataStores ); + ps_settings->SetMaxResults( KEDMaximumMatchingContactsCount ); + ps_settings->SetSortType( EAlphabetical ); + ps_settings->SetDisplayFieldsL( contact_fields ); // Set the PCS settings. - iPredictiveContactSearchHandler->SetSearchSettingsL(*ps_settings); + iPredictiveContactSearchHandler->SetSearchSettingsL( *ps_settings ); - CleanupStack::PopAndDestroy(ps_settings); - CleanupStack::PopAndDestroy(&contact_fields); + CleanupStack::PopAndDestroy( ps_settings ); + CleanupStack::PopAndDestroy( &contact_fields ); - iPredictiveSearchQuery = CPsQuery::NewL(); + // Set the sort order. This must happen after the contact store settings + // are up-to-date. + SetSortOrderL( iContactDataManager->NameOrder() ); } // ----------------------------------------------------------------------------- @@ -471,19 +469,22 @@ CleanupClosePushL( fields ); if ( aNameOrder == CEasyDialingContactDataManager::EFirstnameLastname ) { - fields.Append(R_VPBK_FIELD_TYPE_FIRSTNAME); - fields.Append(R_VPBK_FIELD_TYPE_LASTNAME); + fields.AppendL( R_VPBK_FIELD_TYPE_FIRSTNAME ); + fields.AppendL( R_VPBK_FIELD_TYPE_LASTNAME ); } else { - fields.Append(R_VPBK_FIELD_TYPE_LASTNAME); - fields.Append(R_VPBK_FIELD_TYPE_FIRSTNAME); + fields.AppendL( R_VPBK_FIELD_TYPE_LASTNAME ); + fields.AppendL( R_VPBK_FIELD_TYPE_FIRSTNAME ); } - if ( iCompanyNamePCSIndex != KErrNotFound ) + fields.AppendL( R_VPBK_FIELD_TYPE_COMPANYNAME ); + + // Set the same order for each contact store. PCS automatically ignores + // fields not supported by the given store. + for ( TInt i = 0 ; i < iContactDataStores.Count() ; ++i ) { - fields.Append(R_VPBK_FIELD_TYPE_COMPANYNAME); + iPredictiveContactSearchHandler->ChangeSortOrderL( *iContactDataStores[i], fields ); } - iPredictiveContactSearchHandler->ChangeSortOrderL( *iContactDataStores[0], fields ); CleanupStack::PopAndDestroy( &fields ); } @@ -846,6 +847,22 @@ } // ----------------------------------------------------------------------------- +// StoreConfigurationChanged +// From MContactDataManagerObserver +// ----------------------------------------------------------------------------- +// +void CEasyDialingPlugin::StoreConfigurationChanged() + { + TRAP_IGNORE( + // Reconfigure PCS to update its store settings + SetupPcsSettingsL(); + // Contacts available have changed and a new search is needed if we have + // previous results shown. + DoHandleContactsChangedL() + ); + } + +// ----------------------------------------------------------------------------- // InformContactorEvent // From MEDContactorObserver // ----------------------------------------------------------------------------- @@ -915,7 +932,10 @@ // not to the keyboard it is made with. While this is not strictly // identical to checking the used keyboard, this behaves identically // in most of the normal cases, and makes the logic simpler. - if ( IsItuTCharacter( iSearchString[i] ) ) + // In case of hybrid mode keyboard, use always predictive default + // keyboard. + if ( iKeyboardMode == EDefaultKeyboard && + IsItuTCharacter( iSearchString[i] ) ) { item->SetMode( EPredictiveItuT ); } @@ -1005,8 +1025,10 @@ RArray fieldOrder; CleanupClosePushL( fieldOrder ); - // Current implementation searches only from default database. - // Later this may be expanded to search SIM contacts as well. + // PCS uses the same data plugin for all the Phonebook databases + // (i.e. phone contacts, SIM contacts, SDN contacts), and there can be only + // one data order per plugin. Thus, data order for all databases supported + // by us is the same, and it's enough to ask data order just for the default CDB. const TDesC& defaultCdb = VPbkContactStoreUris::DefaultCntDbUri(); iPredictiveContactSearchHandler->GetDataOrderL( defaultCdb, fieldOrder ); @@ -1072,7 +1094,7 @@ TInt indexFromEnd = numberOfPCSMatches - i - 1; MVPbkContactLink* link = iPredictiveContactSearchHandler->ConvertToVpbkLinkLC( - *(aResults[indexFromEnd]), *iContactManager ); + *(aResults[indexFromEnd]), iContactDataManager->ContactManager() ); if ( !iContactDataManager->IsFavL( link ) ) { // handle favourites separately, in another loop @@ -1439,8 +1461,9 @@ message = iContactDataManager->UniEditorAvailable( index ); } - // Call menu item is not show if neither voice call nor video call are possible. - aMenuPane.SetItemDimmed( EEasyDialingVoiceCall, !voiceCall && !videoCall ); + + aMenuPane.SetItemDimmed( EEasyDialingVoiceCall, !voiceCall ); + aMenuPane.SetItemDimmed( EEasyDialingVideoCall, !videoCall ); aMenuPane.SetItemDimmed( EEasyDialingSendMessage, !message ); LOGSTRING("EasyDialingPlugin::InitializeMenuPaneL: InitializeMenuPaneL done" ); @@ -1448,27 +1471,6 @@ return ETrue; } - else if ( aMenuResourceId == R_EASYDIALING_OPTIONS_CALL_MENU ) - { - TBool voiceCall = EFalse; - TBool videoCall = EFalse; - - if ( iContactListBox->CurrentItemIndex() >= 0 ) - { - TInt index = iContactListBox->CurrentContactDataIndex(); - - voiceCall = iContactDataManager->VoiceCallAvailable( index ); - videoCall = iContactDataManager->VideoCallAvailable( index ); - } - - aMenuPane.SetItemDimmed( EEasyDialingVoiceCall, !voiceCall ); - aMenuPane.SetItemDimmed( EEasyDialingVideoCall, !videoCall ); - - LOGSTRING("EasyDialingPlugin::InitializeMenuPaneL: InitializeMenuPaneL for call submenu done" ); - - return ETrue; - } - else if ( aMenuResourceId == R_EASYDIALING_OPTIONS_ON_OFF_CASCADE_MENU ) { if ( IsEnabled() ) @@ -1512,7 +1514,7 @@ } - TBool ret(EFalse); + TBool ret(ETrue); switch ( aCommand ) { @@ -1520,7 +1522,6 @@ iRememberFocus = ETrue; AsyncActionLaunchL( ELaunchCurrentContact ); - ret = ETrue; break; // EEasyDialingEnterKeyAction is sent when Enter key is pressed. @@ -1530,7 +1531,6 @@ // Make a call. iRememberFocus = ETrue; AsyncActionLaunchL( ECallCurrentContact ); - ret = ETrue; break; // Video call is selectable only through menu. @@ -1538,7 +1538,6 @@ // Make a video call. iRememberFocus = ETrue; AsyncActionLaunchL( EVideoCallCurrentContact ); - ret = ETrue; break; // Uni-editor message is selectable only through menu. @@ -1546,7 +1545,6 @@ // Create a message. iRememberFocus = ETrue; AsyncActionLaunchL( ESendMessageCurrentContact ); - ret = ETrue; break; // EEasyDialingCallHandlingActivated is sent when the in-call-ui of telephony gets activated @@ -1563,41 +1561,37 @@ iNewSearchNeeded = EFalse; iContactLauncher->CloseAppL(); } - ret = ETrue; break; case EEasyDialingOn: iCenrepListener->SetEasyDialingSettingsValue( 1 ); - ret = ETrue; break; case EEasyDialingOff: iCenrepListener->SetEasyDialingSettingsValue( 0 ); - ret = ETrue; break; case EEasyDialingClosePopup: // Not only Number Entry is removed but also closes down number selection popup in case it happens to be open. iContactorService->CancelService(); - ret = ETrue; break; case EEasyDialingVkbOpened: iVirtualKeyboardOpen = ETrue; - ret = ETrue; break; case EEasyDialingVkbClosed: iVirtualKeyboardOpen = EFalse; - ret = ETrue; + HandleGainingForeground(); break; default: + ret = EFalse; break; } return ret; @@ -1614,6 +1608,16 @@ } // ----------------------------------------------------------------------------- +// SetKeyboardMode +// Sets keyboard mode +// ----------------------------------------------------------------------------- +// +void CEasyDialingPlugin::SetKeyboardMode( TKeyboardMode aMode ) + { + iKeyboardMode = aMode; + } + +// ----------------------------------------------------------------------------- // AsyncSimulateKeyEvent // // ----------------------------------------------------------------------------- @@ -1725,7 +1729,7 @@ // // ----------------------------------------------------------------------------- // -void CEasyDialingPlugin::DoLaunchActionL( ) +void CEasyDialingPlugin::DoLaunchActionL() { if ( iActionToBeLaunched == EInitializePcs ) { @@ -1862,6 +1866,7 @@ break; case KEasyDialingContactLongTapped: + iLongTapped = ETrue; AsyncActionLaunchL( ELaunchCurrentContact ); break; @@ -1883,11 +1888,12 @@ // Touching the listbox always removes the visual focus from any list item. // Move the focus away from the listbox after panning has ended to // align our internal state with the visual lack of focus. - if ( IsFocused() ) + if ( IsFocused() && !iLongTapped ) { SetFocus( EFalse ); DrawDeferred(); } + iLongTapped = EFalse; break; // We are not interested about the other listbox events. @@ -1923,7 +1929,7 @@ // search is made, all data is loaded again. iContactDataManager->Reload(); - LaunchSearchL(); + TRAP_IGNORE( LaunchSearchL() ); } } @@ -1965,7 +1971,7 @@ if ( iSearchString.Length() > 0 && IsEnabled() ) { CAknAppUi* appUi = static_cast( iCoeEnv->AppUi() ); - if ( appUi->IsForeground() ) + if ( appUi->IsForeground() && !iVirtualKeyboardOpen ) { // Do new search immediately, if contacts change while we are on the // foreground. This can happen for example if view is switched to diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/src/easydialingutils.cpp --- a/phoneuis/easydialing/src/easydialingutils.cpp Tue Aug 17 18:45:21 2010 +0100 +++ b/phoneuis/easydialing/src/easydialingutils.cpp Thu Sep 09 18:09:57 2010 +0100 @@ -80,18 +80,20 @@ ptr.Append( KNameSeparatorChar ); ptr.Append( *firstName ); } - } - - // If firstname and last name are missing, duplicate company name into name field. + } + + // If firstname and last name are missing, put company name into the first field. if ( ptr.Length() == 0 ) { ptr.Append( *companyName ); } - - // Append company name using tab as a separator. - ptr.Append( KListFieldSeparatorChar ); - ptr.Append( *companyName ); - + else + { + // Otherwise add company name into the second field using tab as a separator. + ptr.Append( KListFieldSeparatorChar ); + ptr.Append( *companyName ); + } + CleanupStack::Pop( string ); CleanupStack::PopAndDestroy( 3, firstName ); CleanupStack::PushL( string ); diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/easydialing/traces/OstTraceDefinitions.h diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/group/bld.inf diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/vmbx/help/data/xhtml.zip Binary file phoneuis/vmbx/help/data/xhtml.zip has changed diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/vmbx/help/inc/smsvo.hlp.hrh diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/vmbx/src/VmAppUi.cpp diff -r fbea179620e6 -r b0a26d6936b2 phoneuis/vmbx/src/VmContainer.cpp