Revision: 201031 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 09:54:27 +0300
branchRCL_3
changeset 23 40a3f856b14d
parent 22 94dc1107e8b2
child 24 41a7f70b3818
Revision: 201031 Kit: 201033
phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h
phoneapp/phoneui/help/data/xhtml.zip
phoneapp/phoneui/loc/incalloperations.loc
phoneapp/phoneui/srcdata/phoneui.rss
phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def
phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def
phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h
phoneapp/phoneuicontrol/inc/cphonestate.h
phoneapp/phoneuicontrol/inc/cphonestateidle.h
phoneapp/phoneuicontrol/inc/cphonestatemachine.h
phoneapp/phoneuicontrol/inc/mphonedivertif.h
phoneapp/phoneuicontrol/inc/mphonestate.h
phoneapp/phoneuicontrol/inc/mphonestateproperties.h
phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h
phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp
phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp
phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp
phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp
phoneapp/phoneuicontrol/src/cphonestate.cpp
phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp
phoneapp/phoneuicontrol/src/cphonestateidle.cpp
phoneapp/phoneuicontrol/src/cphonestateincall.cpp
phoneapp/phoneuicontrol/src/cphonestateincoming.cpp
phoneapp/phoneuicontrol/src/cphonestatemachine.cpp
phoneapp/phoneuicontrol/src/cphonestatestartup.cpp
phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp
phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp
phoneapp/phoneuistates/bwins/phoneuistatesu.def
phoneapp/phoneuistates/eabi/phoneuistatesu.def
phoneapp/phoneuistates/inc/cphoneconference.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h
phoneapp/phoneuistates/inc/cphonegsmincall.h
phoneapp/phoneuistates/inc/cphonesingleandwaiting.h
phoneapp/phoneuistates/inc/cphonesinglecall.h
phoneapp/phoneuistates/src/cphonealerting.cpp
phoneapp/phoneuistates/src/cphonecallsetup.cpp
phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconference.cpp
phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneemergency.cpp
phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp
phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp
phoneapp/phoneuistates/src/cphonegsmincall.cpp
phoneapp/phoneuistates/src/cphoneincoming.cpp
phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp
phoneapp/phoneuistates/src/cphonesingleandalerting.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp
phoneapp/phoneuistates/src/cphonesinglecall.cpp
phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp
phoneapp/phoneuistates/src/cphonetwosingles.cpp
phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp
phoneapp/phoneuiutils/bwins/phoneuiutilsu.def
phoneapp/phoneuiutils/eabi/phoneuiutilsu.def
phoneapp/phoneuiutils/group/phoneuiutils.mmp
phoneapp/phoneuiutils/inc/phoneconstants.h
phoneapp/phoneuiutils/inc/phonerssbase.h
phoneapp/phoneuiutils/inc/phonevanitydialingutils.h
phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h
phoneapp/phoneuiutils/src/cphonekeys.cpp
phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp
phoneapp/phoneuiutils/src/phonevanitydialingutils.cpp
phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp
phoneapp/phoneuiview/inc/cphoneaudiocontroller.h
phoneapp/phoneuiview/inc/cphonemenucontroller.h
phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h
phoneapp/phoneuiview/inc/cphoneviewcontroller.h
phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h
phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp
phoneapp/phoneuiview/src/cphonebubblewrapper.cpp
phoneapp/phoneuiview/src/cphonemenucontroller.cpp
phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp
phoneapp/phoneuiview/src/cphoneviewcontroller.cpp
phoneapp/phoneuiview/src/phoneringingtonesrv.cpp
phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp
phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h
phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactselectionstrategy.cpp
phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp
phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h
phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp
phoneengine/audiohandling/src/cpegsmaudiodata.cpp
phoneengine/phonemodel/conf/s60telephony.confml
phoneengine/phonemodel/conf/s60telephony_102828F8.crml
phoneengine/phonemodel/inc/cpemessagehandler.h
phoneengine/phonemodel/inc/telephonyvariant.hrh
phoneengine/phonemodel/src/cpemessagehandler.cpp
phoneuis/BubbleManager/Src/BMBubbleManager.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp
phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp
phoneuis/BubbleManager/Src/BMUtils.cpp
phoneuis/BubbleManager/laf/BMLayout.cpp
phoneuis/BubbleManager/laf/BMLayout.h
phoneuis/BubbleManager/laf/BMLayout2.cpp
phoneuis/BubbleManager/laf/BMLayout2.h
phoneuis/BubbleManager/laf/BMLayout3.cpp
phoneuis/BubbleManager/laf/BMLayout3.h
phoneuis/BubbleManager/laf/BMLayout4.cpp
phoneuis/BubbleManager/laf/BMLayout4.h
phoneuis/BubbleManager/laf/BMLayout6.cpp
phoneuis/BubbleManager/laf/BMLayout6.h
phoneuis/dialer/inc/cdialer.h
phoneuis/dialer/inc/cdialernumberentry.h
phoneuis/dialer/src/cdialer.cpp
phoneuis/dialer/src/cdialercontainerbase.cpp
phoneuis/dialer/src/cdialerkeypadcontainer.cpp
phoneuis/dialer/src/cdialernumberentry.cpp
phoneuis/dialer/src/cdialervideocontainer.cpp
phoneuis/dialer/src/cdialingextensionobserver.cpp
phoneuis/dialer/src/cvideodtmfdialer.cpp
phoneuis/dialer/src/cvideodtmfdialerstub.cpp
phoneuis/easydialing/data/easydialingpluginresources.rss
phoneuis/easydialing/group/easydialingplugin.mmp
phoneuis/easydialing/group/iconlist.txt
phoneuis/easydialing/inc/dialingextensioninterface.h
phoneuis/easydialing/inc/easydialingcontactdata.h
phoneuis/easydialing/inc/easydialingcontactdatamanager.h
phoneuis/easydialing/inc/easydialinglistbox.h
phoneuis/easydialing/inc/easydialinglistboxdata.h
phoneuis/easydialing/inc/easydialingplugin.h
phoneuis/easydialing/inc/mcontactdatamanagerobserver.h
phoneuis/easydialing/src/easydialingcontactdata.cpp
phoneuis/easydialing/src/easydialingcontactdatamanager.cpp
phoneuis/easydialing/src/easydialinglistbox.cpp
phoneuis/easydialing/src/easydialinglistboxdata.cpp
phoneuis/easydialing/src/easydialingplugin.cpp
phoneuis/vmbx/help/data/xhtml.zip
--- a/phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phone_plat/telephony_configuration_api/inc/telconfigcrkeys.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
 
