--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Fri Mar 19 09:28:42 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Fri Apr 16 14:58:25 2010 +0300
@@ -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"
@@ -41,10 +41,10 @@
// C++ default constructor can NOT contain any code, that
// might leave.
//
-CPhoneConferenceAndSingleAndWaiting::CPhoneConferenceAndSingleAndWaiting(
- MPhoneStateMachine* aStateMachine,
+CPhoneConferenceAndSingleAndWaiting::CPhoneConferenceAndSingleAndWaiting(
+ MPhoneStateMachine* aStateMachine,
MPhoneViewCommandHandle* aViewCommandHandle,
- MPhoneCustomization* aPhoneCustomization ) :
+ MPhoneCustomization* aPhoneCustomization ) :
CPhoneConferenceAndSingle( aStateMachine, aViewCommandHandle, aPhoneCustomization )
{
}
@@ -62,10 +62,8 @@
{
TPhoneCmdParamBoolean dtmfSendFlag;
dtmfSendFlag.SetBoolean( EFalse );
-// <-- QT PHONE START -->
- iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag,
+ iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag,
&dtmfSendFlag );
-// <-- QT PHONE END -->
}
}
@@ -86,18 +84,18 @@
// (other items were commented in a header).
// -----------------------------------------------------------
//
-CPhoneConferenceAndSingleAndWaiting* CPhoneConferenceAndSingleAndWaiting::NewL(
- MPhoneStateMachine* aStateMachine,
+CPhoneConferenceAndSingleAndWaiting* CPhoneConferenceAndSingleAndWaiting::NewL(
+ MPhoneStateMachine* aStateMachine,
MPhoneViewCommandHandle* aViewCommandHandle,
MPhoneCustomization* aPhoneCustomization )
{
- CPhoneConferenceAndSingleAndWaiting* self = new( ELeave ) CPhoneConferenceAndSingleAndWaiting(
+ CPhoneConferenceAndSingleAndWaiting* self = new( ELeave ) CPhoneConferenceAndSingleAndWaiting(
aStateMachine, aViewCommandHandle, aPhoneCustomization );
-
+
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
-
+
return self;
}
@@ -105,23 +103,23 @@
// CPhoneConferenceAndSingleAndWaiting::HandlePhoneEngineMessageL
// -----------------------------------------------------------
//
-void CPhoneConferenceAndSingleAndWaiting::HandlePhoneEngineMessageL(
- const TInt aMessage,
+void CPhoneConferenceAndSingleAndWaiting::HandlePhoneEngineMessageL(
+ const TInt aMessage,
TInt aCallId )
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndSingleAndWaiting::HandlePhoneEngineMessageL()");
switch ( aMessage )
- {
+ {
case MEngineMonitor::EPEMessageAddedConferenceMember:
HandleAddedConferenceMemberL( aCallId );
break;
-
+
case MEngineMonitor::EPEMessageIdle:
HandleIdleL( aCallId );
break;
-
+
default:
- CPhoneConferenceAndSingle::HandlePhoneEngineMessageL( aMessage,
+ CPhoneConferenceAndSingle::HandlePhoneEngineMessageL( aMessage,
aCallId );
break;
}
@@ -133,20 +131,20 @@
//
void CPhoneConferenceAndSingleAndWaiting::OpenMenuBarL()
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::OpenMenuBarL()");
TInt resourceId = NULL;
// Set specific flag to view so that DTMF menu item available
TPhoneCmdParamBoolean dtmfSendFlag;
dtmfSendFlag.SetBoolean( ETrue );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag,
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag,
&dtmfSendFlag );
-
+
TPhoneCmdParamCallStateData callStateData;
callStateData.SetCallState( EPEStateHeld );
- iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState,
+ iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState,
&callStateData );
if( callStateData.CallId() == KConferenceCallId )
{
@@ -157,8 +155,8 @@
}
else if ( IsConferenceBubbleInSelectionMode() )
{
- resourceId = EPhoneConfCallParticipantsDropMenubar;
- }
+ resourceId = EPhoneConfCallParticipantsDropMenubar;
+ }
else
{
resourceId = EPhoneCallActiveHeldConfAndWaitingMenubar;
@@ -173,8 +171,8 @@
}
else if ( IsConferenceBubbleInSelectionMode() )
{
- resourceId = EPhoneConfCallParticipantsDropMenubar;
- }
+ resourceId = EPhoneConfCallParticipantsDropMenubar;
+ }
else
{
resourceId = EPhoneConfCallActiveHeldAndWaitingMenubar;
@@ -182,14 +180,14 @@
}
else
{
- return; // negative call id, don't do anything
+ return; // negative call id, don't do anything
}
TPhoneCmdParamInteger integerParam;
- integerParam.SetInteger(
+ integerParam.SetInteger(
CPhoneMainResourceResolver::Instance()->
ResolveResourceID( resourceId ) );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen,
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen,
&integerParam );
}
@@ -199,46 +197,46 @@
//
void CPhoneConferenceAndSingleAndWaiting::HandleIdleL( TInt aCallId )
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::HandleIdleL()");
-
+
// Effect is shown when dialer exist.
TBool effectStarted ( EFalse );
if ( !NeedToSendToBackgroundL() )
{
BeginTransEffectLC( ENumberEntryOpen );
- effectStarted = ETrue;
+ effectStarted = ETrue;
}
-
- BeginUiUpdateLC();
+
+ BeginUiUpdateLC();
// Set touch controls
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
SetTouchPaneButtons( EPhoneWaitingCallButtons );
-
+
TPhoneCmdParamBoolean conferenceExistsForCallId;
iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCallExistsInConference,
aCallId, &conferenceExistsForCallId );
-
+
if( conferenceExistsForCallId.Boolean() )
{
// Remove conference member from conference bubble
- iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveFromConference,
- aCallId );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveFromConference,
+ aCallId );
}
else
{
- // Remove call
+ // Remove call
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
TPhoneCmdParamBoolean conferenceBubbleExists;
- iViewCommandHandle->ExecuteCommandL( EPhoneViewGetIsConference,
- &conferenceBubbleExists );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewGetIsConference,
+ &conferenceBubbleExists );
if( !conferenceBubbleExists.Boolean() )
{
// Idle message came for conference member.
MakeTransitionAccordingToActiveCallsL();
- }
+ }
else
{
TPhoneCmdParamCallStateData callStateData;
@@ -248,19 +246,19 @@
if( callStateData.CallId() >= 0 )
{
// We have Conference and Waiting calls left
- MakeStateTransitionToConferenceAndWaitingL( aCallId );
+ MakeStateTransitionToConferenceAndWaitingL( aCallId );
}
else
{
// We have Conference and Single calls left
MakeStateTransitionToConferenceAndSingleL( aCallId );
- }
+ }
}
}
EndUiUpdate();
if ( effectStarted )
{
- EndTransEffect();
+ EndTransEffect();
}
}
@@ -276,7 +274,7 @@
UpdateConferenceSecurityStatusL( aCallId );
- MakeStateTransitionToConferenceAndWaitingL( KConferenceCallId );
+ MakeStateTransitionToConferenceAndWaitingL( KConferenceCallId );
}
// -----------------------------------------------------------
@@ -285,17 +283,17 @@
//
void CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndWaitingL( TInt /*aCallId*/ )
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndWaitingL()");
if ( !IsNumberEntryUsedL() )
{
// Close menu bar, if number entry isnt open.
iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
}
-
- SetTouchPaneButtons( EPhoneWaitingCallButtons );
+
+ SetTouchPaneButtons( EPhoneWaitingCallButtons );
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
-
+
// Check if HW Keys or Call UI should be disabled
CheckDisableHWKeysAndCallUIL();
@@ -310,22 +308,22 @@
//
void CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndSingleL( TInt /*aCallId*/ )
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::MakeStateTransitionToConferenceAndSingleL()");
- if( /*FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
+ if( /*FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
*/ 1 && iStateMachine->PhoneStorage()->IsScreenLocked() )
{
EnableCallUIL();
}
-
+
// Reset blocked keys list
iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-
+
if ( !IsNumberEntryUsedL() )
{
// Close menu bar, if number entry isnt open.
- iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
}
if ( IsNumberEntryUsedL() )
@@ -336,33 +334,33 @@
iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility );
-
+
UpdateCbaL( EPhoneCallHandlingInCallCBA );
}
else
{
// Show the number entry if it exists
- SetNumberEntryVisibilityL(ETrue);
+ SetNumberEntryVisibilityL(ETrue);
}
}
else
{
UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
- // If numberentry is not open just check NeedToSendToBackgroundL and
+ // If numberentry is not open just check NeedToSendToBackgroundL and
// sendbackround if needed.
if ( NeedToSendToBackgroundL() )
{
// Return phone to the background if send to background is needed.
iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
}
- }
+ }
- SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
+ SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
// Go to conference and single state
// CBA updates in above if-else conditions
- iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
+ iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );
}
// -----------------------------------------------------------
@@ -371,13 +369,13 @@
//
void CPhoneConferenceAndSingleAndWaiting::HandleConferenceIdleL()
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::HandleConferenceIdleL()");
-
- BeginUiUpdateLC();
-
- iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble );
-
+
+ BeginUiUpdateLC();
+
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveConferenceBubble );
+
// Close menu bar, if it is displayed
iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
@@ -385,19 +383,19 @@
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
MakeTransitionAccordingToActiveCallsL();
-
- EndUiUpdate();
+
+ EndUiUpdate();
}
// --------------------------------------------------------------
// CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL
// --------------------------------------------------------------
//
-void CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL(
+void CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL(
TPhoneKeyEventMessages aMessage,
TKeyCode aCode )
{
- __LOGMETHODSTARTEND( EPhoneUIStates,
+ __LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneConferenceAndSingleAndWaiting::HandleKeyMessageL()");
switch ( aCode )
{
@@ -405,16 +403,16 @@
case EKeyYes:
if( IsNumberEntryVisibleL() )
{
- CallFromNumberEntryL();
+ CallFromNumberEntryL();
}
else
{
// Not allowed to answer
- SendGlobalWarningNoteL(
- EPhoneNoteTextCallNotAllowed );
+ SendGlobalWarningNoteL(
+ EPhoneNoteTextCallNotAllowed );
}
break;
-
+
default:
// do base operation
CPhoneConferenceAndSingle::HandleKeyMessageL( aMessage, aCode );
@@ -445,7 +443,7 @@
void CPhoneConferenceAndSingleAndWaiting::UpdateInCallCbaL()
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneConferenceAndSingleAndWaiting::UpdateInCallCbaL() ");
-
+
UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
}
@@ -458,50 +456,51 @@
TPhoneCmdParamInteger activeCallCount;
iViewCommandHandle->ExecuteCommandL(
EPhoneViewGetCountOfActiveCalls, &activeCallCount );
-
+
switch( activeCallCount.Integer() )
{
case ENoActiveCalls: // Go to incoming state
{
// Get Waiting call's Call Id
- TPhoneCmdParamCallStateData callStateData;
+ TPhoneCmdParamCallStateData callStateData;
callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState,
+ iViewCommandHandle->HandleCommandL( EPhoneViewGetCallIdByState,
&callStateData );
-
+
if ( callStateData.CallId() != KErrNotFound )
{
// Display ringing bubble
TPhoneCmdParamCallHeaderData callHeaderParam;
callHeaderParam.SetCallState( EPEStateRinging );
-
+
SetCallHeaderTextsForCallComingInL( callStateData.CallId(), EFalse, &callHeaderParam );
-
- iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble,
- callStateData.CallId(),
+
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble,
+ callStateData.CallId(),
&callHeaderParam );
-
+
// Capture keys when there is an incoming call
- CaptureKeysDuringCallNotificationL( ETrue );
-
+ CaptureKeysDuringCallNotificationL( ETrue );
+
// Go to Incoming state
iCbaManager->UpdateIncomingCbaL( callStateData.CallId() );
// Check if HW Keys or Call UI should be disabled
CheckDisableHWKeysAndCallUIL();
-
+
SetTouchPaneButtons( EPhoneIncomingCallButtons );
UpdateSilenceButtonDimming();
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
- SetRingingTonePlaybackL( callStateData.CallId() );
+ SetRingingTonePlaybackL( callStateData.CallId() );
SetToolbarDimming( ETrue );
- iStateMachine->ChangeState( EPhoneStateIncoming );
+ SetBackButtonActive(EFalse);
+ iStateMachine->ChangeState( EPhoneStateIncoming );
}
else
{
SetDefaultFlagsL();
UpdateCbaL( EPhoneEmptyCBA );
- iStateMachine->ChangeState( EPhoneStateIdle );
+ iStateMachine->ChangeState( EPhoneStateIdle );
}
}
break;
@@ -509,13 +508,13 @@
{
// Go to Single And Waiting state
UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
- SetTouchPaneButtons( EPhoneWaitingCallButtons );
+ SetTouchPaneButtons( EPhoneWaitingCallButtons );
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
// Check if HW Keys or Call UI should be disabled
CheckDisableHWKeysAndCallUIL();
- iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
+ iStateMachine->ChangeState( EPhoneStateWaitingInSingle );
}
break;
case ETwoActiveCalls:
@@ -526,18 +525,18 @@
// Check if HW Keys or Call UI should be disabled
CheckDisableHWKeysAndCallUIL();
- SetTouchPaneButtons( EPhoneWaitingCallButtons );
+ SetTouchPaneButtons( EPhoneWaitingCallButtons );
iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );
}
break;
default:
// Too many active calls to handle reliable state change now.
// Waiting for all conference member idles
- // This case may happen when 'End all calls' because conferenceIdle may
+ // This case may happen when 'End all calls' because conferenceIdle may
// come earlier than idle for conference member
break;
}
}
-
+
// End of File