phoneapp/phoneuicontrol/inc/cphonestate.h
branchRCL_3
changeset 24 41a7f70b3818
parent 23 40a3f856b14d
child 25 5266b1f337bd
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h	Thu Aug 19 09:54:27 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h	Tue Aug 31 15:14:29 2010 +0300
@@ -24,9 +24,6 @@
 #include <w32std.h>
 #include <remconcoreapitargetobserver.h>
 #include <MProfileEngine.h>
-#include <bmbubblemanager.h>
-#include <eikenv.h>
-
 #include "mphonestate.h"
 #include "mphoneviewcommandhandle.h"
 #include "cphonecbamanager.h"
@@ -43,12 +40,6 @@
 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.
-    // These cannot be used for internal transitions (=call ui<->dialer).
     ENumberEntryOpen,
     ENumberEntryClose,
     ENumberEntryCreate
@@ -130,26 +121,6 @@
             TTimeIntervalMicroSeconds aKeyPressDuration );
 
         /**
-        * From CAknAppUi, initialise a menupane (dynamic).
-        *
-        * @param aResourceId It is the resource id for the pane.
-        * @param aMenuPane It is the menu pane corresponding to the resource.
-        */
-        IMPORT_C virtual void DynInitMenuPaneL(
-            TInt aResourceId,
-            CEikMenuPane* aMenuPane );
-
-        /**
-        * From CAknAppUi, initialise a menubar (dynamic).
-        *
-        * @param aResourceId It is the resource id for the bar.
-        * @param aMenuBar It is the menu bar corresponding to the resource.
-        */
-        IMPORT_C virtual void DynInitMenuBarL(
-            TInt aResourceId,
-            CEikMenuBar* aMenuBar );
-
-        /**
         * From CEikAppUi. For Idle indicator
         */
         IMPORT_C virtual void HandleSystemEventL(
@@ -177,6 +148,11 @@
         IMPORT_C virtual void HandleIdleForegroundEventL();
 
         /**
+        * Indicates when the keylock events
+        */
+        IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
+        
+        /**
         * Handle environment changes.
         * @param aChanges environment changes which may be reported by
         *  a change notifier through the RChangeNotifier interface.
@@ -235,35 +211,26 @@
             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();
 
         /**
-        * Informs view to start Transition effect if effect
-        * type is feasible for current state.
-        * @param aType a transition effect, default none
-        * EndTransEffect() must be called when update is done.
-        */
-        IMPORT_C void BeginTransEffectLC( TStateTransEffectType aType = ENoneType );
-
-        /**
-        * Informs view to complete Transition effect
-        */
-        IMPORT_C void EndTransEffect();
-
-        /**
         * Checks whether customized dialer view is active,
         * @return ETrue if customized dialer is active
         */
         IMPORT_C TBool IsCustomizedDialerVisibleL() const;
 
         /**
-        * Closes customized dialer view
-        */
-        IMPORT_C void CloseCustomizedDialerL();
-
-        /**
          * Plays DTMF tone for key event
          * */
         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
@@ -272,16 +239,58 @@
         /**
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification
+        *        dialog should be used.
         */
-        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
         /**
         * Show global ErrorNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification
+        *        dialog should be used.
         */
-        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
+
+        /**
+         * Get blocked key list
+         * @returns RArray<TInt>& lsit of blocked keys 
+         */
+        IMPORT_C const RArray<TInt>& GetBlockedKeyList() const;
+
+        /**
+         * Disable HW Keys if needed
+         */
+        IMPORT_C void DisableHWKeysL();
+
+        /**
+         * Disable Call UI
+         */
+        IMPORT_C void DisableCallUIL();
 
         /**
+         * Enable Call UI
+         */
+        IMPORT_C void EnableCallUIL();
+
+        /**
+         * Disable HW Keys and Call UI if needed
+         */
+        IMPORT_C void CheckDisableHWKeysAndCallUIL();
+
+        /**
+         * Handle hold switch key event when there is an incoming or waiting call
+         */
+        IMPORT_C void HandleHoldSwitchL();
+        
+        /**
+         * Enable HW Keys and Call UI if needed
+         */
+        IMPORT_C void CheckEnableHWKeysAndCallUIL();
+        
+        /**
         * Fetches autolock information - is it set on or not
         * @return is autolock set on (ETrue) or off (EFalse)
         */
@@ -306,18 +315,6 @@
         */
         IMPORT_C TBool IsAnyQueryActiveL();
 
-        /**
-        * Check if menu bar is visible
-        * @return boolean value indicating that menu bar is visible
-        */
-        IMPORT_C TBool IsMenuBarVisibleL() const;
-
-        /**
-         * Sets context menu to correspond the incall options menu
-         *
-         */
-        IMPORT_C virtual void UpdateInCallContextMenuL();
-
         /*
         * If KFeatureIdFfSimlessOfflineSupport is undefined and
         * UI shows note which will be closed by key event then
@@ -325,39 +322,11 @@
         */
         TBool IsNoteDismissableL();
 
-        /**
-        * Check if possible dialer extension is in focus
-        * @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();
+        IMPORT_C void RetainPreviousKeylockStateL();
         
-        /**
-        * 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.
 
         /**
-        * Passes create number entry command forward if NE can be created.
-        */
-        IMPORT_C virtual void HandleCreateNumberEntryL(
-                const TKeyEvent& aKeyEvent,
-                TEventCode aEventCode );
-        /**
         * Check if number entry is used
         * @return boolean value indicating that number entry is used
         */
@@ -368,11 +337,6 @@
         * @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:
 
@@ -409,7 +373,7 @@
         /**
         * Disconnect call
         */
-        IMPORT_C virtual void DisconnectCallL();
+        IMPORT_C TBool DisconnectCallL();
 
         /**
         * Display idle screen
@@ -433,15 +397,15 @@
             TInt aCallId,
             TInt aWaitingCall );
 
-		/**
+        /**
         * Sets call header texts for call coming in
         * @param aCallid call id
         * @param aWaitingCall waiting call indication
-		* @param aCallHeaderData - Call header parameter into which the text
+        * @param aCallHeaderData - Call header parameter into which the text
         *                          will be set.
         */
         IMPORT_C void SetCallHeaderTextsForCallComingInL(
-			TInt aCallId,
+            TInt aCallId,
             TBool aWaitingCall,
             TPhoneCmdParamCallHeaderData* aCallHeaderData );
 
@@ -472,21 +436,6 @@
         IMPORT_C void GetRemoteInfoDataL( TInt aCallId, TDes& aData );
 
         /**
-         * Sets context menu
-         *
-         * @param aResourceId   resource
-         */
-        IMPORT_C virtual void SetContextMenuL( TInt aResourceId );
-
-        /**
-         * Sets context menu to correspond the incoming options menu
-         *
-         * @param aCallId   incoming call id
-         */
-        IMPORT_C virtual void UpdateIncomingContextMenuL( TInt aCallId );
-
-
-        /**
         * Show note
         * @param aResourceId resource id to be resolved
         */
@@ -514,12 +463,6 @@
             TBool aSendKeyEnabled = EFalse );
 
         /**
-        * Check if note is visible
-        * @return boolean value indicating that note is visible
-        */
-        IMPORT_C TBool IsNoteVisibleL();
-
-        /**
         * Handle numeric key event
         */
         IMPORT_C virtual void HandleNumericKeyEventL(
@@ -531,11 +474,11 @@
         * @return boolean value indicating that application needs to be
         *  sent to the background
         */
-        IMPORT_C TBool NeedToReturnToForegroundAppL() const;
+        IMPORT_C TBool NeedToSendToBackgroundL() const;
 
         /**
-        * Check if the top application is idle or phone app.
-        * @return boolean value indicating that top app is idle/phone application.
+        * Check if the top application is currently displayed in the foreground
+        * @return boolean value indicating that top app is displayed
         */
         IMPORT_C TBool TopAppIsDisplayedL() const;
 
@@ -565,8 +508,11 @@
          /**
         * Show global WarningNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification dialog
+        *                            should be used.
         */
-        IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
         /**
         * Checks is the call id a video call.
@@ -628,7 +574,7 @@
         /**
         * Sets the call header type used in the call bubble.
         */
-        IMPORT_C void SetCallHeaderType( const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType );
+        IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
 
         /**
         * Handles situation when hash key has been kept down long
@@ -664,42 +610,10 @@
         IMPORT_C void SetTouchPaneButtons( TInt aResourceId );
 
         /*
-        * Sets touchpane visibility.
-        *
-        * @param ETrue if visible otherwise EFalse.
-        */
-        IMPORT_C void SetTouchPaneVisible( TBool aVisible );
-
-        /*
         * Destroys touchpane buttons.
         */
         IMPORT_C void DeleteTouchPaneButtons();
 
-        /*
-        * Enables touchpane button that holds given command id.
-        *
-        * @param aCommandId Command id.
-        */
-        IMPORT_C void SetTouchPaneButtonEnabled( TInt aCommandId );
-
-        /*
-        * Disables touchpane button that holds given command id.
-        *
-        * @param aCommandId Command id.
-        */
-        IMPORT_C void SetTouchPaneButtonDisabled( TInt aCommandId );
-
-        /*
-        * Checks if DTMF editor is active,
-        * @return true is DTMF is active
-        */
-        IMPORT_C TBool IsDTMFEditorVisibleL() const;
-
-        /**
-        * Closes dtmf editor.
-        */
-        IMPORT_C void CloseDTMFEditorL();
-
         /**
         * Set default flags values.
         * No active call
@@ -723,40 +637,11 @@
         * @param aCallId: the call id of the call
         */
         IMPORT_C void HandleDisconnectingL( TInt aCallId );
-
-        /**
-        * Returns customized dialer menu resource id
-        */
-        IMPORT_C TInt CustomizedDialerMenuResourceIdL();
-
-        /**
-        * Returns customized dialer CBA resource id
-        */
-        IMPORT_C TInt CustomizedDialerCbaResourceIdL();
         
         /**
-        * Forwards Phone Engine messages to Phone customization
-        * @param aMessage Message from Phone Engine
-        * @param aCallId Call id the message concerns
-        * @return ETrue if message was handled
+        * Opens soft reject message editor.
         */
-        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 );
+        IMPORT_C virtual void OpenSoftRejectMessageEditorL();
 
     protected: // NumberEntry functions.
 