Binary file phoneapp/phoneui/help/data/xhtml.zip has changed
--- a/phoneapp/phoneui/loc/incalloperations.loc	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneui/loc/incalloperations.loc	Thu Aug 19 09:54:27 2010 +0300
@@ -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:
--- a/phoneapp/phoneui/srcdata/phoneui.rss	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneui/srcdata/phoneui.rss	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
             },
--- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -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)
 
--- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -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
 
--- a/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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.
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h	Thu Aug 19 09:54:27 2010 +0300
@@ -25,6 +25,7 @@
 #include <remconcoreapitargetobserver.h>
 #include <MProfileEngine.h>
 #include <bmbubblemanager.h>
+#include <eikenv.h>
 
 #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;
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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,14 @@
     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
@@ -323,27 +314,6 @@
          TInt GetNumberAcqMenuIdL();
          
          /**
-          * Sets UI elements to correct state and launches
-          * call header to screen by calling DisplayCallSetupL.
-          */
-         void ShowCallHandlingViewL( TInt aCallId );
-         
-         /**
-          * 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.
           */
@@ -351,8 +321,8 @@
          
     private:
         
-         // Indicates call bubble is already initiliazed.
-         TBool iBubbleInitialized;
+         // True if call initiliazed.
+         TBool iCallInitialized;
     };
 
 #endif // CPHONESTATEIDLE
--- a/phoneapp/phoneuicontrol/inc/cphonestatemachine.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestatemachine.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuicontrol/inc/mphonedivertif.h	Thu Jul 15 18:38:16 2010 +0300
+++ /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 <e32def.h>
-
-// 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
--- a/phoneapp/phoneuicontrol/inc/mphonestate.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/mphonestate.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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:
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/inc/mphonestateproperties.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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 <e32cmn.h>
+#include <eikenv.h>
+
+// 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
--- a/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -22,6 +22,7 @@
 #include    <btengdomainpskeys.h>
 #include    <btengdomaincrkeys.h>
 #include    <mpeengineinfo.h>
+#include    <AknNotifyStd.h>
 
 #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, &noteParam );
-    CleanupStack::PopAndDestroy( buf );
+    iViewCommandHandle->ExecuteCommandL( 
+        EPhoneViewShowGlobalNote, &globalNoteParam );   
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
 // ---------------------------------------------------------------------------
 //
--- a/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
@@ -533,8 +540,8 @@
             EPhoneViewIsDisplayingMenuOrDialog ) == 
             EPhoneViewResponseSuccess ) || ( iMenu && iMenu->IsDisplayed() );
 
-    // Consume dialer simulated key events, pass others on
-    return ( IsKeySimulatedByTouchDialer( aKeyEvent ) ? EKeyWasConsumed : EKeyWasNotConsumed );
+
+    return ( EKeyWasNotConsumed );
     }
 
 // -----------------------------------------------------------
@@ -646,7 +653,7 @@
     iPreviousScanCode = iScanCode;
 
     // Consume dialer simulated key events, pass others on
-    return ( IsKeySimulatedByTouchDialer( aKeyEvent ) ? EKeyWasConsumed : EKeyWasNotConsumed );
+    return EKeyWasNotConsumed;
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphoneremotecontrolhandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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()->
--- a/phoneapp/phoneuicontrol/src/cphonestate.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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<CAknAppUi*>( iEnv.EikAppUi() )->KeySounds();
+               static_cast<CAknAppUi*>( 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<CAknAppUi*>( iEnv.EikAppUi() )
+            static_cast<CAknAppUi*>( 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
 
--- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
--- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -77,7 +77,7 @@
     MPhoneViewCommandHandle* aViewCommandHandle,
     MPhoneCustomization* aCustomization ) : 
     CPhoneState( aStateMachine, aViewCommandHandle, aCustomization ),
-    iBubbleInitialized( EFalse )
+    iCallInitialized( EFalse )
     {
     }
 
@@ -102,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 );
+        }
     }
 
 // -----------------------------------------------------------
@@ -335,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:
@@ -385,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:
@@ -436,6 +432,9 @@
         KScreenSaverAllowScreenSaver,
         EPhoneScreensaverNotAllowed );
     
+    IsNumberEntryUsedL() ? 
+        BeginTransEffectLC( ECallUiAppear ) :
+        BeginTransEffectLC( ENumberEntryOpen );
     BeginUiUpdateLC();
     
     // Hide the number entry if it exists
@@ -445,7 +444,7 @@
         }
      
     // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
+    EikonEnv()->DismissTaskList();
 
     // Show incoming call buttons
     SetTouchPaneButtons( EPhoneIncomingCallButtons );
@@ -456,6 +455,7 @@
     DisplayIncomingCallL( aCallId );
 
     EndUiUpdate();
+    EndTransEffect();
     
     // Go to incoming state
     iCbaManager->UpdateIncomingCbaL( aCallId );
@@ -467,59 +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( ) ");
-    if( IsBubbleInitialized() )
-        {
-        UpdateCallBubbleL( aCallId );
-        }
-    else
-        {
-        ShowCallHandlingViewL( aCallId );
-        }
+    // 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 );
     }
 
 // -----------------------------------------------------------
-// CPhoneStateIdle::ShowCallHandlingViewL
+// CPhoneStateIdle::DoStateSpecificCallSetUpDefinitionsL
 // -----------------------------------------------------------
 //
