phoneapp/phoneuicontrol/inc/cphonestate.h
branchRCL_3
changeset 62 5266b1f337bd
parent 61 41a7f70b3818
child 69 8baf28733c3d
equal deleted inserted replaced
61:41a7f70b3818 62:5266b1f337bd
    22 
    22 
    23 // INCLUDES
    23 // INCLUDES
    24 #include <w32std.h>
    24 #include <w32std.h>
    25 #include <remconcoreapitargetobserver.h>
    25 #include <remconcoreapitargetobserver.h>
    26 #include <MProfileEngine.h>
    26 #include <MProfileEngine.h>
       
    27 #include <bmbubblemanager.h>
       
    28 #include <eikenv.h>
       
    29 
    27 #include "mphonestate.h"
    30 #include "mphonestate.h"
    28 #include "mphoneviewcommandhandle.h"
    31 #include "mphoneviewcommandhandle.h"
    29 #include "cphonecbamanager.h"
    32 #include "cphonecbamanager.h"
    30 
    33 
    31 // FORWARD DECLARATIONS
    34 // FORWARD DECLARATIONS
    38 class CPhoneNumberEntryManager;
    41 class CPhoneNumberEntryManager;
    39 
    42 
    40 enum TStateTransEffectType
    43 enum TStateTransEffectType
    41     {
    44     {
    42     ENoneType,
    45     ENoneType,
       
    46     ECallUiAppear,
       
    47     ECallUiDisappear,
       
    48     // These effect types can be used only when NE is opened/closed
       
    49     // when some other app than phone is visible on the foreground/
       
    50     // background.
       
    51     // These cannot be used for internal transitions (=call ui<->dialer).
    43     ENumberEntryOpen,
    52     ENumberEntryOpen,
    44     ENumberEntryClose,
    53     ENumberEntryClose,
    45     ENumberEntryCreate
    54     ENumberEntryCreate
    46     };
    55     };
    47 
    56 
   119         IMPORT_C virtual void HandleKeyPressDurationL(
   128         IMPORT_C virtual void HandleKeyPressDurationL(
   120             TKeyCode aCode,
   129             TKeyCode aCode,
   121             TTimeIntervalMicroSeconds aKeyPressDuration );
   130             TTimeIntervalMicroSeconds aKeyPressDuration );
   122 
   131 
   123         /**
   132         /**
       
   133         * From CAknAppUi, initialise a menupane (dynamic).
       
   134         *
       
   135         * @param aResourceId It is the resource id for the pane.
       
   136         * @param aMenuPane It is the menu pane corresponding to the resource.
       
   137         */
       
   138         IMPORT_C virtual void DynInitMenuPaneL(
       
   139             TInt aResourceId,
       
   140             CEikMenuPane* aMenuPane );
       
   141 
       
   142         /**
       
   143         * From CAknAppUi, initialise a menubar (dynamic).
       
   144         *
       
   145         * @param aResourceId It is the resource id for the bar.
       
   146         * @param aMenuBar It is the menu bar corresponding to the resource.
       
   147         */
       
   148         IMPORT_C virtual void DynInitMenuBarL(
       
   149             TInt aResourceId,
       
   150             CEikMenuBar* aMenuBar );
       
   151 
       
   152         /**
   124         * From CEikAppUi. For Idle indicator
   153         * From CEikAppUi. For Idle indicator
   125         */
   154         */
   126         IMPORT_C virtual void HandleSystemEventL(
   155         IMPORT_C virtual void HandleSystemEventL(
   127             const TWsEvent& aEvent );
   156             const TWsEvent& aEvent );
   128 
   157 
   145         /**
   174         /**
   146         * Indicates when the Idle app is in the foreground.
   175         * Indicates when the Idle app is in the foreground.
   147         */
   176         */
   148         IMPORT_C virtual void HandleIdleForegroundEventL();
   177         IMPORT_C virtual void HandleIdleForegroundEventL();
   149 
   178 
   150         /**
       
   151         * Indicates when the keylock events
       
   152         */
       
   153         IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
       
   154         
       
   155         /**
   179         /**
   156         * Handle environment changes.
   180         * Handle environment changes.
   157         * @param aChanges environment changes which may be reported by
   181         * @param aChanges environment changes which may be reported by
   158         *  a change notifier through the RChangeNotifier interface.
   182         *  a change notifier through the RChangeNotifier interface.
   159         */
   183         */
   209         IMPORT_C virtual TBool HandleRemConCommandL(
   233         IMPORT_C virtual TBool HandleRemConCommandL(
   210             TRemConCoreApiOperationId aOperationId,
   234             TRemConCoreApiOperationId aOperationId,
   211             TRemConCoreApiButtonAction aButtonAct);
   235             TRemConCoreApiButtonAction aButtonAct);
   212 
   236 
   213         /**
   237         /**
   214         * Setter for divert indication showing in bubble.
       
   215         * @param aDivertIndication ETrue to show divert indication,
       
   216         *          EFalse to not. Usually setting EFalse isn't necessary
       
   217         *         as it's a default value in bubble creation.
       
   218         */
       
   219         IMPORT_C virtual void SetDivertIndication(
       
   220             const TBool aDivertIndication );
       
   221 
       
   222         /**
       
   223         * Handles Long hash key press
   238         * Handles Long hash key press
   224         */
   239         */
   225         IMPORT_C void HandleLongHashL();
   240         IMPORT_C void HandleLongHashL();
       
   241 
       
   242         /**
       
   243         * Informs view to start Transition effect if effect
       
   244         * type is feasible for current state.
       
   245         * @param aType a transition effect, default none
       
   246         * EndTransEffect() must be called when update is done.
       
   247         */
       
   248         IMPORT_C void BeginTransEffectLC( TStateTransEffectType aType = ENoneType );
       
   249 
       
   250         /**
       
   251         * Informs view to complete Transition effect
       
   252         */
       
   253         IMPORT_C void EndTransEffect();
   226 
   254 
   227         /**
   255         /**
   228         * Checks whether customized dialer view is active,
   256         * Checks whether customized dialer view is active,
   229         * @return ETrue if customized dialer is active
   257         * @return ETrue if customized dialer is active
   230         */
   258         */
   231         IMPORT_C TBool IsCustomizedDialerVisibleL() const;
   259         IMPORT_C TBool IsCustomizedDialerVisibleL() const;
       
   260 
       
   261         /**
       
   262         * Closes customized dialer view
       
   263         */
       
   264         IMPORT_C void CloseCustomizedDialerL();
   232 
   265 
   233         /**
   266         /**
   234          * Plays DTMF tone for key event
   267          * Plays DTMF tone for key event
   235          * */
   268          * */
   236         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
   269         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
   237                 TEventCode aEventCode );
   270                 TEventCode aEventCode );
   238 
   271 
   239         /**
   272         /**
   240         * Show global InfoNote
   273         * Show global InfoNote
   241         * @param aResourceId resource id to be resolved
   274         * @param aResourceId resource id to be resolved
   242         * @param aNotificationDialog True if notification
   275         */
   243         *        dialog should be used.
   276         IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
   244         */
       
   245         IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId,
       
   246                 TBool aNotificationDialog = EFalse );
       
   247 
   277 
   248         /**
   278         /**
   249         * Show global ErrorNote
   279         * Show global ErrorNote
   250         * @param aResourceId resource id to be resolved
   280         * @param aResourceId resource id to be resolved
   251         * @param aNotificationDialog True if notification
   281         */
   252         *        dialog should be used.
   282         IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId );
   253         */
   283 
   254         IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
       
   255                 TBool aNotificationDialog = EFalse );
       
   256 
       
   257         /**
       
   258          * Get blocked key list
       
   259          * @returns RArray<TInt>& lsit of blocked keys 
       
   260          */
       
   261         IMPORT_C const RArray<TInt>& GetBlockedKeyList() const;
       
   262 
       
   263         /**
       
   264          * Disable HW Keys if needed
       
   265          */
       
   266         IMPORT_C void DisableHWKeysL();
       
   267 
       
   268         /**
       
   269          * Disable Call UI
       
   270          */
       
   271         IMPORT_C void DisableCallUIL();
       
   272 
       
   273         /**
       
   274          * Enable Call UI
       
   275          */
       
   276         IMPORT_C void EnableCallUIL();
       
   277 
       
   278         /**
       
   279          * Disable HW Keys and Call UI if needed
       
   280          */
       
   281         IMPORT_C void CheckDisableHWKeysAndCallUIL();
       
   282 
       
   283         /**
       
   284          * Handle hold switch key event when there is an incoming or waiting call
       
   285          */
       
   286         IMPORT_C void HandleHoldSwitchL();
       
   287         
       
   288         /**
       
   289          * Enable HW Keys and Call UI if needed
       
   290          */
       
   291         IMPORT_C void CheckEnableHWKeysAndCallUIL();
       
   292         
       
   293         /**
   284         /**
   294         * Fetches autolock information - is it set on or not
   285         * Fetches autolock information - is it set on or not
   295         * @return is autolock set on (ETrue) or off (EFalse)
   286         * @return is autolock set on (ETrue) or off (EFalse)
   296         */
   287         */
   297         IMPORT_C TBool IsAutoLockOn() const;
   288         IMPORT_C TBool IsAutoLockOn() const;
   313         * @return boolean value indicating that note, query or
   304         * @return boolean value indicating that note, query or
   314         * blocking dialog is visible
   305         * blocking dialog is visible
   315         */
   306         */
   316         IMPORT_C TBool IsAnyQueryActiveL();
   307         IMPORT_C TBool IsAnyQueryActiveL();
   317 
   308 
       
   309         /**
       
   310         * Check if menu bar is visible
       
   311         * @return boolean value indicating that menu bar is visible
       
   312         */
       
   313         IMPORT_C TBool IsMenuBarVisibleL() const;
       
   314 
       
   315         /**
       
   316          * Sets context menu to correspond the incall options menu
       
   317          *
       
   318          */
       
   319         IMPORT_C virtual void UpdateInCallContextMenuL();
       
   320 
   318         /*
   321         /*
   319         * If KFeatureIdFfSimlessOfflineSupport is undefined and
   322         * If KFeatureIdFfSimlessOfflineSupport is undefined and
   320         * UI shows note which will be closed by key event then
   323         * UI shows note which will be closed by key event then
   321         * method return ETrue otherwise EFalse.
   324         * method return ETrue otherwise EFalse.
   322         */
   325         */
   323         TBool IsNoteDismissableL();
   326         TBool IsNoteDismissableL();
   324 
   327 
   325         IMPORT_C void RetainPreviousKeylockStateL();
   328         /**
       
   329         * Check if possible dialer extension is in focus
       
   330         * @return boolean value indicating if dialer extension is in focus
       
   331         */
       
   332         IMPORT_C TBool IsDialingExtensionInFocusL() const;
   326         
   333         
       
   334         /**
       
   335         * At moment does nothing in CPhoneState, only causes function call
       
   336         * to inherinting classes.
       
   337         */ 
       
   338         IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL();
       
   339         
       
   340         /**
       
   341         * Getter for CEikonEnv to avoid use of static system calls
       
   342         * @return CEikonEnv handle
       
   343         */
       
   344         IMPORT_C CEikonEnv* EikonEnv() const;
       
   345         
       
   346         /**
       
   347         * Setter for CEikonEnv to avoid use of static system calls
       
   348         * @param CEikonEnv handle
       
   349         */
       
   350         IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv );
       
   351 
   327     public: // NumberEntry functions.
   352     public: // NumberEntry functions.
   328 
   353 
       
   354         /**
       
   355         * Passes create number entry command forward if NE can be created.
       
   356         */
       
   357         IMPORT_C virtual void HandleCreateNumberEntryL(
       
   358                 const TKeyEvent& aKeyEvent,
       
   359                 TEventCode aEventCode );
   329         /**
   360         /**
   330         * Check if number entry is used
   361         * Check if number entry is used
   331         * @return boolean value indicating that number entry is used
   362         * @return boolean value indicating that number entry is used
   332         */
   363         */
   333         IMPORT_C virtual TBool IsNumberEntryUsedL();
   364         IMPORT_C virtual TBool IsNumberEntryUsedL();
   335         /**
   366         /**
   336         * Check if number entry is visible
   367         * Check if number entry is visible
   337         * @return boolean value indicating that number entry is visible
   368         * @return boolean value indicating that number entry is visible
   338         */
   369         */
   339         IMPORT_C TBool IsNumberEntryVisibleL();
   370         IMPORT_C TBool IsNumberEntryVisibleL();
       
   371         
       
   372         /**
       
   373         * Close and and clear number entry.
       
   374         */
       
   375         IMPORT_C void CloseClearNumberEntryAndLoadEffectL( TStateTransEffectType aType );
   340 
   376 
   341     protected:
   377     protected:
   342 
   378 
   343         /**
   379         /**
   344         * Handle EPEMessageAudioMuteChanged
   380         * Handle EPEMessageAudioMuteChanged
   371         IMPORT_C void DialVoiceCallL();
   407         IMPORT_C void DialVoiceCallL();
   372 
   408 
   373         /**
   409         /**
   374         * Disconnect call
   410         * Disconnect call
   375         */
   411         */
   376         IMPORT_C TBool DisconnectCallL();
   412         IMPORT_C virtual void DisconnectCallL();
   377 
   413 
   378         /**
   414         /**
   379         * Display idle screen
   415         * Display idle screen
   380         */
   416         */
   381         IMPORT_C void DisplayIdleScreenL();
   417         IMPORT_C void DisplayIdleScreenL();
   395         */
   431         */
   396         IMPORT_C void DisplayHeaderForCallComingInL(
   432         IMPORT_C void DisplayHeaderForCallComingInL(
   397             TInt aCallId,
   433             TInt aCallId,
   398             TInt aWaitingCall );
   434             TInt aWaitingCall );
   399 
   435 
   400         /**
   436 		/**
   401         * Sets call header texts for call coming in
   437         * Sets call header texts for call coming in
   402         * @param aCallid call id
   438         * @param aCallid call id
   403         * @param aWaitingCall waiting call indication
   439         * @param aWaitingCall waiting call indication
   404         * @param aCallHeaderData - Call header parameter into which the text
   440 		* @param aCallHeaderData - Call header parameter into which the text
   405         *                          will be set.
   441         *                          will be set.
   406         */
   442         */
   407         IMPORT_C void SetCallHeaderTextsForCallComingInL(
   443         IMPORT_C void SetCallHeaderTextsForCallComingInL(
   408             TInt aCallId,
   444 			TInt aCallId,
   409             TBool aWaitingCall,
   445             TBool aWaitingCall,
   410             TPhoneCmdParamCallHeaderData* aCallHeaderData );
   446             TPhoneCmdParamCallHeaderData* aCallHeaderData );
   411 
   447 
   412         /**
   448         /**
   413         * Display call header for outgoing call (the phone number is initially
   449         * Display call header for outgoing call (the phone number is initially
   432         * Return remote info data
   468         * Return remote info data
   433         * @param aCallid call id
   469         * @param aCallid call id
   434         * @param aData the returned remote info data
   470         * @param aData the returned remote info data
   435         */
   471         */
   436         IMPORT_C void GetRemoteInfoDataL( TInt aCallId, TDes& aData );
   472         IMPORT_C void GetRemoteInfoDataL( TInt aCallId, TDes& aData );
       
   473 
       
   474         /**
       
   475          * Sets context menu
       
   476          *
       
   477          * @param aResourceId   resource
       
   478          */
       
   479         IMPORT_C virtual void SetContextMenuL( TInt aResourceId );
       
   480 
       
   481         /**
       
   482          * Sets context menu to correspond the incoming options menu
       
   483          *
       
   484          * @param aCallId   incoming call id
       
   485          */
       
   486         IMPORT_C virtual void UpdateIncomingContextMenuL( TInt aCallId );
       
   487 
   437 
   488 
   438         /**
   489         /**
   439         * Show note
   490         * Show note
   440         * @param aResourceId resource id to be resolved
   491         * @param aResourceId resource id to be resolved
   441         */
   492         */
   461             TInt aContentCbaResourceId,
   512             TInt aContentCbaResourceId,
   462             TDes* aDataText,
   513             TDes* aDataText,
   463             TBool aSendKeyEnabled = EFalse );
   514             TBool aSendKeyEnabled = EFalse );
   464 
   515 
   465         /**
   516         /**
       
   517         * Check if note is visible
       
   518         * @return boolean value indicating that note is visible
       
   519         */
       
   520         IMPORT_C TBool IsNoteVisibleL();
       
   521 
       
   522         /**
   466         * Handle numeric key event
   523         * Handle numeric key event
   467         */
   524         */
   468         IMPORT_C virtual void HandleNumericKeyEventL(
   525         IMPORT_C virtual void HandleNumericKeyEventL(
   469             const TKeyEvent& aKeyEvent,
   526             const TKeyEvent& aKeyEvent,
   470             TEventCode aEventCode );
   527             TEventCode aEventCode );
   472         /**
   529         /**
   473         * Check if the application needs to be sent to the background
   530         * Check if the application needs to be sent to the background
   474         * @return boolean value indicating that application needs to be
   531         * @return boolean value indicating that application needs to be
   475         *  sent to the background
   532         *  sent to the background
   476         */
   533         */
   477         IMPORT_C TBool NeedToSendToBackgroundL() const;
   534         IMPORT_C TBool NeedToReturnToForegroundAppL() const;
   478 
   535 
   479         /**
   536         /**
   480         * Check if the top application is currently displayed in the foreground
   537         * Check if the top application is idle or phone app.
   481         * @return boolean value indicating that top app is displayed
   538         * @return boolean value indicating that top app is idle/phone application.
   482         */
   539         */
   483         IMPORT_C TBool TopAppIsDisplayedL() const;
   540         IMPORT_C TBool TopAppIsDisplayedL() const;
   484 
   541 
   485         /**
   542         /**
   486         * Capture keys during call notifications (dialing, incoming, waiting)
   543         * Capture keys during call notifications (dialing, incoming, waiting)
   506         IMPORT_C void SetBTHandsfreeModeL( TBool aHandsfreeMode );
   563         IMPORT_C void SetBTHandsfreeModeL( TBool aHandsfreeMode );
   507 
   564 
   508          /**
   565          /**
   509         * Show global WarningNote
   566         * Show global WarningNote
   510         * @param aResourceId resource id to be resolved
   567         * @param aResourceId resource id to be resolved
   511         * @param aNotificationDialog True if notification dialog
   568         */
   512         *                            should be used.
   569         IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
   513         */
       
   514         IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId,
       
   515                 TBool aNotificationDialog = EFalse );
       
   516 
   570 
   517         /**
   571         /**
   518         * Checks is the call id a video call.
   572         * Checks is the call id a video call.
   519         * @param aCallId - call id to be checked
   573         * @param aCallId - call id to be checked
   520         * @return ETrue if video call id, otherwise EFalse
   574         * @return ETrue if video call id, otherwise EFalse
   572         IMPORT_C void CompleteSatRequestL( const TInt aCallId );
   626         IMPORT_C void CompleteSatRequestL( const TInt aCallId );
   573 
   627 
   574         /**
   628         /**
   575         * Sets the call header type used in the call bubble.
   629         * Sets the call header type used in the call bubble.
   576         */
   630         */
   577         IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
   631         IMPORT_C void SetCallHeaderType( const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType );
   578 
   632 
   579         /**
   633         /**
   580         * Handles situation when hash key has been kept down long
   634         * Handles situation when hash key has been kept down long
   581         * (long keypress) and the hash character is the only character
   635         * (long keypress) and the hash character is the only character
   582         * in number entry.
   636         * in number entry.
   608         * @param touchpane resource id.
   662         * @param touchpane resource id.
   609         */
   663         */
   610         IMPORT_C void SetTouchPaneButtons( TInt aResourceId );
   664         IMPORT_C void SetTouchPaneButtons( TInt aResourceId );
   611 
   665 
   612         /*
   666         /*
       
   667         * Sets touchpane visibility.
       
   668         *
       
   669         * @param ETrue if visible otherwise EFalse.
       
   670         */
       
   671         IMPORT_C void SetTouchPaneVisible( TBool aVisible );
       
   672 
       
   673         /*
   613         * Destroys touchpane buttons.
   674         * Destroys touchpane buttons.
   614         */
   675         */
   615         IMPORT_C void DeleteTouchPaneButtons();
   676         IMPORT_C void DeleteTouchPaneButtons();
       
   677 
       
   678         /*
       
   679         * Enables touchpane button that holds given command id.
       
   680         *
       
   681         * @param aCommandId Command id.
       
   682         */
       
   683         IMPORT_C void SetTouchPaneButtonEnabled( TInt aCommandId );
       
   684 
       
   685         /*
       
   686         * Disables touchpane button that holds given command id.
       
   687         *
       
   688         * @param aCommandId Command id.
       
   689         */
       
   690         IMPORT_C void SetTouchPaneButtonDisabled( TInt aCommandId );
       
   691 
       
   692         /*
       
   693         * Checks if DTMF editor is active,
       
   694         * @return true is DTMF is active
       
   695         */
       
   696         IMPORT_C TBool IsDTMFEditorVisibleL() const;
       
   697 
       
   698         /**
       
   699         * Closes dtmf editor.
       
   700         */
       
   701         IMPORT_C void CloseDTMFEditorL();
   616 
   702 
   617         /**
   703         /**
   618         * Set default flags values.
   704         * Set default flags values.
   619         * No active call
   705         * No active call
   620         */
   706         */
   635         /**
   721         /**
   636         * A message handling function for message EPEMessageDisconnecting
   722         * A message handling function for message EPEMessageDisconnecting
   637         * @param aCallId: the call id of the call
   723         * @param aCallId: the call id of the call
   638         */
   724         */
   639         IMPORT_C void HandleDisconnectingL( TInt aCallId );
   725         IMPORT_C void HandleDisconnectingL( TInt aCallId );
       
   726 
       
   727         /**
       
   728         * Returns customized dialer menu resource id
       
   729         */
       
   730         IMPORT_C TInt CustomizedDialerMenuResourceIdL();
       
   731 
       
   732         /**
       
   733         * Returns customized dialer CBA resource id
       
   734         */
       
   735         IMPORT_C TInt CustomizedDialerCbaResourceIdL();
   640         
   736         
   641         /**
   737         /**
   642         * Opens soft reject message editor.
   738         * Forwards Phone Engine messages to Phone customization
   643         */
   739         * @param aMessage Message from Phone Engine
   644         IMPORT_C virtual void OpenSoftRejectMessageEditorL();
   740         * @param aCallId Call id the message concerns
       
   741         * @return ETrue if message was handled
       
   742         */
       
   743         IMPORT_C TBool ForwardPEMessageToPhoneCustomizationL(
       
   744             const TInt aMessage,
       
   745             TInt aCallId );
       
   746         
       
   747         /**
       
   748         * Sets up all call setup to display.
       
   749         * @param aCallId - call id to set up
       
   750         */ 
       
   751          IMPORT_C void DisplayCallSetupL( TInt aCallId );
       
   752          
       
   753          /**
       
   754           * Sets the flag wether the foreground application
       
   755           * needs to be brought foreground after the phone
       
   756           * goes idle 
       
   757           */
       
   758          IMPORT_C void SetNeedToReturnToForegroundAppStatusL( 
       
   759              TBool aNeedToReturn );
   645 
   760 
   646     protected: // NumberEntry functions.
   761     protected: // NumberEntry functions.
   647 
   762 
   648         /**
   763         /**
   649         * Set Number Entry visibility.
   764         * Set Number Entry visibility.
   677         * Stores the number entry content to the cache
   792         * Stores the number entry content to the cache
   678         */
   793         */
   679         IMPORT_C void StoreNumberEntryContentL();
   794         IMPORT_C void StoreNumberEntryContentL();
   680 
   795 
   681         /**
   796         /**
       
   797         * Restores the number entry content from the cache
       
   798         */
       
   799         IMPORT_C void RestoreNumberEntryContentL();
       
   800 
       
   801         /**
   682         * Clears the number entry content cache
   802         * Clears the number entry content cache
   683         */
   803         */
   684         IMPORT_C void ClearNumberEntryContentCache();
   804         IMPORT_C void ClearNumberEntryContentCache();
   685 
   805 
   686         /**
   806         /**
   690 
   810 
   691         /**
   811         /**
   692          * Checks if on screen dialer feature is supported.
   812          * Checks if on screen dialer feature is supported.
   693          */
   813          */
   694         IMPORT_C TBool IsOnScreenDialerSupported() const;
   814         IMPORT_C TBool IsOnScreenDialerSupported() const;
       
   815 
       
   816         /**
       
   817         * Informs phoneengine that phone number has been edited i.e. phonenumber parser is run
       
   818         */
       
   819         IMPORT_C virtual  void HandleNumberEntryEdited();
   695 
   820 
   696         /**
   821         /**
   697          * Returns ETrue if alphanumeric characters are supported.
   822          * Returns ETrue if alphanumeric characters are supported.
   698          * @param aKeyEvent Key event.
   823          * @param aKeyEvent Key event.
   699          * @return ETrue if alphanumeric chars are supported.
   824          * @return ETrue if alphanumeric chars are supported.
   708 
   833 
   709          /**
   834          /**
   710          * Internal number entry handling methods.
   835          * Internal number entry handling methods.
   711          */
   836          */
   712          void NumberEntryClearL();
   837          void NumberEntryClearL();
       
   838          
       
   839 		  
       
   840          /**
       
   841          * Dims silence touch button if call is not alerting.
       
   842          * @param None
       
   843          */
       
   844          IMPORT_C void UpdateSilenceButtonDimming();
       
   845 
       
   846          /**
       
   847          * Sets toolbar dimming.
       
   848          * @param aDimmed ETrue if dimmed
       
   849          */
       
   850          IMPORT_C void SetToolbarDimming( TBool aDimmed );
   713 
   851 
   714          /**
   852          /**
   715          * Sets toolbar loudspeaker button enabled.
   853          * Sets toolbar loudspeaker button enabled.
   716          */
   854          */
   717          IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
   855          IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
       
   856 
       
   857          /**
       
   858          * Sets toolbar handset button enabled.
       
   859          */
       
   860          IMPORT_C void SetToolbarButtonHandsetEnabled();
       
   861 
       
   862          /**
       
   863          * Sets Bluetooth handsfree button enabled.
       
   864          */
       
   865          IMPORT_C void SetToolbarButtonBTHFEnabled();  
   718          
   866          
   719          /**
       
   720          * Sets state of TitleBar Back button 
       
   721          */
       
   722          IMPORT_C void SetBackButtonActive( TBool aActive );
       
   723 
       
   724     protected:
   867     protected:
   725 
   868 
   726        /**
   869        /**
   727        * Returns updated remote information data.
   870        * Returns updated remote information data.
   728        * NOTE: This metohed is used when state receives
   871        * NOTE: This metohed is used when state receives
   737        * @param aCallId, call id.
   880        * @param aCallId, call id.
   738        */
   881        */
   739        TBool IsWaitingCallL( const TInt aCallId );
   882        TBool IsWaitingCallL( const TInt aCallId );
   740 
   883 
   741        /**
   884        /**
       
   885        * Shows dtmf dialer
       
   886        */
       
   887        void ShowDtmfDialerL();
       
   888 
       
   889        /**
   742        * Checks status of KFeatureIdSideVolumeKeys and KTelephonyLVFlagScrollVolumeKeys
   890        * Checks status of KFeatureIdSideVolumeKeys and KTelephonyLVFlagScrollVolumeKeys
   743        * keys. If KTelephonyLVFlagScrollVolumeKeys is false and KFeatureIdSideVolumeKeys is true
   891        * keys. If KTelephonyLVFlagScrollVolumeKeys is false and KFeatureIdSideVolumeKeys is true
   744        * then side volume keys are only supported and method returns true, otherwise false.
   892        * then side volume keys are only supported and method returns true, otherwise false.
   745        */
   893        */
   746        TBool OnlySideVolumeKeySupported();
   894        TBool OnlySideVolumeKeySupported();
   754        TBool IsAnyConnectedCalls();
   902        TBool IsAnyConnectedCalls();
   755 
   903 
   756     private:
   904     private:
   757 
   905 
   758         /**
   906         /**
       
   907         * Update incall indicator
       
   908         * @param aCallState a call state
       
   909         */
       
   910         void UpdateIncallIndicatorL( TInt aCallState );
       
   911 
       
   912         /**
   759         * Handle EPEMessageChangedCallDuration
   913         * Handle EPEMessageChangedCallDuration
   760         * @param aCallId call id of the message
   914         * @param aCallId call id of the message
   761         */
   915         */
   762         void HandleChangedCallDurationL( TInt aCallId );
   916         void HandleChangedCallDurationL( TInt aCallId );
   763 
   917 
   764         /**
   918         /**
   765         * Update profile display
   919         * Update profile display
   766         */
   920         */
   767         void UpdateProfileDisplayL();
   921         void UpdateProfileDisplayL();
       
   922 
       
   923         /**
       
   924         * Update operator display
       
   925         */
       
   926         void UpdateOperatorDisplayL();
   768 
   927 
   769         /**
   928         /**
   770         * Sends key down event to the phone engine
   929         * Sends key down event to the phone engine
   771         * @param aKeyEvent a key event
   930         * @param aKeyEvent a key event
   772         * @param aEventCode key event code
   931         * @param aEventCode key event code
   781         * @param aEventCode key event code
   940         * @param aEventCode key event code
   782         */
   941         */
   783         void SendKeyEventL(
   942         void SendKeyEventL(
   784             const TKeyEvent& aKeyEvent,
   943             const TKeyEvent& aKeyEvent,
   785             TEventCode aEventCode );
   944             TEventCode aEventCode );
       
   945 
       
   946         /**
       
   947         * ETrue if title pane is visible
       
   948         */
       
   949         TBool TitlePaneIsVisibleL() const;
   786 
   950 
   787         /**
   951         /**
   788         * Change Audio volume level
   952         * Change Audio volume level
   789         * @param aLevel New volume level.
   953         * @param aLevel New volume level.
   790         * @param aUpdateControl Set ETrue if volume ui control
   954         * @param aUpdateControl Set ETrue if volume ui control
   804          * Phone Engine.
   968          * Phone Engine.
   805          */
   969          */
   806         void HandleInitiatedEmergencyWhileActiveVideoL();
   970         void HandleInitiatedEmergencyWhileActiveVideoL();
   807 
   971 
   808         /**
   972         /**
       
   973         * Shows IMEI note
       
   974         */
       
   975         void HandleShowImeiL();
       
   976 
       
   977         /**
   809         * Handles network ciphering info changes
   978         * Handles network ciphering info changes
   810         */
   979         */
   811         void HandleCallSecureStatusChangeL( TInt aCallId );
   980         void HandleCallSecureStatusChangeL( TInt aCallId );
       
   981 
       
   982         /**
       
   983         * Shows Life time note
       
   984         */
       
   985         void HandleShowLifeTimerL();
   812 
   986 
   813         /**
   987         /**
   814         * Handles change als line command
   988         * Handles change als line command
   815         */
   989         */
   816         void ChangeAlsLineL();
   990         void ChangeAlsLineL();
   830 
  1004 
   831         /**
  1005         /**
   832         * Shows WLAN MAC address note
  1006         * Shows WLAN MAC address note
   833         */
  1007         */
   834         void ShowWlanMacAddressL();
  1008         void ShowWlanMacAddressL();
       
  1009 
   835 
  1010 
   836         /**
  1011         /**
   837         * Check if ALS line change is possible
  1012         * Check if ALS line change is possible
   838         */
  1013         */
   839         TBool IsAlsLineChangePossible();
  1014         TBool IsAlsLineChangePossible();
   859         * after BeginUiUpdate().
  1034         * after BeginUiUpdate().
   860         */
  1035         */
   861         static void UiUpdateCleanup(TAny* aThis );
  1036         static void UiUpdateCleanup(TAny* aThis );
   862 
  1037 
   863         /**
  1038         /**
       
  1039         * TCleanupOperation to call EndTransEffect, if leave occurs
       
  1040         * after BeginTransEffect().
       
  1041         */
       
  1042         static void EffectCleanup(TAny* aThis );
       
  1043 
       
  1044         /**
   864         * Gets volume level from ui control.
  1045         * Gets volume level from ui control.
   865         */
  1046         */
   866         TInt GetVolumeLevel();
  1047         TInt GetVolumeLevel();
   867 
  1048 
   868         /**
  1049         /**
   934         * @param aData - The returned data including needed text.
  1115         * @param aData - The returned data including needed text.
   935         * @param aResourceId - Resource id for text.
  1116         * @param aResourceId - Resource id for text.
   936         */
  1117         */
   937         void LoadResource( TDes& aData, const TInt aResource ) const;
  1118         void LoadResource( TDes& aData, const TInt aResource ) const;
   938 
  1119 
       
  1120         /**
       
  1121         * Opens virtual keyboard.
       
  1122         */
       
  1123         void OpenVkbL();
       
  1124         
       
  1125         /**
       
  1126         * Handles commands sent by easydialing plugin.
       
  1127         * @param aCommandId - command id to be handled
       
  1128         */
       
  1129         void HandleEasyDialingCommandsL( TInt aCommandId );
       
  1130         
       
  1131         /**
       
  1132         * Sets little bubble value if dialler is open.
       
  1133         */
       
  1134         void SetLittleBubbleVisibilityL(TPhoneCommandParam* aCommandParam);
       
  1135 
       
  1136     private: // NumberEntry functions.
       
  1137 
       
  1138         /**
       
  1139         * Handles key events in situations when there exists a number entry.
       
  1140         * In this case number entry may be visible or hidden.
       
  1141         * @param aKeyEvent - key event
       
  1142         * @param aEventCode - event code
       
  1143         */
       
  1144         void KeyEventForExistingNumberEntryL(
       
  1145             const TKeyEvent& aKeyEvent,
       
  1146             TEventCode aEventCode );
   939 
  1147 
   940     protected:  // Data
  1148     protected:  // Data
   941 
  1149 
   942         /**
  1150         /**
   943         * Reference to State machine
  1151         * Reference to State machine
   979         */
  1187         */
   980         CPhoneTimer* iAlsLineChangeKeyPressTimer;
  1188         CPhoneTimer* iAlsLineChangeKeyPressTimer;
   981 
  1189 
   982         // Internal variable for EikonEnv to avoid
  1190         // Internal variable for EikonEnv to avoid
   983         // use of static system calls
  1191         // use of static system calls
   984         CEikonEnv& iEnv;
  1192         CEikonEnv* iEnv; // Not owned
   985 
  1193 
   986         // Call header manager.
  1194         // Call header manager.
   987         CPhoneCallHeaderManager* iCallHeaderManager;
  1195         CPhoneCallHeaderManager* iCallHeaderManager;
   988 
  1196 
   989         // Number entry manager
  1197         // Number entry manager