@@ -794,11 +679,6 @@
         IMPORT_C void StoreNumberEntryContentL();
 
         /**
-        * Restores the number entry content from the cache
-        */
-        IMPORT_C void RestoreNumberEntryContentL();
-
-        /**
         * Clears the number entry content cache
         */
         IMPORT_C void ClearNumberEntryContentCache();
@@ -814,11 +694,6 @@
         IMPORT_C TBool IsOnScreenDialerSupported() const;
 
         /**
-        * Informs phoneengine that phone number has been edited i.e. phonenumber parser is run
-        */
-        IMPORT_C virtual  void HandleNumberEntryEdited();
-
-        /**
          * Returns ETrue if alphanumeric characters are supported.
          * @param aKeyEvent Key event.
          * @return ETrue if alphanumeric chars are supported.
@@ -835,35 +710,17 @@
          * Internal number entry handling methods.
          */
          void NumberEntryClearL();
-         
-		  
-         /**
-         * Dims silence touch button if call is not alerting.
-         * @param None
-         */
-         IMPORT_C void UpdateSilenceButtonDimming();
-
-         /**
-         * Sets toolbar dimming.
-         * @param aDimmed ETrue if dimmed
-         */
-         IMPORT_C void SetToolbarDimming( TBool aDimmed );
 
          /**
          * Sets toolbar loudspeaker button enabled.
          */
          IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