-void CPhoneStateIdle::ShowCallHandlingViewL( TInt aCallId )
+EXPORT_C void CPhoneStateIdle::DoStateSpecificCallSetUpDefinitionsL()
     {
-    __LOGMETHODSTARTEND(EPhoneControl, 
-            "CPhoneStateIdle::ShowCallHandlingViewL( ) ");
-    BeginUiUpdateLC();
-    SetNumberEntryVisibilityL(EFalse);
-
     // 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 );
 
     SetToolbarDimming( ETrue );
     SetToolbarButtonLoudspeakerEnabled();
     SetToolbarButtonHandsetEnabled();
+    SetToolbarButtonBTHFEnabled();
     }
 
 // -----------------------------------------------------------
@@ -543,9 +523,9 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewBringAppToForeground, 
             &uidParam );
         }
- 
+    BeginTransEffectLC( ENumberEntryClose );
     BeginUiUpdateLC();
-            
+    
     // Remove the number entry
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
  
@@ -560,6 +540,7 @@
     SetToolbarDimming( EFalse );
     
     EndUiUpdate();
+    EndTransEffect();
   
     // Go to single state
     iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA );
@@ -580,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;
@@ -606,14 +584,18 @@
             HandleBackCommandL();
             EndTransEffect();
             break;
+        
+        case EPhoneViewOpenNumberEntry:
+            BeginTransEffectLC( ENumberEntryOpen );
+            commandStatus = CPhoneState::HandleCommandL( aCommand );
+            EndTransEffect();
+            break;
             
         default:
             commandStatus = CPhoneState::HandleCommandL( aCommand );
             break;
         }
-
     return commandStatus;
-
     }
 
 // -----------------------------------------------------------------------------
@@ -637,16 +619,7 @@
                EPhoneViewMenuBarOpen, &integerParam );
            commandStatus = ETrue;
            }
-           break;       
-           
-       case EPhoneViewOpenNumberEntry:   
-           {
-           BeginTransEffectLC( ENumberEntryOpen );
-           commandStatus = CPhoneState::ProcessCommandL( aCommand );
-           EndTransEffect();
-           }
            break;
-           
        default:
            commandStatus = CPhoneState::ProcessCommandL( aCommand );
            break;
@@ -794,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 );
@@ -822,94 +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( !IsBubbleInitialized() )
-        {
-        // Create and Display call setup header if update was not done.
-        DisplayHeaderForOutgoingCallL( aCallId );
-        }
-    else 
-        {
-        /* Create and Display initializing call header, difference
-        to DisplayHeaderForOutgoingCallL is that this doesnt load 
-        CLI information to header.*/
-        DisplayHeaderForInitializingCallL( 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() )
-        {
-        ShowCallHandlingViewL( aCallId );
-        }
-    }
-
-// -----------------------------------------------------------
 // CPhoneStateIdle::HandleIdleForegroundEventL
 // -----------------------------------------------------------
 //
@@ -972,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 );
@@ -1004,17 +885,11 @@
 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 );
     }
  
 // -----------------------------------------------------------
@@ -1057,18 +932,19 @@
     "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 
-        there is initialized call then do not set idle to background.*/
-        if ( ( iStateMachine->State() == this ) && 
-            ( !IsBubbleInitialized() ) )
+        state has already in that case do not set idle to background.*/
+        if ( iStateMachine->State() == this )
             {
-            SetupIdleScreenInBackgroundL();
+            iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
+            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetIdleTopApplication );
             }
+        EndTransEffect();
         }
     }
 
@@ -1162,7 +1038,7 @@
     if ( numberEntryCountParam.Integer() == 1 )
         {
         // Remove the number entry window
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewClearNumberEntryContent );
         
         iStateMachine->SendPhoneEngineMessage( 
                 MPEPhoneModel::EPEMessageEndDTMF );
@@ -1171,9 +1047,6 @@
         iViewCommandHandle->ExecuteCommandL(
             EPhoneViewLaunchApplication );
 
-        // Continue displaying current app but set up the 
-        // idle screen in the background
-        SetupIdleScreenInBackgroundL();
         }
     }
 
@@ -1184,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(); 
     }
 
 // -----------------------------------------------------------
@@ -1236,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 );
@@ -1256,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() )
@@ -1302,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.
@@ -1320,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
 // ---------------------------------------------------------
 //
@@ -1573,7 +1403,7 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneStateIdle::HandleVoiceCallCommandL()
+// CPhoneStateIdle::GetNumberAcqMenuIdL()
 // -----------------------------------------------------------
 //
 TInt CPhoneStateIdle::GetNumberAcqMenuIdL()
@@ -1596,7 +1426,7 @@
         }
     return menuId;
     }
-
+	
 // -----------------------------------------------------------
 // CPhoneStateIdle::HandleErrorL
 // -----------------------------------------------------------
@@ -1604,106 +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( ( KErrNotFound < aErrorInfo.iCallId ) && 
-        ( 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
 // -----------------------------------------------------------
 //
@@ -1712,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
--- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
                 }
             }
 
--- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
--- a/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
--- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
--- a/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
 
 // ---------------------------------------------------------------------------
--- a/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -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)
 
--- a/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -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
 
--- a/phoneapp/phoneuistates/inc/cphoneconference.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconference.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
         
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
       
--- a/phoneapp/phoneuistates/inc/cphonegsmincall.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonegsmincall.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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.
--- a/phoneapp/phoneuistates/inc/cphonesinglecall.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/inc/cphonesinglecall.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
         
--- a/phoneapp/phoneuistates/src/cphonealerting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonealerting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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() )
                     {
--- a/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
 
--- a/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -238,7 +238,7 @@
         iStateMachine->ChangeState( EPhoneStateAlerting );            
         }
     
-    EndUiUpdate();        
+    EndUiUpdate();
     }
         
 // -----------------------------------------------------------
@@ -276,7 +276,7 @@
     CPhoneState::SetTouchPaneButtons( EPhoneWaitingCallButtons );
     SetToolbarDimming( EFalse );
     
-    CPhoneState::EndUiUpdate();
+    EndUiUpdate();
  
     if ( CPhoneState::IsNumberEntryUsedL() )
         {
--- a/phoneapp/phoneuistates/src/cphoneconference.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- a/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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, 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
             }
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
     }
 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
             }
         }
     }
