phoneapp/phoneuicontrol/inc/cphonestate.h
changeset 72 c76a0b1755b9
parent 56 5bcb308bd24d
child 74 d1c62c765e48
equal deleted inserted replaced
64:6aaf0276100e 72:c76a0b1755b9
    30 
    30 
    31 // FORWARD DECLARATIONS
    31 // FORWARD DECLARATIONS
    32 class MPhoneState;
    32 class MPhoneState;
    33 class MPhoneStateMachine;
    33 class MPhoneStateMachine;
    34 class CPhoneCallHeaderManager;
    34 class CPhoneCallHeaderManager;
    35 class CPhoneTimer;
       
    36 class TPhoneCmdParamCallHeaderData;
    35 class TPhoneCmdParamCallHeaderData;
    37 class MPhoneCustomization;
    36 class MPhoneCustomization;
    38 class CPhoneNumberEntryManager;
    37 class CPhoneNumberEntryManager;
    39 
    38 
    40 enum TStateTransEffectType
    39 enum TStateTransEffectType
   110         IMPORT_C virtual void HandleKeyEventL(
   109         IMPORT_C virtual void HandleKeyEventL(
   111             const TKeyEvent& aKeyEvent,
   110             const TKeyEvent& aKeyEvent,
   112             TEventCode aEventCode );
   111             TEventCode aEventCode );
   113 
   112 
   114         /**
   113         /**
   115         * Handles key press duration events from the key event handler
       
   116         * @param aCode key event code
       
   117         * @param aKeyPressDuration key press duration
       
   118         */
       
   119         IMPORT_C virtual void HandleKeyPressDurationL(
       
   120             TKeyCode aCode,
       
   121             TTimeIntervalMicroSeconds aKeyPressDuration );
       
   122 
       
   123         /**
       
   124         * From CEikAppUi. For Idle indicator
   114         * From CEikAppUi. For Idle indicator
   125         */
   115         */
   126         IMPORT_C virtual void HandleSystemEventL(
   116         IMPORT_C virtual void HandleSystemEventL(
   127             const TWsEvent& aEvent );
   117             const TWsEvent& aEvent );
   128 
   118 
   149 
   139 
   150         /**
   140         /**
   151         * Indicates when the keylock events
   141         * Indicates when the keylock events
   152         */
   142         */
   153         IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
   143         IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
   154         
       
   155         /**
       
   156         * Handle environment changes.
       
   157         * @param aChanges environment changes which may be reported by
       
   158         *  a change notifier through the RChangeNotifier interface.
       
   159         */
       
   160         IMPORT_C void HandleEnvironmentChangeL( const TInt aChanges );
       
   161 
   144 
   162         /**
   145         /**
   163         * Handles startup of the phone application
   146         * Handles startup of the phone application
   164         */
   147         */
   165         IMPORT_C virtual void HandlePhoneStartupL();
   148         IMPORT_C virtual void HandlePhoneStartupL();
   216         *          EFalse to not. Usually setting EFalse isn't necessary
   199         *          EFalse to not. Usually setting EFalse isn't necessary
   217         *         as it's a default value in bubble creation.
   200         *         as it's a default value in bubble creation.
   218         */
   201         */
   219         IMPORT_C virtual void SetDivertIndication(
   202         IMPORT_C virtual void SetDivertIndication(
   220             const TBool aDivertIndication );
   203             const TBool aDivertIndication );
   221 
       
   222         /**
       
   223         * Handles Long hash key press
       
   224         */
       
   225         IMPORT_C void HandleLongHashL();
       
   226 
   204 
   227         /**
   205         /**
   228         * Checks whether customized dialer view is active,
   206         * Checks whether customized dialer view is active,
   229         * @return ETrue if customized dialer is active
   207         * @return ETrue if customized dialer is active
   230         */
   208         */
   459             TInt aDialogResourceId,
   437             TInt aDialogResourceId,
   460             TInt aDefaultCbaResourceId,
   438             TInt aDefaultCbaResourceId,
   461             TInt aContentCbaResourceId,
   439             TInt aContentCbaResourceId,
   462             TDes* aDataText,
   440             TDes* aDataText,
   463             TBool aSendKeyEnabled = EFalse );
   441             TBool aSendKeyEnabled = EFalse );
   464 
   442         
   465         /**
       
   466         * Handle numeric key event
       
   467         */
       
   468         IMPORT_C virtual void HandleNumericKeyEventL(
       
   469             const TKeyEvent& aKeyEvent,
       
   470             TEventCode aEventCode );
       
   471 
       
   472         /**
   443         /**
   473         * Check if the application needs to be sent to the background
   444         * Check if the application needs to be sent to the background
   474         * @return boolean value indicating that application needs to be
   445         * @return boolean value indicating that application needs to be
   475         *  sent to the background
   446         *  sent to the background
   476         */
   447         */
   479         /**
   450         /**
   480         * Check if the top application is currently displayed in the foreground
   451         * Check if the top application is currently displayed in the foreground
   481         * @return boolean value indicating that top app is displayed
   452         * @return boolean value indicating that top app is displayed
   482         */
   453         */
   483         IMPORT_C TBool TopAppIsDisplayedL() const;
   454         IMPORT_C TBool TopAppIsDisplayedL() const;
   484 
       
   485         /**
       
   486         * Capture keys during call notifications (dialing, incoming, waiting)
       
   487         * @param aCaptured ETrue if keys are to be captured
       
   488         */
       
   489         IMPORT_C void CaptureKeysDuringCallNotificationL( TBool aCaptured );
       
   490 
   455 
   491         /**
   456         /**
   492         * Displays the call termination note, if required
   457         * Displays the call termination note, if required
   493         */
   458         */
   494         IMPORT_C void DisplayCallTerminationNoteL();
   459         IMPORT_C void DisplayCallTerminationNoteL();
   523 
   488 
   524         /**
   489         /**
   525         * Return SimState.
   490         * Return SimState.
   526         */
   491         */
   527         IMPORT_C TPESimState SimState() const;
   492         IMPORT_C TPESimState SimState() const;
   528 
       
   529         /**
       
   530         * Starts ALS line change timer.
       
   531         * This should be called after receiving long keypress
       
   532         * which is 0.8 seconds. ALS line change timer ticks
       
   533         * 2.2 seconds before callback is called.
       
   534         */
       
   535         IMPORT_C void StartAlsLineChangeTimerL();
       
   536 
   493 
   537         /**
   494         /**
   538         * Start show security note
   495         * Start show security note
   539         * This should be called in startup and idle state
   496         * This should be called in startup and idle state
   540         * if sim state not ok
   497         * if sim state not ok
   575         * Sets the call header type used in the call bubble.
   532         * Sets the call header type used in the call bubble.
   576         */
   533         */
   577         IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
   534         IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
   578 
   535 
   579         /**
   536         /**
   580         * Handles situation when hash key has been kept down long
       
   581         * (long keypress) and the hash character is the only character
       
   582         * in number entry.
       
   583         */
       
   584         IMPORT_C virtual void OnlyHashInNumberEntryL();
       
   585 
       
   586         /**
       
   587         * Informs view that UI is being updated (call bubble or number editor).
   537         * Informs view that UI is being updated (call bubble or number editor).
   588         * EndUiUpdate() must be called when update is done.
   538         * EndUiUpdate() must be called when update is done.
   589         */
   539         */
   590         IMPORT_C void BeginUiUpdateLC();
   540         IMPORT_C void BeginUiUpdateLC();
   591 
   541 
   680 
   630 
   681         /**
   631         /**
   682         * Clears the number entry content cache
   632         * Clears the number entry content cache
   683         */
   633         */
   684         IMPORT_C void ClearNumberEntryContentCache();
   634         IMPORT_C void ClearNumberEntryContentCache();
   685 
       
   686         /**
       
   687         * Restores number entry content after dtmf dialer
       
   688         */
       
   689         IMPORT_C void CheckIfRestoreNEContentAfterDtmfDialer();
       
   690 
       
   691         /**
       
   692          * Checks if on screen dialer feature is supported.
       
   693          */
       
   694         IMPORT_C TBool IsOnScreenDialerSupported() const;
       
   695 
   635 
   696         /**
   636         /**
   697          * Returns ETrue if alphanumeric characters are supported.
   637          * Returns ETrue if alphanumeric characters are supported.
   698          * @param aKeyEvent Key event.
   638          * @param aKeyEvent Key event.
   699          * @return ETrue if alphanumeric chars are supported.
   639          * @return ETrue if alphanumeric chars are supported.
   760         * @param aCallId call id of the message
   700         * @param aCallId call id of the message
   761         */
   701         */
   762         void HandleChangedCallDurationL( TInt aCallId );
   702         void HandleChangedCallDurationL( TInt aCallId );
   763 
   703 
   764         /**
   704         /**
   765         * Update profile display
       
   766         */
       
   767         void UpdateProfileDisplayL();
       
   768 
       
   769         /**
       
   770         * Sends key down event to the phone engine
   705         * Sends key down event to the phone engine
   771         * @param aKeyEvent a key event
   706         * @param aKeyEvent a key event
   772         * @param aEventCode key event code
   707         * @param aEventCode key event code
   773         */
   708         */
   774         void SendKeyPressL(
   709         void SendKeyPressL(
   817 
   752 
   818         /**
   753         /**
   819         * Active call id
   754         * Active call id
   820         */
   755         */
   821         TInt GetActiveCallIdL();
   756         TInt GetActiveCallIdL();
   822 
       
   823         /**
       
   824         * Callback function for launching ALS line change dialog
       
   825         * This is called when Als line change timer timeout is
       
   826         * reached which means user has pushed the #-key long enough.
       
   827         * @param aAny - not used
       
   828         */
       
   829         static TInt AlsLineChangeTimerCallbackL( TAny* aAny );
       
   830 
   757 
   831         /**
   758         /**
   832         * Shows WLAN MAC address note
   759         * Shows WLAN MAC address note
   833         */
   760         */
   834         void ShowWlanMacAddressL();
   761         void ShowWlanMacAddressL();
   884         /**
   811         /**
   885          * Handles changes in the SIM card state.
   812          * Handles changes in the SIM card state.
   886          */
   813          */
   887         void HandleSimStateChangedL();
   814         void HandleSimStateChangedL();
   888 
   815 
   889         /**
       
   890          * Checks if key events are allowed to be redirected for further handling
       
   891          */
       
   892         TBool IsKeyEventFurtherProcessedL( const TKeyEvent& aKeyEvent ) const;
       
   893 
       
   894         /*
   816         /*
   895          * Checks is given key contains numeric charaters or if customization is used
   817          * Checks is given key contains numeric charaters or if customization is used
   896          * alphanumeir letters
   818          * alphanumeir letters
   897         */
   819         */
   898         TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
   820         TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
   899                 TEventCode aEventCode );
   821                 TEventCode aEventCode );
   900 
   822 
   901         /*
   823         /*
   902          * Updates CBA using either customization or resource resolver
       
   903          */
       
   904         void CustomizeCbaForPhoneNumberL();
       
   905 
       
   906         /*
       
   907          * Checks if Touch dialer is on in DTMF mode.
       
   908          */
       
   909         TBool IsTouchDTmfDialerOn() const;
       
   910 
       
   911         /*
       
   912          * Checks if keyevent is from dtmf key and sends it to phone-engine
   824          * Checks if keyevent is from dtmf key and sends it to phone-engine
   913          */
   825          */
   914         void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
   826         void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
   915                 TEventCode aEventCode  );
   827                 TEventCode aEventCode  );
   916 
   828 
   949         */
   861         */
   950         MPhoneViewCommandHandle* iViewCommandHandle;
   862         MPhoneViewCommandHandle* iViewCommandHandle;
   951 
   863 
   952     protected:
   864     protected:
   953 
   865 
   954         //Indicates whether onscreen dialer is defined
       
   955         TBool iOnScreenDialer;
       
   956 
       
   957         /**
   866         /**
   958         * Customization of functionality according to e.g.
   867         * Customization of functionality according to e.g.
   959         * call type specific needs.
   868         * call type specific needs.
   960         * Not own.
   869         * Not own.
   961         */
   870         */
   971          */
   880          */
   972         TPESimState iPreviousSimState;
   881         TPESimState iPreviousSimState;
   973 
   882 
   974         // Bitmap redraw counter
   883         // Bitmap redraw counter
   975         TInt iBitmapRedrawCounter;
   884         TInt iBitmapRedrawCounter;
   976 
       
   977         /**
       
   978         * Timer for ALS line change.
       
   979         */
       
   980         CPhoneTimer* iAlsLineChangeKeyPressTimer;
       
   981 
   885 
   982         // Internal variable for EikonEnv to avoid
   886         // Internal variable for EikonEnv to avoid
   983         // use of static system calls
   887         // use of static system calls
   984         CEikonEnv& iEnv;
   888         CEikonEnv& iEnv;
   985 
   889