-
+         
          /**
-         * Sets toolbar handset button enabled.
+         * Sets state of TitleBar Back button 
          */
-         IMPORT_C void SetToolbarButtonHandsetEnabled();
+         IMPORT_C void SetBackButtonActive( TBool aActive );
 
-         /**
-         * Sets Bluetooth handsfree button enabled.
-         */
-         IMPORT_C void SetToolbarButtonBTHFEnabled();  
-         
     protected:
 
        /**
@@ -882,11 +739,6 @@
        TBool IsWaitingCallL( const TInt aCallId );
 
        /**
-       * Shows dtmf dialer
-       */
-       void ShowDtmfDialerL();
-
-       /**
        * Checks status of KFeatureIdSideVolumeKeys and KTelephonyLVFlagScrollVolumeKeys
        * keys. If KTelephonyLVFlagScrollVolumeKeys is false and KFeatureIdSideVolumeKeys is true
        * then side volume keys are only supported and method returns true, otherwise false.
@@ -904,12 +756,6 @@
     private:
 
         /**
-        * Update incall indicator
-        * @param aCallState a call state
-        */
-        void UpdateIncallIndicatorL( TInt aCallState );
-
-        /**
         * Handle EPEMessageChangedCallDuration
         * @param aCallId call id of the message
         */