--- a/phoneapp/phoneuistates/src/cphoneemergency.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -332,7 +332,7 @@
 
     if ( aCallId == KPEEmergencyCallId )
         {
-        if ( !IsSimOk() )
+        if ( !IsSimOk() || IsSimStateNotPresentWithSecurityModeEnabled() )
             {
             TPhoneCmdParamBoolean visibleMode;
             visibleMode.SetBoolean( ETrue );
@@ -362,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 );
--- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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:
--- a/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -252,9 +252,6 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneGeneralGsmMessagesHandler::HandleIncomingCallForwardedL()" );
-    
-    iActiveState.SetDivertIndication( ETrue );
-    
     }
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuistates/src/cphoneincoming.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneincoming.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
--- a/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -40,7 +40,8 @@
 // might leave.
 // -----------------------------------------------------------------------------
 //
-EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(): iEnv( *CEikonEnv::Static() )
+EXPORT_C CPhoneResourceResolverGSM::CPhoneResourceResolverGSM() :
+    iEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic
     {
     }
 
--- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -204,8 +204,8 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
             &callHeaderParam );
 
-        CPhoneState::SetTouchPaneButtons( EPhoneTwoSinglesButtons );
-        CPhoneState::EndUiUpdate();
+        SetTouchPaneButtons( EPhoneTwoSinglesButtons );
+        EndUiUpdate();
               
         // Set Hold flag to view
         TPhoneCmdParamBoolean holdFlag;
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
     }
 
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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()");
--- a/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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( ) ");
     }
--- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- a/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -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 &)
 
--- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Thu Aug 19 09:54:27 2010 +0300
@@ -420,4 +420,5 @@
 	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 419 NONAME
 	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 420 NONAME
 	_ZN19CPhoneQwertyHandler16ConvertToNumericER9TKeyEvent @ 421 NONAME
+	_ZN23PhoneVanityDialingUtils24DoVanityNumberConversionER6TDes16 @ 422 NONAME
 
--- a/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuiutils/inc/phoneconstants.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/phoneconstants.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
 
--- a/phoneapp/phoneuiutils/inc/phonerssbase.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/phonerssbase.h	Thu Aug 19 09:54:27 2010 +0300
@@ -138,8 +138,6 @@
     EPhoneVideoCallIncoming,
     EPhoneVideoCallIncomingShort,
 
-    // "Muted"
-    EPhoneInCallMutedText,
     // "Call"
     EPhoneCall,
     // " Call %N"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/inc/phonevanitydialingutils.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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 <e32std.h>
+
+
+// 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
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamtranseffect.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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.
--- a/phoneapp/phoneuiutils/src/cphonekeys.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphonekeys.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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:
--- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/src/phonevanitydialingutils.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -44,6 +44,7 @@
     iThumbnail( NULL ),
     iCallerText( KNullDesC ),
     iParticipantListCLI( EPhoneParticipantCLIText ),
+    iHasThumbnail( EFalse ),
     iCipheringIndicatorAllowed( ETrue ),
     iContactLink( KNullDesC8 ),
     iRemotePhoneNumber( KNullDesC )
--- a/phoneapp/phoneuiview/inc/cphoneaudiocontroller.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/inc/cphoneaudiocontroller.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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,
--- a/phoneapp/phoneuiview/inc/cphonemenucontroller.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/inc/cphonemenucontroller.h	Thu Aug 19 09:54:27 2010 +0300
@@ -112,6 +112,8 @@
         void SetAllowDtmfOptionsFlag( TBool aAllowDtmfOptions );
         
         void SetVoipEnabledFlag( TPhoneCommandParam* aCommandParam );
+
+		void SetHideVoipCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility ); 
         
         void SetHideVideoCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility );
 
@@ -192,6 +194,7 @@
         TBool iAllowDtmfOptionsFlag;
         TBool iVoipEnabledFlag;  
         TBool iHideVideoCallDTMFVisibility;
+		TBool iHideVoipCallDTMFVisibility; 
         TBool iInvalidCsPhoneNumber;
 		TBool iSecurityMode;
         // Eikon environment delivered from CPhoneViewController
--- a/phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneapp/phoneuiview/inc/cphoneviewcontroller.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/inc/cphoneviewcontroller.h	Thu Aug 19 09:54:27 2010 +0300
@@ -295,7 +295,7 @@
         * background after being brought to the foreground using
         * BringToForeground()
         */
-        TBool GetNeedToReturnToForegroundAppAfterCall() const;
+        TBool GetNeedToReturnToForegroundAppAfterCallL();
 
         /**
         * Gets the blocking dialogs status
@@ -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
@@ -670,6 +670,12 @@
          * Checks if emergency call is ongoing.
          */
         TBool IsEmergencyCallOngoing();
