--- a/phoneapp/phoneuistates/src/cphonealerting.cpp Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonealerting.cpp Wed Sep 01 12:30:10 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -21,6 +21,7 @@
#include <mpeengineinfo.h>
#include <mpeclientinformation.h>
#include <MediatorDomainUIDs.h>
+#include <videotelcontrolmediatorapi.h>
#include "cphonealerting.h"
#include "mphonestatemachine.h"
#include "tphonecmdparamboolean.h"
@@ -116,7 +117,7 @@
{
// Show not allowed note
SendGlobalErrorNoteL(
- EPhoneNoteTextNotAllowed, ETrue );
+ EPhoneNoteTextNotAllowed );
}
break;
@@ -131,11 +132,7 @@
if ( IsNumberEntryUsedL() )
{
- // Remove number entry from screen
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewRemoveNumberEntry );
- // Do state-specific operation when number entry is cleared
- HandleNumberEntryClearedL();
+ CloseClearNumberEntryAndLoadEffectL( ENumberEntryClose );
}
if ( !TopAppIsDisplayedL() )
{
@@ -174,17 +171,22 @@
switch ( aMessage )
{
case MEngineMonitor::EPEMessageConnected:
+ {
HandleConnectedL( aCallId );
+ }
break;
case MEngineMonitor::EPEMessageDisconnecting:
+ {
HandleDisconnectingL( aCallId );
+ }
break;
case MEngineMonitor::EPEMessageRemoteTerminated:
+ {
iViewCommandHandle->ExecuteCommandL(
- EPhoneViewHideNaviPaneAudioVolume );
- CPhoneGsmInCall::HandlePhoneEngineMessageL( aMessage, aCallId );
+ EPhoneViewHideNaviPaneAudioVolume );
+ }
break;
case MEngineMonitor::EPEMessageIncoming:
@@ -218,6 +220,7 @@
}
}
break;
+
default:
break;
@@ -234,19 +237,19 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneAlerting::HandleConnectedL()");
- // Keep Phone in the foreground
- TPhoneCmdParamBoolean booleanParam;
- booleanParam.SetBoolean( EFalse );
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
+
+ // Close menu bar, if it is displayed
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
BeginUiUpdateLC();
-
+
// Update the single call
UpdateSingleActiveCallL( aCallId );
- SetTouchPaneButtons( EPhoneIncallButtons );
-
+ SetTouchPaneButtons( EPhoneIncallButtons );
+
+ SetToolbarDimming( EFalse );
+
EndUiUpdate();
// Go to single state
@@ -255,6 +258,42 @@
}
// -----------------------------------------------------------
+// CPhoneAlerting::OpenMenuBarL
+// -----------------------------------------------------------
+//
+EXPORT_C void CPhoneAlerting::OpenMenuBarL()
+ {
+ __LOGMETHODSTARTEND( EPhoneUIStates,
+ "CPhoneAlerting::OpenMenuBarL()");
+ TInt resourceId;
+
+ if ( iOnScreenDialer && IsDTMFEditorVisibleL() )
+ {
+ resourceId = EPhoneDtmfDialerMenubar;
+ }
+ else if ( IsNumberEntryVisibleL() )
+ {
+ resourceId = EPhoneAlertingCallMenubarWithNumberEntry;
+ }
+ // Use different resources for alerting data, video and cs call
+ else if( IsVideoCallAlertingL() )
+ {
+ resourceId = EPhoneAlertingVideoCallMenubar;
+ }
+ else
+ {
+ resourceId = EPhoneAlertingCallMenubar;
+ }
+
+ TPhoneCmdParamInteger integerParam;
+ integerParam.SetInteger(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( resourceId ) );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen,
+ &integerParam );
+ }
+
+// -----------------------------------------------------------
// CPhoneAlerting::HandleCommandL
// -----------------------------------------------------------
//
@@ -262,7 +301,30 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneAlerting::HandleCommandL()" );
- return CPhoneGsmInCall::HandleCommandL( aCommand );
+ TBool commandStatus = ETrue;
+
+ switch( aCommand )
+ {
+ case EPhoneInCallCmdHelp:
+ {
+ TPtrC contextName;
+ if ( IsVideoCallAlertingL() )
+ {
+ contextName.Set( KINCAL_HLP_VIDEOCALL() );
+ }
+ else
+ {
+ contextName.Set( KINCAL_HLP_CALL_HANDLING() );
+ }
+ iViewCommandHandle->ExecuteCommandL(
+ EPhoneViewLaunchHelpApplication, 0, contextName );
+ }
+ break;
+ default:
+ commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
+ break;
+ }
+ return commandStatus;
}
// -----------------------------------------------------------
@@ -307,6 +369,13 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneAlerting::HandleDisconnectingL()" );
+
+ if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aCallId ) == EPECallOriginSAT )
+ {
+ // User has hangup alerting SAT call, complete sat request
+ CompleteSatRequestL( aCallId );
+ }
+
CPhoneGsmInCall::HandleDisconnectingL( aCallId );
}