@@ -921,11 +767,6 @@
         void UpdateProfileDisplayL();
 
         /**
-        * Update operator display
-        */
-        void UpdateOperatorDisplayL();
-
-        /**
         * Sends key down event to the phone engine
         * @param aKeyEvent a key event
         * @param aEventCode key event code
@@ -944,11 +785,6 @@
             TEventCode aEventCode );
 
         /**
-        * ETrue if title pane is visible
-        */
-        TBool TitlePaneIsVisibleL() const;
-
-        /**
         * Change Audio volume level
         * @param aLevel New volume level.
         * @param aUpdateControl Set ETrue if volume ui control
@@ -970,21 +806,11 @@
         void HandleInitiatedEmergencyWhileActiveVideoL();
 
         /**
-        * Shows IMEI note
-        */
-        void HandleShowImeiL();
-
-        /**
         * Handles network ciphering info changes
         */
         void HandleCallSecureStatusChangeL( TInt aCallId );
 
         /**
-        * Shows Life time note
-        */
-        void HandleShowLifeTimerL();
-
-        /**
         * Handles change als line command
         */
         void ChangeAlsLineL();
@@ -1007,7 +833,6 @@
         */
         void ShowWlanMacAddressL();
 
-
         /**
         * Check if ALS line change is possible
         */
@@ -1036,12 +861,6 @@
         static void UiUpdateCleanup(TAny* aThis );
 
         /**
-        * TCleanupOperation to call EndTransEffect, if leave occurs
-        * after BeginTransEffect().
-        */
-        static void EffectCleanup(TAny* aThis );
-
-        /**
         * Gets volume level from ui control.
         */
         TInt GetVolumeLevel();
@@ -1117,33 +936,6 @@
         */
         void LoadResource( TDes& aData, const TInt aResource ) const;
 
-        /**
-        * Opens virtual keyboard.
-        */
-        void OpenVkbL();
-        
-        /**
-        * Handles commands sent by easydialing plugin.
-        * @param aCommandId - command id to be handled
-        */
-        void HandleEasyDialingCommandsL( TInt aCommandId );
-        
-        /**
-        * Sets little bubble value if dialler is open.
-        */
-        void SetLittleBubbleVisibilityL(TPhoneCommandParam* aCommandParam);
-
-    private: // NumberEntry functions.
-
-        /**
-        * Handles key events in situations when there exists a number entry.
-        * In this case number entry may be visible or hidden.
-        * @param aKeyEvent - key event
-        * @param aEventCode - event code
-        */
-        void KeyEventForExistingNumberEntryL(
-            const TKeyEvent& aKeyEvent,
-            TEventCode aEventCode );
 
     protected:  // Data
 
@@ -1189,7 +981,7 @@
 
         // Internal variable for EikonEnv to avoid
         // use of static system calls
-        CEikonEnv* iEnv; // Not owned
+        CEikonEnv& iEnv;
 
         // Call header manager.
         CPhoneCallHeaderManager* iCallHeaderManager;