+        
+        /**
+        * Is it ok to aType effect inside phoneapp.
+        */
+        TBool IsOkToUseThisTypeOfEffectInsidePhoneApp( 
+                TPhoneTransEffectType aType );
 
     private:
         /**
--- a/phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h	Thu Aug 19 09:54:27 2010 +0300
@@ -237,7 +237,9 @@
     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.
 };
 
 
--- a/phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -19,9 +19,9 @@
 // INCLUDE FILES
 #include <aknnavi.h>
 #include <aknnavide.h>
-#include <StringLoader.h>
+
 #include <avkon.rsg>
-#include <phoneui.rsg>
+
 #include <telephonyvariant.hrh>
 #include <eikenv.h>
 #include <eikappui.h>
@@ -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<TPhoneCmdParamBoolean*>( 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<TPhoneCmdParamBoolean*>( 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
 // -----------------------------------------------------------------------------
 //    
--- a/phoneapp/phoneuiview/src/cphonebubblewrapper.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphonebubblewrapper.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -55,6 +55,7 @@
 #include "mphonenumberentry.h"
 #include "cphonenumberentry.h"
 #include "phonebubbleextensionmanager.h"
+#include "phonevanitydialingutils.h"
 
 #include "mphonecustomization.h"
 
@@ -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
@@ -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(
--- a/phoneapp/phoneuiview/src/cphonemenucontroller.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphonemenucontroller.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -277,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 ] );
                     }
@@ -353,7 +355,8 @@
                 break;
                 
             case EPhoneInCallCmdDtmfListQuery:
-                if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility )
+                if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility 
+					|| iHideVoipCallDTMFVisibility )  
                     {
                     menuPane->DeleteMenuItem( menuItemArray[ i ] );
                     }
@@ -1064,6 +1067,14 @@
     }
 
 // ---------------------------------------------------------
+// CPhoneMenuController::SetHideVideoCallDTMFVisibility 
+// ---------------------------------------------------------
+//
+void CPhoneMenuController::SetHideVoipCallDTMFVisibilityFlag( TBool aHideVoipCallDTMFVisibility )
+    {
+    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHideVoipCallDTMFVisibilityFlag()" );
+    iHideVoipCallDTMFVisibility = aHideVoipCallDTMFVisibility;
+    }
 // CPhoneMenuController::SetHideVideoCallDTMFVisibility
 // ---------------------------------------------------------
 //
--- a/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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<TPhoneCmdParamBoolean*>( 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<TPhoneCmdParamBoolean*>( 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 )
         {
--- a/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 =======================
@@ -838,7 +841,6 @@
             iMenuController->SetMuteFlag( aCommandParam );
             iBubbleWrapper->SetPhoneMuted( aCommandParam );
             iIncallIndicator->HandleMuteChange( aCommandParam );
-            iAudioController->HandleMuteChange( aCommandParam );
             iToolbarController->SetMuteFlag( aCommandParam );
             if ( iButtonsController )
                 {
@@ -1119,7 +1121,15 @@
                                                 booleanParam->Boolean() );
             break;
             }
-
+		 
+		 case EPhoneViewSetVoipCallDTMFVisibilityFlag:
+            {
+            TPhoneCmdParamBoolean*  booleanParam =
+                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
+            iMenuController->SetHideVoipCallDTMFVisibilityFlag(
+                                                    booleanParam->Boolean() );
+            break;
+            }
         case EPhoneViewSetVideoCallDTMFVisibilityFlag:
             {
             TPhoneCmdParamBoolean*  booleanParam =
@@ -1583,7 +1593,7 @@
             break;
 
         case EPhoneViewGetNeedToReturnToForegroundAppStatus:
-            viewResponse = GetNeedToReturnToForegroundAppAfterCall() ?
+            viewResponse = GetNeedToReturnToForegroundAppAfterCallL() ?
                 EPhoneViewResponseSuccess :
                 EPhoneViewResponseFailed;
             break;
@@ -2085,11 +2095,8 @@
     CEikonEnv& aEnv )
     {
     TInt result = 0;
-
     RWsSession& wsSession = aEnv.WsSession();
-
-    const TInt numWg =
-        wsSession.NumWindowGroups(
+    const TInt numWg = wsSession.NumWindowGroups(
             KPhoneApplicationWindowGroupPriority );
 
     CArrayFixFlat<TInt>* wgList =
@@ -2426,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 );
 
@@ -2444,7 +2448,6 @@
     wgList->SetReserveL( numWg );
 
     // Get list of window groups; all applications should be at priority 0.
-    //
     if ( wsSession.WindowGroupList(
         KPhoneApplicationWindowGroupPriority,
         wgList ) == KErrNone )
@@ -2458,9 +2461,7 @@
                 }
             }
         }
-
     CleanupStack::PopAndDestroy( wgList );
-
     return appExists;
     }
 
@@ -3368,7 +3369,7 @@
 
     // btaa menu options
     iMenuController->SetBTAccFlag( &btaaParam );
-
+	iToolbarController->SetBTAccFlag( &btaaParam );
     iAudioController->HandleIhfChange( &ihfParam );
 
     if ( iButtonsController )
@@ -3408,7 +3409,8 @@
 
     // btaa menu options
     iMenuController->SetBTAccAvailableFlag( &btAvailableParam );
-
+	iToolbarController->SetBTAccAvailableFlag( &btAvailableParam );
+	
     if ( iButtonsController )
         {
         iButtonsController->SetBTAccAvailableFlag( &btAvailableParam );
@@ -3841,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:
             {
@@ -3890,6 +3876,17 @@
         default:
             break;
         }
+    
+    if ( KErrNotFound < useEffect )
+        {
+        GfxTransEffect::BeginFullScreen(
+            useEffect,
+            TRect(),
+            AknTransEffect::EParameterType,
+            AknTransEffect::GfxTransParam( aAppUidEffectParam,
+                    AknTransEffect::TParameter::EActivateExplicitCancel ) );
+        iEffectOngoing = ETrue;
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -4117,33 +4114,66 @@
     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;
     }
 
 // -----------------------------------------------------------
@@ -4202,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;
     }
 
--- a/phoneapp/phoneuiview/src/phoneringingtonesrv.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuiview/src/phoneringingtonesrv.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -93,8 +93,6 @@
 //
 TInt CPhoneRingingToneServer::StartSession()
     {
-    PHONEUIVIEW_PRINTF( "CPhoneRingingToneServer::StartSession err %d", iSessionCount );
-
     TInt err( KErrNone );
 
     if( !iSessionInUse )
@@ -105,6 +103,7 @@
         {
         err = KErrAccessDenied;
         }
+    PHONEUIVIEW_PRINTF( "CPhoneRingingToneServer::StartSession err %d", err );
 
     return err;
     }
--- a/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
--- a/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- a/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -198,7 +198,9 @@
             &customDialerParam );
         
         // Open transfer dialer
+        phoneState->BeginTransEffectLC( ECallUiDisappear );
         iViewCommandHandle.ExecuteCommandL( EPhoneViewCreateNumberEntry );
+        phoneState->EndTransEffect();
         
         // Update CBA to transfer dialer CBA
         TPhoneCmdParamInteger resourceId;
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h	Thu Aug 19 09:54:27 2010 +0300
@@ -21,6 +21,8 @@
 #include <e32base.h>
 #include "CPhCntMatcher.h"
 #include "MVPbkContactLink.h"
+#include "MPhCntContactManager.h"
+#include "tphcntcontactselectionstrategy.h"
 
 class MPhCntContactStores;
 class CPhCntContactManager;
@@ -165,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:
 
@@ -259,6 +259,9 @@
      * Own.
      */
     MPhCntContactMatchStrategy* iCSMatchStrategy;
