--- a/phoneapp/phoneuicontrol/inc/cphonestate.h Fri May 14 15:51:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1192 +0,0 @@
-/*
-* Copyright (c) 2005-2008 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:
-* A base class for an object implementing the state.
-*
-*/
-
-
-#ifndef CPHONESTATE_H
-#define CPHONESTATE_H
-
-// INCLUDES
-#include <w32std.h>
-#include <remconcoreapitargetobserver.h>
-#include <MProfileEngine.h>
-#include "mphonestate.h"
-#include "mphoneviewcommandhandle.h"
-#include "cphonecbamanager.h"
-
-// FORWARD DECLARATIONS
-class MPhoneState;
-class MPhoneStateMachine;
-class CPhoneCallHeaderManager;
-class CPhoneTimer;
-class TPhoneCmdParamCallHeaderData;
-class MPhoneCustomization;
-class CPhoneNumberEntryManager;
-
-enum TStateTransEffectType
- {
- ENoneType,
- ENumberEntryOpen,
- ENumberEntryClose,
- ENumberEntryCreate
- };
-
-// CLASS DECLARATION
-
-/**
-* An abstract class for an object implementing the state.
-*
-*/
-class CPhoneState :
- public CBase,
- public MPhoneState
- {
- public:
-
- /**
- * Constructor
- */
- IMPORT_C CPhoneState(
- MPhoneStateMachine* aStateMachine,
- MPhoneViewCommandHandle* aViewCommandHandle,
- MPhoneCustomization* aCustomization);
-
- /**
- * Creates CbaManager instance.
- */
- IMPORT_C void BaseConstructL();
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CPhoneState();
-
- /**
- * A message handling function for Phone Engine messages
- * @param aMessage Message from Phone Engine
- * @param aCallId Call id the message concerns
- */
- IMPORT_C virtual void HandlePhoneEngineMessageL(
- const TInt aMessage,
- TInt aCallId );
-
- /**
- * HandleError
- * Implements error handling framework
- * @param aErrorInfo: the error info
- */
- IMPORT_C virtual void HandleErrorL(
- const TPEErrorInfo& aErrorInfo );
-
- /**
- * Handle processed (short, long) key messages from the key event
- * handler
- * @param aMessage a key message
- * @param aCode key event code
- */
- IMPORT_C virtual void HandleKeyMessageL(
- TPhoneKeyEventMessages aMessage,
- TKeyCode aCode );
-
- /**
- * Handles raw key events from the key event handler
- * @param aKeyEvent a key event
- * @param aEventCode key event code
- */
- IMPORT_C virtual void HandleKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aEventCode );
-
- /**
- * Handles key press duration events from the key event handler
- * @param aCode key event code
- * @param aKeyPressDuration key press duration
- */
- IMPORT_C virtual void HandleKeyPressDurationL(
- TKeyCode aCode,
- 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(
- const TWsEvent& aEvent );
-
- /**
- * From CAknAppUi, indicates when app ui is on the foreground.
- * @param aForeground It is true if app is on the foreground.
- */
- IMPORT_C virtual void HandleForegroundEventL( TBool aForeground );
-
- /**
- * Indicates when the Phone app is in the foreground.
- */
- IMPORT_C virtual void HandlePhoneForegroundEventL();
-
- /**
- * Indicates when the Phone app is losing focus.
- */
- IMPORT_C virtual void HandlePhoneFocusLostEventL();
-
- /**
- * Indicates when the Idle app is in the foreground.
- */
- 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.
- */
- IMPORT_C void HandleEnvironmentChangeL( const TInt aChanges );
-
- /**
- * Handles startup of the phone application
- */
- IMPORT_C virtual void HandlePhoneStartupL();
-
- /**
- * This function is called when there is property value change.
- * @param aCategory Category of the property
- * @param aKey Property key that is changed
- * @param aValue New property value
- */
- IMPORT_C virtual void HandlePropertyChangedL(
- const TUid& aCategory,
- const TUint aKey,
- const TInt aValue );
-
- /**
- * Handle the change of the setting from Central Repository
- * @param aUid identifing the central repository UID.
- * @param aId central repository ID.
- */
- IMPORT_C virtual void HandleCenRepChangeL(
- const TUid& aUid,
- const TUint aId );
-
- /**
- * Handles commands.
- * @param aCommand It is the code of the command to be handled.
- * @returns boolean value was the command handled by the state
- * (ETrue) or not (EFalse)
- */
- IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
-
- /**
- * Processes command.
- * @param aCommand It is the code of the command to be handled.
- * @returns boolean value was the command handled by the state
- * (ETrue) or not (EFalse)
- */
- IMPORT_C virtual TBool ProcessCommandL( TInt aCommand );
-
- /**
- * Handles commands from the Remote Control framework.
- * @param aOperationId The operation ID of the command.
- * @param aButtonAct The button action associated with the command.
- * @return ETrue if the event was handled, EFalse otherwise.
- */
- IMPORT_C virtual TBool HandleRemConCommandL(
- TRemConCoreApiOperationId aOperationId,
- 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
- * @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,
- TEventCode aEventCode );
-
- /**
- * Show global InfoNote
- * @param aResourceId resource id to be resolved
- */
- IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
-
- /**
- * Show global ErrorNote
- * @param aResourceId resource id to be resolved
- */
- IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId );
-
- /**
- * 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)
- */
- IMPORT_C TBool IsAutoLockOn() const;
-
- /**
- * Return is sim state ok
- * @return ETrue if is sim ok, otherwise EFalse
- **/
- IMPORT_C TBool IsSimOk();
-
- /**
- * Checks Svivel state.
- * @return ETrue if swivel is closed.
- */
- IMPORT_C TBool IsSwivelClosed() const;
-
- /**
- * Check if note, query or blockingDialog is visible
- * @return boolean value indicating that note, query or
- * blocking dialog is visible
- */
- 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
- * method return ETrue otherwise EFalse.
- */
- TBool IsNoteDismissableL();
-
- IMPORT_C void RetainPreviousKeylockStateL();
-
- 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
- */
- IMPORT_C virtual TBool IsNumberEntryUsedL();
-
- /**
- * Check if number entry is visible
- * @return boolean value indicating that number entry is visible
- */
- IMPORT_C TBool IsNumberEntryVisibleL();
-
- protected:
-
- /**
- * Handle EPEMessageAudioMuteChanged
- */
- IMPORT_C void HandleAudioMuteChangedL();
-
- /**
- * Handle EPEMessageAudioOutputChanged
- */
- IMPORT_C void HandleAudioOutputChangedL();
-
- /**
- * Handle SideVolumeKeyInc
- */
- IMPORT_C void IncreaseAudioVolumeL();
-
- /**
- * Handle SideVolumeKeyDec
- */
- IMPORT_C void DecreaseAudioVolumeL();
-
- /**
- * Dial CS multimedia call
- */
- IMPORT_C void DialMultimediaCallL();
-
- /**
- * Dial CS voice call
- */
- IMPORT_C void DialVoiceCallL();
-
- /**
- * Disconnect call
- */
- IMPORT_C TBool DisconnectCallL();
-
- /**
- * Display idle screen
- */
- IMPORT_C void DisplayIdleScreenL();
-
- /**
- * Set up the Idle screen in the background for the cases
- * where the phone is no longer the top application (eg. end
- * call when an external app is being displayed)
- */
- IMPORT_C void SetupIdleScreenInBackgroundL();
-
- /**
- * Display call header for call coming in ( the remote info data
- * and picture is displayed immediately )
- * @param aCallid call id
- * @param aWaitingCall waiting call indication
- */
- IMPORT_C void DisplayHeaderForCallComingInL(
- 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
- * will be set.
- */
- IMPORT_C void SetCallHeaderTextsForCallComingInL(
- TInt aCallId,
- TBool aWaitingCall,
- TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
- /**
- * Display call header for outgoing call (the phone number is initially
- * displayed)
- * @param aCallid call id
- */
- IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId );
-
- /**
- * Update Single Active Call
- * @param aCallid call id
- */
- IMPORT_C void UpdateSingleActiveCallL( TInt aCallId );
-
- /**
- * Update remote information data in the call header
- * @param aCallid call id
- */
- IMPORT_C void UpdateRemoteInfoDataL( TInt aCallId );
-
- /**
- * Return remote info data
- * @param aCallid call id
- * @param aData the returned remote info data
- */
- 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
- */
- IMPORT_C void ShowNoteL( TInt aResourceId );
-
- /**
- * Show query
- * @param aResourceId resource id to be resolved
- */
- IMPORT_C void ShowQueryL( TInt aResourceId );
-
- /**
- * Show text query
- * @param aDialogResourceId dialog's resource id
- * @param aDefaultCbaResourceId default CBA's resource id
- * @param aContentCbaResourceId content CBA's resource id
- * @param aDataText pointer to data text
- * @param aSendKeyEnabled send key enabled status for the query
- */
- IMPORT_C void ShowTextQueryL(
- TInt aDialogResourceId,
- TInt aDefaultCbaResourceId,
- TInt aContentCbaResourceId,
- TDes* aDataText,
- 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(
- const TKeyEvent& aKeyEvent,
- TEventCode aEventCode );
-
- /**
- * Check if the application needs to be sent to the background
- * @return boolean value indicating that application needs to be
- * sent to the background
- */
- IMPORT_C TBool NeedToSendToBackgroundL() const;
-
- /**
- * 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;
-
- /**
- * Capture keys during call notifications (dialing, incoming, waiting)
- * @param aCaptured ETrue if keys are to be captured
- */
- IMPORT_C void CaptureKeysDuringCallNotificationL( TBool aCaptured );
-
- /**
- * Displays the call termination note, if required
- */
- IMPORT_C void DisplayCallTerminationNoteL();
-
- /**
- * Set the handsfree mode
- * @param aHandsfreeMode ETrue to activate IHF, EFalse to deactivate
- */
- IMPORT_C void SetHandsfreeModeL( TBool aHandsfreeMode );
-
- /**
- * Set the BT handsfree mode
- * @param aHandsfreeMode ETrue to activate BT, EFalse to deactivate
- */
- IMPORT_C void SetBTHandsfreeModeL( TBool aHandsfreeMode );
-
- /**
- * Show global WarningNote
- * @param aResourceId resource id to be resolved
- */
- IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
-
- /**
- * Checks is the call id a video call.
- * @param aCallId - call id to be checked
- * @return ETrue if video call id, otherwise EFalse
- */
- IMPORT_C TBool IsVideoCall( const TInt aCallId );
-
- /**
- * Return SimState.
- */
- IMPORT_C TPESimState SimState() const;
-
- /**
- * Starts ALS line change timer.
- * This should be called after receiving long keypress
- * which is 0.8 seconds. ALS line change timer ticks
- * 2.2 seconds before callback is called.
- */
- IMPORT_C void StartAlsLineChangeTimerL();
-
- /**
- * Start show security note
- * This should be called in startup and idle state
- * if sim state not ok
- */
- IMPORT_C void StartShowSecurityNoteL();
-
- /**
- * Check if the sim card state is EPESimNotPresent with
- * the security mode is enabled.
- * @return ETrue if the sim card state is EPESimNotPresent and
- * the security mode is enabled, otherwise EFalse
- **/
- IMPORT_C TBool IsSimStateNotPresentWithSecurityModeEnabled();
-
- /**
- * Handle audio output availability change
- */
- void HandleAudioAvailableOutputChangedL();
-
- /**
- * Shows 'Number busy' note.
- */
- IMPORT_C void ShowNumberBusyNoteL();
-
- /**
- * Fetches keylock information - is it set on or not
- * @return is keylock set on (ETrue) or off (EFalse)
- */
- IMPORT_C TBool IsKeyLockOn() const;
-
- /**
- * Informs Phone Engine Sat request completion
- * @param aCallId a call id
- */
- IMPORT_C void CompleteSatRequestL( const TInt aCallId );
-
- /**
- * Sets the call header type used in the call bubble.
- */
- IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
-
- /**
- * Handles situation when hash key has been kept down long
- * (long keypress) and the hash character is the only character
- * in number entry.
- */
- IMPORT_C virtual void OnlyHashInNumberEntryL();
-
- /**
- * Informs view that UI is being updated (call bubble or number editor).
- * EndUiUpdate() must be called when update is done.
- */
- IMPORT_C void BeginUiUpdateLC();
-
- /**
- * Informs view that UI update is completed.
- */
- IMPORT_C void EndUiUpdate();
-
- /*
- * Checks if necessary to show call termination note
- *
- * @param aCallId call id
- * @return true if note should be shown
- */
- IMPORT_C virtual TBool CheckIfShowCallTerminationNote( );
-
- /*
- * Sets used touchpane buttons.
- *
- * @param touchpane resource id.
- */
- 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
- */
- IMPORT_C void SetDefaultFlagsL();
-
- /**
- * Check if contact info available and
- * shown waiting note with or without caller name
- */
- IMPORT_C void CallWaitingNoteL( TInt aCallId );
-
- /*
- * Sets ringtone playback.
- * @param aCallId call id
- */
- IMPORT_C void SetRingingTonePlaybackL( TInt aCallId );
-
- /**
- * A message handling function for message EPEMessageDisconnecting
- * @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();
-
- /**
- * Opens soft reject message editor.
- */
- IMPORT_C virtual void OpenSoftRejectMessageEditorL();
-
- protected: // NumberEntry functions.
-
- /**
- * Set Number Entry visibility.
- * @param aVisible ETrue if numberentry is wanted to be shown
- * (Note ETrue will set NE CBA's)
- * EFalse if numberentry isnt wanted to be shown
- * (Note EFalse doesnt affact to CBA's)
- */
- IMPORT_C void SetNumberEntryVisibilityL( const TBool aVisible );
-
- /**
- * Create call if in numberentry more that 2 number and Send key
- * Send manual control sequence
- * if 1-2 number in numberentry and Send key
- */
- IMPORT_C void CallFromNumberEntryL();
-
- /**
- * Returns phone number from the phone number entry.
- * @return Phone number
- */
- IMPORT_C HBufC* PhoneNumberFromEntryLC();
-
- /**
- * Check if number entry content is stored
- * @return boolean value indicating that number entry content is stored
- */
- IMPORT_C TBool IsNumberEntryContentStored();
-
- /**
- * Stores the number entry content to the cache
- */
- 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();
-
- /**
- * Restores number entry content after dtmf dialer
- */
- IMPORT_C void CheckIfRestoreNEContentAfterDtmfDialer();
-
- /**
- * Checks if on screen dialer feature is supported.
- */
- 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.
- */
- IMPORT_C TBool IsAlphanumericSupportedAndCharInput(
- const TKeyEvent& aKeyEvent );
-
- /**
- * Handle state-specific behaviour when number entry is cleared
- */
- IMPORT_C virtual void HandleNumberEntryClearedL();
-
- /**
- * 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 state of TitleBar Back button
- */
- IMPORT_C void SetBackButtonActive( TBool aActive );
-
- protected:
-
- /**
- * Returns updated remote information data.
- * NOTE: This metohed is used when state receives
- * EPEMessageRemotePartyInfoChanged from PhoneEngine.
- * @param aCallId - Call Id.
- */
- TPhoneCmdParamCallHeaderData UpdateCallHeaderInfoL( TInt aCallId );
-
- /**
- * Checks if call is waiting, returns ETrue if call is waiting
- * otherwise EFalse.
- * @param aCallId, call id.
- */
- 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.
- */
- TBool OnlySideVolumeKeySupported();
-
- /**
- * Checks if device has connected call ongoing.
- * List of connected call states: EPEStateConnected
- * EPEStateConnectedConference
- * EPEStateConnecting
- */
- TBool IsAnyConnectedCalls();
-
- private:
-
- /**
- * Update incall indicator
- * @param aCallState a call state
- */
- void UpdateIncallIndicatorL( TInt aCallState );
-
- /**
- * Handle EPEMessageChangedCallDuration
- * @param aCallId call id of the message
- */
- void HandleChangedCallDurationL( TInt aCallId );
-
- /**
- * Update profile display
- */
- 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
- */
- void SendKeyPressL(
- const TKeyEvent& aKeyEvent,
- TEventCode aEventCode );
-
- /**
- * Sends key events to the phone engine
- * @param aKeyEvent a key event
- * @param aEventCode key event code
- */
- void SendKeyEventL(
- const TKeyEvent& aKeyEvent,
- 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
- * needs to be updated.
- */
- void ChangeAudioVolumeL( TInt aLevel,
- TBool aUpdateControl = ETrue );
-
- /**
- * Handles EPEMessageInitiatedEmergency call message from Phone Engine.
- * @param aCallId - Caller id.
- */
- void HandleInitiatedEmergencyCallL( TInt aCallId );
-
- /**
- * Handles EPEMessageInitiatedEmergencyWhileActiveVideo message from
- * Phone Engine.
- */
- 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();
-
- /**
- * Active call id
- */
- TInt GetActiveCallIdL();
-
- /**
- * Callback function for launching ALS line change dialog
- * This is called when Als line change timer timeout is
- * reached which means user has pushed the #-key long enough.
- * @param aAny - not used
- */
- static TInt AlsLineChangeTimerCallbackL( TAny* aAny );
-
- /**
- * Shows WLAN MAC address note
- */
- void ShowWlanMacAddressL();
-
- /**
- * Check if ALS line change is possible
- */
- TBool IsAlsLineChangePossible();
-
- /**
- * A message handling function for message EPEMessageRemoteBusy
- * @param aCallId a call id
- */
- void HandleRemoteBusyL( const TInt aCallId );
-
- /**
- * Creates caller information. Sets CNAP, phone number, thumbnail image
- * etc. into the call header parameter.
- * @param aCallId - Call Id.
- * @param aCallHeaderData - Call header parameter where modifications
- * are made.
- */
- void CreateCallerInfoL( const TInt aCallId,
- TPhoneCmdParamCallHeaderData* aCallHeaderData );
-
- /**
- * TCleanupOperation to call EndUiUpdate(), if leave occurs
- * after BeginUiUpdate().
- */
- 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();
-
- /**
- * Shows video call specific out of memory note.
- */
- void ShowVideoCallOutOfMemoryNoteL();
-
- /**
- * Returns sim security status:
- * Rejected or UnAccepted.
- */
- TInt SimSecurityStatus() const;
-
- /**
- * Show CUG in use note
- */
- void HandleCugInUseNoteL();
-
- /**
- * Handles changes in the SIM card state.
- */
- void HandleSimStateChangedL();
-
- /**
- * Checks if key events are allowed to be redirected for further handling
- */
- TBool IsKeyEventFurtherProcessedL( const TKeyEvent& aKeyEvent ) const;
-
- /*
- * Checks is given key contains numeric charaters or if customization is used
- * alphanumeir letters
- */
- TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
- TEventCode aEventCode );
-
- /*
- * Updates CBA using either customization or resource resolver
- */
- void CustomizeCbaForPhoneNumberL();
-
- /*
- * Checks if Touch dialer is on in DTMF mode.
- */
- TBool IsTouchDTmfDialerOn() const;
-
- /*
- * Checks if keyevent is from dtmf key and sends it to phone-engine
- */
- void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aEventCode );
-
- /*
- * Creates call header manager if needed.
- */
- CPhoneCallHeaderManager* CallheaderManagerL();
-
- /*
- * Creates number entry content if needed.
- */
- CPhoneNumberEntryManager* NumberEntryManagerL();
-
- /*
- * Updated Cba when Swivel state changes.
- */
- void UpdateCbaSwivelStateChangedL();
-
- /**
- * Loads data commonengine stringloader.
- * @param aData - The returned data including needed text.
- * @param aResourceId - Resource id for text.
- */
- void LoadResource( TDes& aData, const TInt aResource ) const;
-
- /**
- * Opens virtual keyboard.
- */
- void OpenVkbL();
-
- 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
-
- /**
- * Reference to State machine
- */
- MPhoneStateMachine* iStateMachine;
-
- /**
- * Reference to the Phone UI View command handle
- */
- MPhoneViewCommandHandle* iViewCommandHandle;
-
- protected:
-
- //Indicates whether onscreen dialer is defined
- TBool iOnScreenDialer;
-
- /**
- * Customization of functionality according to e.g.
- * call type specific needs.
- * Not own.
- */
- MPhoneCustomization* iCustomization;
-
- // CBA key manager. Own.
- CPhoneCbaManager* iCbaManager;
-
- private:
-
- /**
- * Previously handled SIM card state.
- */
- TPESimState iPreviousSimState;
-
- // Bitmap redraw counter
- TInt iBitmapRedrawCounter;
-
- /**
- * Timer for ALS line change.
- */
- CPhoneTimer* iAlsLineChangeKeyPressTimer;
-
- // Internal variable for EikonEnv to avoid
- // use of static system calls
- CEikonEnv& iEnv;
-
- // Call header manager.
- CPhoneCallHeaderManager* iCallHeaderManager;
-
- // Number entry manager
- CPhoneNumberEntryManager* iNumberEntryManager;
-
- // RingtoneSilenced flag.
- // This is used to determine if the ringtone
- // for incoming call is silenced. The information
- // is used while updating softkeys in method
- // UpdateIncomingCbaL only
- TBool iRingtoneSilenced;
-
- /**
- * Handle to the Operator logo resource.
- */
- TInt iLogoHandle;
- };
-
-#endif // CPHONESTATE_H
-
-// End of File