phoneapp/phoneuicontrol/src/cphonestateincoming.cpp
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Fri May 14 15:51:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,905 +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: Implementation of CPhoneStateIncoming class.
-*
-*/
-
-
-// INCLUDES
-#include <cntdef.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <dundomainpskeys.h>
-#include <telephonyvariant.hrh>
-#include <mpeengineinfo.h>
-#include <MediatorDomainUIDs.h>
-#include <videotelcontrolmediatorapi.h>
-
-#include "cphonepubsubproxy.h"
-#include "phoneui.pan"
-#include "cphonestateincoming.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallstatedata.h"
-#include "tphonecmdparamringtone.h"
-#include "tphonecmdparamsfidata.h"
-#include "tphonecmdparamstring.h"
-#include "tphonecmdparamglobalnote.h"
-#include "tphonecmdparamdynmenu.h"
-#include "mphonestatemachine.h"
-#include "phonestatedefinitions.h"
-#include "phoneui.hrh"
-#include "phonerssbase.h"
-#include "cphonemainresourceresolver.h"
-#include "phonelogger.h"
-#include "cphonecenrepproxy.h"
-#include "cphonepubsubproxy.h"
-#include "tphonecmdparamquery.h"
-#include "cphonemediatorfactory.h"
-#include "cphonemediatorsender.h"
-#include "cphonereleasecommand.h"
-#include "mphonecustomization.h"
-#include "mphonestorage.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-EXPORT_C CPhoneStateIncoming::CPhoneStateIncoming(
-    MPhoneStateMachine* aStateMachine,
-    MPhoneViewCommandHandle* aViewCommandHandle,
-    MPhoneCustomization* aPhoneCustomization ) :
-    CPhoneState( aStateMachine, aViewCommandHandle, aPhoneCustomization )
-    {
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::~CPhoneStateIncoming()
-// Destructor
-// (other items were commented in a header).
-// -----------------------------------------------------------
-//
-EXPORT_C CPhoneStateIncoming::~CPhoneStateIncoming()
-    {
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::ConstructL()
-// Constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::ConstructL()
-    {
-    CPhoneState::BaseConstructL();
-    
-    // Fetch incoming call's id from view
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateRinging );
-    iViewCommandHandle->HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-
-    // Do nothing if negative incoming call id
-    if( callStateData.CallId() > KErrNotFound  )
-        {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery );
-        
-        iRingingCallId = callStateData.CallId();
-        }
-    else
-        {
-        __PHONELOG( EOnlyFatal, EPhoneControl,
-            "CPhoneStateIncoming::ConstructL - incoming call already in disconnecting state!");
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::NewL()
-// Constructor
-// (other items were commented in a header).
-// -----------------------------------------------------------
-//
-CPhoneStateIncoming* CPhoneStateIncoming::NewL(
-    MPhoneStateMachine* aStateMachine,
-    MPhoneViewCommandHandle* aViewCommandHandle,
-    MPhoneCustomization* aPhoneCustomization )
-    {
-    CPhoneStateIncoming* self = new (ELeave) CPhoneStateIncoming(
-        aStateMachine, aViewCommandHandle, aPhoneCustomization );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleKeyEventL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aEventCode )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleKeyEventL ()" );
-    // Handle numeric keys when key events are received in incoming state
-    CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleNumberEntryClearedL()
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleNumberEntryClearedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleNumberEntryClearedL ()" );
-    // Set incoming call CBA when number entry is cleared
-    iCbaManager->UpdateIncomingCbaL( iRingingCallId );
-    UpdateSilenceButtonDimming();
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleKeyMessageL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleKeyMessageL(
-    TPhoneKeyEventMessages aMessage,
-    TKeyCode aCode )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl,
-        "CPhoneStateIncoming::HandleKeyMessageL ()" );
-    __ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(),
-        Panic( EPhoneCtrlInvariant ) );
-
-    switch ( aCode )
-        {
-        // end-key
-        case EKeyNo:
-            {
-            // handle long press
-            if ( aMessage == EPhoneKeyLongPress )
-                {
-                // Close all connections
-                iStateMachine->SendPhoneEngineMessage(
-                    MPEPhoneModel::EPEMessageTerminateAllConnections );
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
-
-                if ( CPhoneState::IsNumberEntryUsedL() )
-                    {
-                    // Remove number entry from screen
-                    iViewCommandHandle->ExecuteCommandL(
-                        EPhoneViewRemoveNumberEntry );
-                    // Do state-specific operation when number entry is cleared
-                    HandleNumberEntryClearedL();
-                    }
-                }
-            else
-                {
-                // handle end key
-                DisconnectWaitingCallL();
-                }
-            }
-            break;
-
-        // send-key
-        case EKeyYes:
-            if( CPhoneState::IsNumberEntryVisibleL() )
-                {
-                HandleSendL();
-                }
-            else
-                {
-                // Answer the call
-                AnswerCallL();
-                }
-            break;
-
-        // OK key
-        case EKeyDevice3:
-            if ( aMessage == EPhoneKeyLongPress )
-                {
-                // Answer the call if long press of selection key
-                AnswerCallL();
-                }
-            else if ( CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
-                        KTelephonyLVFlagCoverHideSendEndKey ))
-                {
-                // Open number entry OK menubar
-                OpenMenuBarL();
-                }
-            break;
-
-        case EKeyDeviceF:
-                {
-                __PHONELOG( EBasic, EPhoneUIStates,
-                    "CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL-deviceF" );
-                HandleHoldSwitchL();
-                }
-            break;
-            
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleSendL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::HandleSendL()
-    {
-    // Get the number entry contents
-    HBufC* phoneNumber = PhoneNumberFromEntryLC();
-    TPtr ptr( phoneNumber->Des() );
-
-    iStateMachine->PhoneEngineInfo()->SetPhoneNumber( ptr );
-    iStateMachine->SendPhoneEngineMessage(
-            MPEPhoneModel::EPEMessagePhoneNumberEdited );
-    
-    if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength 
-            && iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ) 
-        {
-        // Send a manual control sequence by providing number
-        // information with dial command
-        CPhoneState::CallFromNumberEntryL();
-        }
-    else
-        {
-        iStateMachine->SendPhoneEngineMessage(
-                MPEPhoneModel::EPEMessageCheckEmergencyNumber );
-        }
-    CleanupStack::PopAndDestroy( phoneNumber );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleKeyPressDurationL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleKeyPressDurationL(
-    TKeyCode /*aCode*/,
-    TTimeIntervalMicroSeconds /*aKeyPressDuration*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleKeyPressDurationL ()" );
- 
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandlePhoneEngineMessageL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandlePhoneEngineMessageL(
-    const TInt aMessage,
-    TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandlePhoneEngineMessageL ()" );
-    switch ( aMessage )
-        {
-        case MEngineMonitor::EPEMessageIdle:
-            HandleIdleL( aCallId );
-            break;
-
-        case MEngineMonitor::EPEMessageConnected:
-            HandleConnectedL( aCallId );
-            break;
-
-        case MEngineMonitor::EPEMessageInValidEmergencyNumber:
-            // Answer the call
-            AnswerCallL();
-            break;
-
-        case MEngineMonitor::EPEMessageValidEmergencyNumber:
-            DialVoiceCallL();
-            break;
-
-        case MEngineMonitor::EPEMessageAnswering:
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-            break;
-
-        case MEngineMonitor::EPEMessageAudioOutputChanged:
-            HandleAudioOutputChangedL();
-            break;
-
-        case MEngineMonitor::EPEMessageMuteRingingTone:
-            // Silence the ringer. And stop vibrating, if it is active.
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-            HandleAudioPlayStoppedL();
-            iStateMachine->SendPhoneEngineMessage(
-                MPEPhoneModel::EPEMessageStopTonePlay );
-            break;
-         
-        case MEngineMonitor::EPEMessageAvailableAudioOutputsChanged:
-            HandleAudioAvailableOutputChangedL();
-            // Need to avoid CBA update
-            break;
-        
-        case MEngineMonitor::EPEMessageRemotePartyInfoChanged:
-            // Update remote info data
-            UpdateRemoteInfoDataAndLabelL( aCallId, UpdateCallHeaderInfoL( aCallId ) );
-            break;
-            
-        default:
-            CPhoneState::HandlePhoneEngineMessageL( aMessage, aCallId );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::UpdateRemoteInfoDataAndLabelL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::UpdateRemoteInfoDataAndLabelL( 
-        TInt aCallId, 
-        TPhoneCmdParamCallHeaderData aCallHeaderParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-            "CPhoneStateIncoming::UpdateRemoteInfoDataAndLabelL ()" );
-    // Update the remote info data in the call header
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, 
-        aCallId,
-        &aCallHeaderParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleConnectedL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::HandleConnectedL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleConnectedL ()" );
-
-    // Re-enable global notes
-    TPhoneCmdParamBoolean globalNotifierParam;
-    globalNotifierParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
-        &globalNotifierParam );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
-        &globalNotifierParam );
-    // Stop tone playing, if necessary
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    
-    if( IsVideoCall( aCallId ) && !IsAutoLockOn() )
-        {
-        // For keeping video call on top
-        TPhoneCmdParamBoolean booleanParam;
-        booleanParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL(
-            EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-        }
-    
-    BeginTransEffectLC( ENumberEntryOpen );
-
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-         && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-    
-    // Reset blocked keys list
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-
-    BeginUiUpdateLC();
-    
-    // Update single call
-    UpdateSingleActiveCallL( aCallId );
-
-    SetTouchPaneButtons( EPhoneIncallButtons );
-    SetToolbarDimming( EFalse );
-    SetBackButtonActive(ETrue);
-            
-    EndUiUpdate();
-    EndTransEffect();
-
-    // Go to single state
-    iCbaManager->UpdateCbaL( EPhoneCallHandlingInCallCBA );
-
-    iStateMachine->ChangeState( EPhoneStateSingle );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleAudioPlayStoppedL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleAudioPlayStoppedL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleAudioPlayStoppedL ()" );
-    // Update the CBA
-    
-    // Set the ringtone silenced status
-    iCbaManager->SetRingtoneSilencedStatus( ETrue );
-    TInt resourceId = EPhoneCallHandlingIncomingRejectCBA;
-    // Get the soft reject flag status
-    TPhoneCmdParamBoolean softRejectParam;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSoftRejectFlag,
-        &softRejectParam );
-
-    if ( IsNumberEntryVisibleL() && !iOnScreenDialer )
-        {
-        resourceId = EPhoneNumberAcqCBA;
-        }
-    else if ( softRejectParam.Boolean() )
-        {
-        resourceId = EPhoneCallHandlingIncomingSoftRejectCBA;
-        }
-    iCbaManager->SetCbaL( resourceId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleIdleL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::HandleIdleL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleIdleL ()" );
-
-    BeginTransEffectLC( ENumberEntryOpen );
-    BeginUiUpdateLC();
-
-    // Enable call UI
-    if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
-        && iStateMachine->PhoneStorage()->IsScreenLocked() )
-        {
-        EnableCallUIL();
-        }
-
-    // Reset blocked keys list
-    iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-    
-    // Remove call
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
-    // Close menu bar, if it is displayed
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
-    // Stop tone playing, if necessary
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    
-    TPhoneCmdParamBoolean globalNotifierParam;
-    globalNotifierParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
-        &globalNotifierParam );
-    
-    SetDefaultFlagsL();
-    
-     if ( IsNumberEntryUsedL() )
-        {
-        if ( NeedToSendToBackgroundL() )
-            {
-            // Return phone to the background if send to background is needed.
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility );
-
-            // Set Number Entry CBA
-            iCbaManager->SetCbaL( EPhoneNumberAcqCBA );
-            }
-        else
-            {
-            // Show the number entry if it exists.
-            SetNumberEntryVisibilityL(ETrue);
-            }
-        }
-    else if ( NeedToSendToBackgroundL() ||
-        SoftRejectMessageEditorIsDisplayedL() )
-        {
-        // Continue displaying current app but set up the
-        // idle screen in the background
-        SetupIdleScreenInBackgroundL();
-        }
-    else
-        {
-        // Display idle screen
-        DisplayIdleScreenL();
-        }
- 
-    DeleteTouchPaneButtons();
-    SetBackButtonActive(ETrue);
-    
-    EndUiUpdate();
-    EndTransEffect();
-    // Go to idle state   
-    iCbaManager->UpdateCbaL( EPhoneEmptyCBA );
-    iStateMachine->ChangeState( EPhoneStateIdle );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::HandleCommandL
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneStateIncoming::HandleCommandL( TInt aCommand )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::HandleCommandL ()" );
-    TBool commandStatus = ETrue;
-
-    switch( aCommand )
-        {
-        case EPhoneCmdOptions:
-            // Stop tone playing, if necessary.
-            // And stop vibrating, if it is active.
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-            // Open the menu bar
-            OpenMenuBarL();
-            break;
-
-        case EPhoneCallComingCmdAnswer:
-            AnswerCallL();
-            break;
-
-        case EPhoneCallComingCmdAnswerHandPortableVideo:
-        case EPhoneCallComingCmdAnswerHandPortable:
-            iStateMachine->PhoneEngineInfo()->SetAudioOutputCommand(
-                EPEHandset, ETrue );
-            iStateMachine->SendPhoneEngineMessage(
-                MPEPhoneModel::EPEMessageSetAudioOutput );
-            AnswerCallL();
-            break;
-
-        case EPhoneCallComingCmdReject:
-            DisconnectWaitingCallL();
-            break;
-
-        case EPhoneCallComingCmdSilent:
-            // Silence the ringer. And stop vibrating, if it is active.
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewMuteRingTone );
-            // Dim silence button
-            SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent );
-            HandleAudioPlayStoppedL();
-            iStateMachine->SendPhoneEngineMessage(
-                MPEPhoneModel::EPEMessageStopTonePlay );
-            break;
-
-        case EPhoneCallComingCmdSoftReject:
-            // Open Soft reject message editor
-            OpenSoftRejectMessageL();
-            break;
-
-        case EPhoneNumberAcqCmdSendCommand:
-            HandleSendL();
-            break;
-
-        case EPhoneInCallCmdHelp:
-            {
-            TPtrC contextName;
-            if( IsVideoCall( iRingingCallId ) )
-                {
-                contextName.Set( KINCAL_HLP_VIDEOCALL() );
-                }
-            else
-                {
-                contextName.Set( KINCAL_HLP_CALL_HANDLING() );
-                }
-            iViewCommandHandle->ExecuteCommandL(
-                EPhoneViewLaunchHelpApplication, 0, contextName );
-            }
-            break;
-
-        default:
-            commandStatus = CPhoneState::HandleCommandL( aCommand );
-            break;
-        }
-
-    return commandStatus;
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::AnswerCallL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::AnswerCallL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::AnswerCallL ()" );
-    // Mute the ring tone
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMuteRingToneOnAnswer );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
-    // Answer the call
-    iStateMachine->SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageAnswer );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::DisconnectWaitingCallL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::DisconnectWaitingCallL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::DisconnectWaitingCallL ()" );
-
-    // Stop tone playing, if necessary
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
-
-    // The ringing call might have changed
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateRinging );
-    iViewCommandHandle->HandleCommandL(
-        EPhoneViewGetCallIdByState, &callStateData );
-    
-    if ( callStateData.CallId() > KErrNotFound )
-        {
-        iRingingCallId = callStateData.CallId();
-        }
-    
-    iStateMachine->SetCallId( iRingingCallId );
-
-    if( IsVideoCall( iRingingCallId ) )
-        {
-        // Video call can be released only after we get response to VT Shutdown Command
-        CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain,
-                                                                             KCatPhoneToVideotelCommands, 
-                                                                             EVtCmdReleaseDataport,
-                                                                   TVersion( KPhoneToVideotelCmdVersionMajor,
-                                                                             KPhoneToVideotelCmdVersionMinor, 
-                                                                             KPhoneToVideotelCmdVersionBuild ),
-                                                                   KNullDesC8,
-                                                                   CPhoneReleaseCommand::NewL( *iStateMachine ) );
-        }
-    else
-        {
-        // Release the call
-        iStateMachine->SendPhoneEngineMessage(
-                MPEPhoneModel::EPEMessageRelease );
-        }
-    
-    ShowDisconnectingL( iRingingCallId );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::OpenSoftRejectMessageEditorL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::OpenSoftRejectMessageL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::OpenSoftRejectMessageEditorL ()" );
-    // Clear the soft reject flag
-    TPhoneCmdParamBoolean softRejectParam;
-    softRejectParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetSoftRejectFlag,
-        &softRejectParam );
-
-    // Dim silence button
-    SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent );
-    
-    // Silence the vibrating
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    iStateMachine->SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageStopTonePlay );
-    
-    // Re-enable global notes. Otherwise message editor is not opened.
-    TPhoneCmdParamBoolean globalNotifierParam;
-    globalNotifierParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetEikonNotifiersDisabled,
-        &globalNotifierParam );
-
-    // Change the CBA to Options..Reject
-    iCbaManager->SetCbaL( EPhoneCallHandlingIncomingRejectCBA );
-
-    TPhoneCmdParamSfiData sfiDataParam;
-
-    if ( iStateMachine->PhoneEngineInfo()->RemoteName( iRingingCallId ).Length() )
-        {
-        // store both the name and the number
-        sfiDataParam.SetNumber( iStateMachine->PhoneEngineInfo()->RemotePhoneNumber( iRingingCallId ) );
-        sfiDataParam.SetName( iStateMachine->PhoneEngineInfo()->RemoteName( iRingingCallId ) );
-        }
-    else
-        {
-        // store the number
-        sfiDataParam.SetNumber( iStateMachine->PhoneEngineInfo()->RemotePhoneNumber( iRingingCallId ) );
-        }
-
-    iViewCommandHandle->ExecuteCommandL(
-        EPhoneViewOpenSoftRejectEditor, &sfiDataParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL
-// -----------------------------------------------------------
-//
-TBool CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL () ");
-    // Get the foreground application window group id
-    TPhoneCmdParamInteger foregroundAppParam;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetForegroundApplication,
-        &foregroundAppParam );
-
-    // Get the soft reject message editor window group id
-    TPhoneCmdParamInteger softRejectMessageEditorWgId;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSoftRejectWindowGroupId,
-        &softRejectMessageEditorWgId );
-
-    __PHONELOG1(
-        EBasic,
-        EPhoneControl,
-        "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() SoftRejectGroupId %d",
-        softRejectMessageEditorWgId.Integer() );
-    __PHONELOG1(
-        EBasic,
-        EPhoneControl,
-        "CPhoneStateIncoming::SoftRejectMessageEditorIsDisplayedL() ForegroundAppGroupId %d",
-        foregroundAppParam.Integer() );
-    // Return ETrue if soft reject message editor is displayed
-    return softRejectMessageEditorWgId.Integer() == foregroundAppParam.Integer();
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::OpenMenuBarL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::OpenMenuBarL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,
-        "CPhoneStateIncoming::OpenMenuBarL ()" );
-    TInt resourceId;
-
-    // Determine the correct menu bar to display
-    if ( CPhoneState::IsNumberEntryVisibleL() )
-        {
-        resourceId = GetNumberEntryVisibleMenuBar();
-        }
-    else
-        {
-        resourceId = GetNumberEntryNotVisibleMenuBar();
-        }
-
-    // Silence the ringer. And stop vibrating, if it is active.
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
-    iStateMachine->SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageStopTonePlay );
-
-    //Set correct cba
-    HandleAudioPlayStoppedL();
-    
-    // Dim button
-    SetTouchPaneButtonDisabled( EPhoneCallComingCmdSilent );
-
-    // Open the menu bar
-    TPhoneCmdParamInteger integerParam;
-    integerParam.SetInteger(
-        CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( resourceId ) );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen,
-        &integerParam );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::GetNumberEntryVisibleMenuBar
-// -----------------------------------------------------------
-//
-TInt CPhoneStateIncoming::GetNumberEntryVisibleMenuBar()
-    {
-    if( CPhoneState::IsVideoCall ( iRingingCallId ) )
-        {
-        return EPhoneIncomingVideoCallMenubarWithNumberEntry;
-        }
-    else
-        {
-        return EPhoneIncomingCallMenubarWithNumberEntry;
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::GetNumberEntryNotVisibleMenuBar
-// -----------------------------------------------------------
-//
-TInt CPhoneStateIncoming::GetNumberEntryNotVisibleMenuBar()
-    {
-    if( CPhoneState::IsVideoCall ( iRingingCallId ) )
-        {
-        return EPhoneIncomingVideoCallMenubar;
-        }
-    else
-        {
-        return EPhoneIncomingCallMenubar;
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::DynInitMenuPaneL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::DynInitMenuPaneL(
-    TInt aResourceId,
-    CEikMenuPane* aMenuPane )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::DynInitMenuPaneL() ");
-    __ASSERT_DEBUG( aMenuPane && aResourceId,
-        Panic( EPhoneCtrlParameterNotInitialized ) );
-
-    // Save the number of digits in the number entry before processing
-    // the menu pane
-    if ( IsNumberEntryUsedL() )
-        {
-        TPhoneCmdParamBoolean serviceCodeParam;
-        serviceCodeParam.SetBoolean( ETrue );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetServiceCodeFlag,
-            &serviceCodeParam );
-        }
-
-    if ( iCustomization )
-        {
-        iCustomization->CustomizeMenuPaneL(aResourceId, aMenuPane);
-        }
-    // Process the menu pane
-    TPhoneCmdParamDynMenu dynMenuPane;
-    dynMenuPane.SetResourceId( aResourceId );
-    dynMenuPane.SetDynMenu( aMenuPane );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuPane, &dynMenuPane );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::ShowDisconnectingL
-// -----------------------------------------------------------
-//
-void CPhoneStateIncoming::ShowDisconnectingL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::ShowDisconnectingL( ) ");
-    TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateDisconnecting );
-
-    TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
-    TInt callLabelId = CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( EPhoneInCallDisconnected );
-
-    StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() );
-    callHeaderParam.SetLabelText( labelText );
-
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
-        &callHeaderParam );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStateIncoming::HandleKeyLockEnabledL
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIncoming::HandleKeyLockEnabled( TBool aKeylockEnabled )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleKeyLockEnabledL( ) ");
-    if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-        && CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-        {
-        if( aKeylockEnabled )
-            {
-            // Keylock enabled
-            if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() )
-                {
-                // Disable HW Keys if needed
-                DisableHWKeysL();
-                }
-            }
-        else
-            {
-            // Keylock disabled
-            // Reset blocked keys list
-            iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-            }
-        }
-    }
-
-// End of File