+    
+    
+    TPhCntContactSelectionStrategy iContactSelectionStrategy;
 
     };
 
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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 
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h	Thu Aug 19 09:54:27 2010 +0300
@@ -20,7 +20,6 @@
 #define CPHCNTCONTACTMATCHSTRATEGY_H
 
 #include <e32base.h>
-#include <cenrepnotifyhandler.h>
 #include <CVPbkPhoneNumberMatchStrategy.h>
 
 #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.
      */
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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 <e32std.h>
+#include <TVPbkContactStoreUriPtr.h>
+
+// 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_ */
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
     }
 
 // ---------------------------------------------------------------------------
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -15,15 +15,16 @@
 *
 */
 
-
-
 #include <CVPbkPhoneNumberMatchStrategy.h>
 #include <MVPbkContactLinkArray.h>
 #include <CPbk2StoreConfiguration.h>
 #include <MVPbkContactStoreProperties.h>
 #include <MVPbkContactStore.h>
 #include <CVPbkContactStoreUriArray.h>
-
+#include <talogger.h>
+#include <telephonyvariant.hrh>
+#include <telinternalcrkeys.h>
+#include <centralrepository.h>
 
 #include "CPhCntMatcherImpl.h"
 #include "cphcntmatchcontact.h"
@@ -35,8 +36,28 @@
 #include "MPhoneCntPbkOwner.h"
 #include "cphcntvpbkcontactid.h"
 #include "cphcntcontactmatchstrategy.h"
-#include <talogger.h>
 
+// 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;
+        }
+    }
 
 
 // ---------------------------------------------------------------------------
@@ -191,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 );
@@ -204,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;
@@ -224,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;
     }
 
@@ -294,6 +331,9 @@
 //
 void CPhCntMatcherImpl::ConstructL()
     {
+    const TPhCntContactSelectionStrategy::TAllowSeveralMatches strategy = 
+        GetContactSelectionStrategyL();
+    iContactSelectionStrategy.SetContactSelectionStrategy( strategy );    
     }
 
 // ---------------------------------------------------------------------------
@@ -323,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;
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -17,8 +17,6 @@
 
 
 #include <CVPbkContactManager.h>
-#include <centralrepository.h>
-#include <telconfigcrkeys.h>
 #include <CVPbkContactStoreUriArray.h>
 #include <cntdb.h>  // 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
 // ---------------------------------------------------------------------------
 //     
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
 // ---------------------------------------------------------------------------
@@ -186,6 +212,7 @@
         TPhCntNumber speedDial( contact->SpeedDialNumber( aSpeedDialPosition ) );
         CopyNumberL( aPhoneNumber, speedDial.Number() );        
         CleanupStack::PopAndDestroy( contact );
+        ParseNumber( aPhoneNumber );
         }
     return err;
     }
@@ -209,6 +236,7 @@
         CopyNumberL( aPhoneNumber, speedDial.Number() );         
         CopyContactInfoToFieldInfoL( *contact, aSpeedDialPosition, aFieldInfo );        
         CleanupStack::PopAndDestroy( contact );
+        ParseNumber( aPhoneNumber );
         }
     return err;
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactselectionstrategy.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 <MVPbkContactLinkArray.h>
+#include <CVPbkContactStoreUriArray.h>
+#include <MVPbkContactLink.h>
+#include <MVPbkContactStore.h>
+#include <MVPbkContactStoreProperties.h>
+
+#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;
+        }
+    }
--- a/phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp	Thu Aug 19 09:54:27 2010 +0300
@@ -79,6 +79,7 @@
 SOURCE          tphcntcontactstorestate.cpp
 SOURCE          cphcntcontactdataselectionimpl.cpp
 SOURCE          cphcntstoreloaderimpl.cpp
+SOURCE          tphcntcontactselectionstrategy.cpp
 
 USERINCLUDE     ../ContactService/inc
 USERINCLUDE     ../inc
--- a/phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -32,7 +32,7 @@
 // None
 
 // CONSTANTS
-const TInt KDtmfSilent = 0;
+
 const TInt KDtmfPauseAfterTone = 45000;
 const TInt KDtmfToneZero = 0;
 const TInt KBufSize = 10;
--- a/phoneengine/audiohandling/src/cpegsmaudiodata.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/audiohandling/src/cpegsmaudiodata.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 );
+        }
     }
 
 // -----------------------------------------------------------------------------
Binary file phoneengine/phonemodel/conf/s60telephony.confml has changed
Binary file phoneengine/phonemodel/conf/s60telephony_102828F8.crml has changed
--- a/phoneengine/phonemodel/inc/cpemessagehandler.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/phonemodel/inc/cpemessagehandler.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
--- a/phoneengine/phonemodel/inc/telephonyvariant.hrh	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/phonemodel/inc/telephonyvariant.hrh	Thu Aug 19 09:54:27 2010 +0300
@@ -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. 
--- a/phoneengine/phonemodel/src/cpemessagehandler.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
     }
 
@@ -2719,6 +2735,7 @@
             iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) );  
             // Clear phonenumber to prevent using the wrong number in MO video call.
             iDataStore.SetPhoneNumber( KNullDesC() );
+            iSwitchToVidCalReconFlag = ETrue;
             }
         else
             {
@@ -2747,6 +2764,8 @@
     TInt errorCode( ECCPErrorNone );
   
     TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand();
+    RemovePreAndPostFix( phoneNumber );
+    
     TEFLOGSTRING2( KTAINT, 
         "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", 
         &phoneNumber );
--- a/phoneuis/BubbleManager/Src/BMBubbleManager.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/Src/BMBubbleManager.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -1545,7 +1545,7 @@
                     iBottomImageVariety = tiny ? 0 : 4;
                     
                     CBubblePlace::TPhoneBubblePlace place;
-                    place = cnapLength ? CBubblePlace::EBottomImageCnap :
+                    place = cnapLength ? CBubblePlace::EBottomCnap :
                                          CBubblePlace::EBottomImage;
                     
                     SetActivePlace( place,
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -32,7 +32,7 @@
 #include    <eikenv.h>
 #include    <AknsUtils.h>
 #include    <AknsDrawUtils.h>
-#include    <aknlayout2scalabledef.h>
+#include    <AknLayout2ScalableDef.h>
 #include    <layoutmetadata.cdl.h>
 
 
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -32,7 +32,7 @@
 #include    <eikenv.h>
 #include    <AknsUtils.h>
 #include    <AknsDrawUtils.h>
-#include    <aknlayout2scalabledef.h>
+#include    <AknLayout2ScalableDef.h>
 #include    <layoutmetadata.cdl.h>
 
 
--- a/phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 )
        {
--- a/phoneuis/BubbleManager/Src/BMUtils.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/Src/BMUtils.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -36,7 +36,7 @@
 #include    <AknBidiTextUtils.h>
 #include    <featmgr.h>
 #include    <aknlayoutscalable_apps.cdl.h>
-#include    <aknlayout2scalabledef.h>
+#include    <AknLayout2ScalableDef.h>
 #include    <applayout.cdl.h>
 #include    <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknenv.h>
 #include <applayout.cdl.h>
 #include <AknUtils.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout.h	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include <calslbs.h>
 #include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
+#include <AknLayoutDef.h>
 
 /**
 * Layout coordinates from Application LAF
--- a/phoneuis/BubbleManager/laf/BMLayout2.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout2.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknenv.h>
 #include <applayout.cdl.h>
 #include <AknUtils.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout2.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout2.h	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include <calslbs.h>
 #include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
+#include <AknLayoutDef.h>
 
 /**
 * Layout coordinates from Application LAF
--- a/phoneuis/BubbleManager/laf/BMLayout3.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout3.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -22,7 +22,7 @@
 #include <aknenv.h>
 #include <applayout.cdl.h>
 #include <AknUtils.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout3.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout3.h	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include <calslbs.h>
 #include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
+#include <AknLayoutDef.h>
 
 /**
 * Call3 (video cli) layout coordinates from Application LAF 
--- a/phoneuis/BubbleManager/laf/BMLayout4.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout4.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknenv.h>
 #include <applayout.cdl.h>
 #include <AknUtils.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout4.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout4.h	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include <calslbs.h>
 #include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
+#include <AknLayoutDef.h>
 
 /**
 * Layout coordinates from Application LAF
--- a/phoneuis/BubbleManager/laf/BMLayout6.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout6.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -22,7 +22,7 @@
 #include <aknenv.h>
 #include <applayout.cdl.h>
 #include <AknUtils.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phoneuis/BubbleManager/laf/BMLayout6.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/BubbleManager/laf/BMLayout6.h	Thu Aug 19 09:54:27 2010 +0300
@@ -20,7 +20,7 @@
 
 #include <calslbs.h>
 #include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
+#include <AknLayoutDef.h>
 /**
 * Layout coordinates from Application LAF
 * 
--- a/phoneuis/dialer/inc/cdialer.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/inc/cdialer.h	Thu Aug 19 09:54:27 2010 +0300
@@ -434,6 +434,9 @@
         void OnPeninputUiActivated();
         
     private:    // Data
+        
+        // Component controls of dialer.
+        RPointerArray<CCoeControl> 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.
--- a/phoneuis/dialer/inc/cdialernumberentry.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/inc/cdialernumberentry.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneuis/dialer/src/cdialer.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialer.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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<CCoeControl*>(&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
--- a/phoneuis/dialer/src/cdialercontainerbase.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialercontainerbase.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknbutton.h>
 #include <AknsUtils.h>
 #include <AknsDrawUtils.h>
-#include <aknlayout2def.h>
+#include <AknLayout2Def.h>
 #include <AknsSkinInstance.h>
 #include <AknsControlContext.h>
 #include <aknlayoutscalable_apps.cdl.h>
--- a/phoneuis/dialer/src/cdialerkeypadcontainer.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialerkeypadcontainer.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -27,7 +27,7 @@
 #include <AknsSkinInstance.h>
 #include <AknsDrawUtils.h>
 #include <AknsConstants.h>
-#include <aknlayout2def.h>
+#include <AknLayout2Def.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
 #include <data_caging_path_literals.hrh> // for KDC_APP_RESOURCE_DIR
--- a/phoneuis/dialer/src/cdialernumberentry.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialernumberentry.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -25,15 +25,16 @@
 #include <dialer.rsg>
 #include <eikimage.h>           // CEikImage
 #include <barsread.h>           // TResourceReader
+#include <featmgr.h>
 #include <eiklabel.h> 
 #include <aknappui.h>
 #include <AknUtils.h>
 #include <AknsDrawUtils.h>
 #include <applayout.cdl.h>
 #include <AknLayoutFont.h>
-#include <aknlayout2def.h>
+#include <AknLayout2Def.h>
 #include <AknPhoneNumberEditor.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <AknsBasicBackgroundControlContext.h>
 #include <AknsFrameBackgroundControlContext.h>
 #include <aknlayoutscalable_apps.cdl.h>
@@ -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<CDialerNumberEntry*>( 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
--- a/phoneuis/dialer/src/cdialervideocontainer.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialervideocontainer.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -27,9 +27,9 @@
 #include <AknUtils.h>
 #include <AknsDrawUtils.h>
 #include <AknLayoutFont.h>
-#include <aknlayout2def.h>
+#include <AknLayout2Def.h>
 #include <layoutmetadata.cdl.h>
-#include <aknlayout2scalabledef.h>
+#include <AknLayout2ScalableDef.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <AknsBasicBackgroundControlContext.h>
 #include <AknsFrameBackgroundControlContext.h>
--- a/phoneuis/dialer/src/cdialingextensionobserver.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cdialingextensionobserver.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -154,7 +154,7 @@
     {
     if ( !iEikonEnvironment )
         {
-        iEikonEnvironment = CEikonEnv::Static();
+        iEikonEnvironment = CEikonEnv::Static(); // codescanner::performance::eikonenvstatic
         }
     
     if( iEikonEnvironment && iEikonEnvironment->EikAppUi() )
--- a/phoneuis/dialer/src/cvideodtmfdialer.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cvideodtmfdialer.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -106,7 +106,7 @@
 
 // Constructor
 CVideoDTMFDialer::CVideoDTMFDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
+    iEikEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic
     {
     // Empty    
     }
--- a/phoneuis/dialer/src/cvideodtmfdialerstub.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/dialer/src/cvideodtmfdialerstub.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -66,7 +66,7 @@
 
 // Constructor
 CVideoDTMFDialer::CVideoDTMFDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
+    iEikEnv( *CEikonEnv::Static() ) // codescanner::performance::eikonenvstatic
     {
     // Empty    
     }
--- a/phoneuis/easydialing/data/easydialingpluginresources.rss	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/data/easydialingpluginresources.rss	Thu Aug 19 09:54:27 2010 +0300
@@ -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
 //
--- a/phoneuis/easydialing/group/easydialingplugin.mmp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/group/easydialingplugin.mmp	Thu Aug 19 09:54:27 2010 +0300
@@ -131,5 +131,6 @@
 // Libraries used for R&D purposes only
 DEBUGLIBRARY flogger.lib
 
+
 // End of File
 
--- a/phoneuis/easydialing/group/iconlist.txt	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/group/iconlist.txt	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneuis/easydialing/inc/dialingextensioninterface.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/dialingextensioninterface.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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. */
--- a/phoneuis/easydialing/inc/easydialingcontactdata.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialingcontactdata.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
     };
--- a/phoneuis/easydialing/inc/easydialingcontactdatamanager.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialingcontactdatamanager.h	Thu Aug 19 09:54:27 2010 +0300
@@ -20,8 +20,9 @@
 #define __EASYDIALINGCONTACTDATAMANAGER_H__
 
 #include <MPbk2ImageOperationObservers.h>
+#include <MPbk2StoreConfigurationObserver.h>
 #include <MVPbkSingleContactOperationObserver.h>
-#include <MVPbkContactStoreObserver.h>
+#include <MVPbkContactStoreListObserver.h>
 #include <MVPbkOperationObserver.h>
 #include <MVPbkContactViewBase.h>
 #include <TPbk2ImageManagerParams.h>
@@ -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<MVPbkContactViewBase*>,
+        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<TDesC>& 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<CEasyDialingContactData> 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;
     
--- a/phoneuis/easydialing/inc/easydialinglistbox.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialinglistbox.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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();
--- a/phoneuis/easydialing/inc/easydialinglistboxdata.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialinglistboxdata.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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;
     };
--- a/phoneuis/easydialing/inc/easydialingplugin.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialingplugin.h	Thu Aug 19 09:54:27 2010 +0300
@@ -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<TDesC> 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;
 };
 
 
--- a/phoneuis/easydialing/inc/mcontactdatamanagerobserver.h	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/inc/mcontactdatamanagerobserver.h	Thu Aug 19 09:54:27 2010 +0300
@@ -30,6 +30,8 @@
     virtual void NameOrderChanged() = 0;
     
     virtual void FavouritesChanged() = 0;
+    
+    virtual void StoreConfigurationChanged() = 0;
     };
 
 #endif //__MCONTACTDATAMANAGEROBSERVER_H__
--- a/phoneuis/easydialing/src/easydialingcontactdata.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/src/easydialingcontactdata.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneuis/easydialing/src/easydialingcontactdatamanager.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/src/easydialingcontactdatamanager.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -21,6 +21,8 @@
 #include <CVPbkContactManager.h>
 #include <MVPbkContactStoreList.h>
 #include <MVPbkContactLink.h>
+#include <CPbk2StoreConfiguration.h>
+#include <CVPbkContactStoreUriArray.h>
 #include <VPbkContactStoreUris.h>
 #include <TVPbkContactStoreUriPtr.h>
 #include <CVPbkTopContactManager.h>
@@ -28,22 +30,20 @@
 #include <TVPbkStoreContactAnalyzer.h>
 #include <MVPbkFieldType.h>
 #include <VPbkEng.rsg>
-
 #include <MVPbkContactViewBase.h>
 #include <MVPbkBaseContactFieldCollection.h>
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkContactFieldData.h>
-
 #include <CVPbkContactLinkArray.h>
 #include <MVPbkContactLink.h>
 #include <MVPbkContactOperationBase.h>
 #include <MVPbkOperationObserver.h>
-#include <MVPbkContactStore.h>          // MVPbkContactStore
+#include <MVPbkContactStore.h>
+#include <MVPbkContactStoreProperties.h>
 #include <MVPbkStoreContact.h>
+#include <PbkGlobalSettingFactory.h>
 #include <centralrepository.h>
 
-#include <PbkGlobalSettingFactory.h>
-
 #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<TDesC>& 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
 
--- a/phoneuis/easydialing/src/easydialinglistbox.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/src/easydialinglistbox.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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 ) );
 
--- a/phoneuis/easydialing/src/easydialinglistboxdata.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/src/easydialinglistboxdata.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -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
--- a/phoneuis/easydialing/src/easydialingplugin.cpp	Thu Jul 15 18:38:16 2010 +0300
+++ b/phoneuis/easydialing/src/easydialingplugin.cpp	Thu Aug 19 09:54:27 2010 +0300
@@ -46,9 +46,6 @@
 
 // Virtual phonebook header files
 #include <VPbkContactStoreUris.h>
-#include <CVPbkContactStoreUriArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <CVPbkContactLinkArray.h>
 #include <VPbkEng.rsg> // contains virtual phonebook data fields
 #include <phoneui.rsg> 
 
@@ -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<MCCAConnectionExt*>( 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<TInt> 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<TInt> 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<TInt> 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<CAknAppUi*>( 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
Binary file phoneuis/vmbx/help/data/xhtml.zip has changed