--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Wed Sep 01 12:30:10 2010 +0100
@@ -36,7 +36,6 @@
#include "phonerssbase.h"
#include "phonestatedefinitionsgsm.h"
#include "phonelogger.h"
-#include "mphonestorage.h"
// ================= MEMBER FUNCTIONS =======================
@@ -114,20 +113,20 @@
{
// send-key
case EKeyYes:
- {
+ {
if( IsNumberEntryVisibleL() )
{
- CallFromNumberEntryL();
+ CallFromNumberEntryL();
}
else
{
// Waiting call bubble is over number entry
// so display not allowed note because we
// can't answer the call
- SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed, ETrue );
+ SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed );
}
break;
- }
+ }
default:
CPhoneTwoSingles::HandleKeyMessageL( aMessage, aCode );
@@ -136,22 +135,6 @@
}
// -----------------------------------------------------------
-// CPhoneTwoSinglesAndWaiting::HandleKeyEventL
-// -----------------------------------------------------------
-//
-void CPhoneTwoSinglesAndWaiting::HandleKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode /*aEventCode*/ )
- {
- if( EKeyDeviceF == aKeyEvent.iCode )
- {
- __PHONELOG( EBasic, EPhoneUIStates,
- "CPhoneTwoSinglesAndWaiting::HandleKeyMessageL-deviceF" );
- HandleHoldSwitchL();
- }
- }
-
-// -----------------------------------------------------------
// CPhoneTwoSinglesAndWaiting::HandlePhoneEngineMessageL
// -----------------------------------------------------------
//
@@ -166,10 +149,7 @@
case MEngineMonitor::EPEMessageIdle:
HandleIdleL( aCallId );
break;
- case MEngineMonitor::EPEMessageConnected:
- UpdateInCallCbaL();
- CPhoneTwoSingles::HandlePhoneEngineMessageL( aMessage, aCallId );
- break;
+
default:
CPhoneTwoSingles::HandlePhoneEngineMessageL( aMessage, aCallId );
break;
@@ -199,6 +179,37 @@
}
// -----------------------------------------------------------
+// CPhoneTwoSinglesAndWaiting::OpenMenuBarL
+// -----------------------------------------------------------
+//
+void CPhoneTwoSinglesAndWaiting::OpenMenuBarL()
+ {
+ __LOGMETHODSTARTEND( EPhoneUIStates,
+ "CPhoneTwoSinglesAndWaiting::OpenMenuBarL()");
+
+ TInt resourceId ( EPhoneCallTwoSinglesWaitingLockMenubar );
+
+ if ( !IsAutoLockOn() )
+ {
+ if ( IsNumberEntryVisibleL() )
+ {
+ resourceId = EPhoneCallActiveHeldAndWaitingMenubarWithNumberEntry;
+ }
+ else
+ {
+ resourceId = EPhoneCallActiveHeldAndWaitingMenubar;
+ }
+ }
+
+ TPhoneCmdParamInteger integerParam;
+ integerParam.SetInteger(
+ CPhoneMainResourceResolver::Instance()->
+ ResolveResourceID( resourceId ) );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen,
+ &integerParam );
+ }
+
+// -----------------------------------------------------------
// CPhoneTwoSinglesAndWaiting::HandleIdleL
// -----------------------------------------------------------
//
@@ -206,21 +217,21 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneTwoSinglesAndWaiting::HandleIdleL()");
-
- BeginUiUpdateLC();
-
- // Remove call
+ BeginUiUpdateLC();
+ if ( !IsNumberEntryUsedL() )
+ {
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
+ }
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
if ( iRingingCallId == aCallId )
{
- StateTransitionToTwoSinglesL();
+ StateTransitionToTwoSinglesL();
}
else
{
StateTransitionToSingleAndWaitingL();
}
-
EndUiUpdate();
}
@@ -235,11 +246,13 @@
if ( IsNumberEntryUsedL() )
{
// Go to background if necessary
- if ( NeedToSendToBackgroundL() )
+ if ( NeedToReturnToForegroundAppL() )
{
- // Return phone to the background if send to background is needed.
+ // Return phone to the background if menu application is needed to foreground.
iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility );
+
UpdateCbaL( EPhoneCallHandlingInCallCBA );
}
else
@@ -252,29 +265,21 @@
{
// Set Two singles softkeys
UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-
- // If numberentry is not open just check NeedToSendToBackgroundL and
+
+ // If numberentry is not open just check NeedToReturnToForegroundAppL and
// sendbackround if needed.
- if ( NeedToSendToBackgroundL() )
+ if ( NeedToReturnToForegroundAppL() )
{
// Return phone to the background if send to background is needed.
iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
}
}
- if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
- && iStateMachine->PhoneStorage()->IsScreenLocked() )
- {
- EnableCallUIL();
- }
-
- // Reset blocked keys list
- iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-
// Go to two singles state
+ SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
SetTouchPaneButtons( EPhoneTwoSinglesButtons );
// CBA updates in above if-else conditions
- iStateMachine->ChangeState( EPhoneStateTwoSingles );
+ iStateMachine->ChangeState( EPhoneStateTwoSingles );
}
// -----------------------------------------------------------
@@ -286,21 +291,10 @@
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneTwoSinglesAndWaiting::StateTransitionToSingleAndWaitingL()");
// Go to two singles state
- TPhoneCmdParamInteger callIdParam;
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewGetExpandedBubbleCallId, &callIdParam );
-
- if ( callIdParam.Integer()!=iRingingCallId )
- {
- CPhoneGsmInCall::UpdateInCallCbaL();
- }
- else
- {
- iCbaManager->SetCbaL( EPhoneCallHandlingCallWaitingCBA );
- }
-
- // Check if HW Keys or Call UI should be disabled
- CheckDisableHWKeysAndCallUIL();
+ UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+
+ // Set touch controls
+ SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
SetTouchPaneButtons( EPhoneWaitingCallButtons );
@@ -328,9 +322,7 @@
conferenceText,
callLabelId,
CCoeEnv::Static() );
- callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
-
- callHeaderParam.SetCallState(EPEStateConnectedConference);
+ callHeaderParam.SetCLIText( conferenceText, CBubbleManager::ERight );
callHeaderParam.SetCiphering(
iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
@@ -342,25 +334,17 @@
// can be taken into account at phoneuiview.
callHeaderParam.SetServiceId(
iStateMachine->PhoneEngineInfo()->ServiceId( aCallId ) );
-
- // Check if HW Keys or Call UI should be disabled
- CheckDisableHWKeysAndCallUIL();
+
+ // Set touch controls
+ SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
+ SetTouchPaneButtons( EPhoneWaitingCallButtons );
iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId,
&callHeaderParam );
- // Clear the flag
- TPhoneCmdParamBoolean booleanParam;
- booleanParam.SetBoolean( EFalse );
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-
- // Set touch controls
- SetTouchPaneButtons( EPhoneWaitingCallButtons );
-
- UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
-
+ SetNeedToReturnToForegroundAppStatusL( EFalse );
+
EndUiUpdate();
// Go to Conference And Waiting state
// No need for CBA update
@@ -375,19 +359,7 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL()");
-
- TPhoneCmdParamInteger callIdParam;
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewGetExpandedBubbleCallId, &callIdParam );
-
- if ( callIdParam.Integer()!=iRingingCallId )
- {
- CPhoneGsmInCall::UpdateInCallCbaL();
- }
- else
- {
- iCbaManager->SetCbaL( EPhoneCallHandlingIncomingRejectCBA );
- }
+ UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
}
// -----------------------------------------------------------
@@ -400,39 +372,5 @@
"CPhoneTwoSinglesAndWaiting::HandleNumberEntryClearedL()");
UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
}
-
-// -----------------------------------------------------------
-// CPhoneTwoSinglesAndWaiting::HandleCommandL
-// -----------------------------------------------------------
-//
-TBool CPhoneTwoSinglesAndWaiting::HandleCommandL( TInt aCommand )
- {
- __LOGMETHODSTARTEND( EPhoneUIStates,
- "CPhoneTwoSinglesAndWaiting::HandleCommandL() ");
- TBool commandStatus = ETrue;
-
- switch( aCommand )
- {
- case EPhoneCmdUpdateUiControls:
- UpdateUiControlsL();
- break;
-
- default:
- commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
- break;
- }
-
- return commandStatus;
- }
-
-// -----------------------------------------------------------
-// CPhoneTwoSinglesAndWaiting::UpdateUiControlsL
-// -----------------------------------------------------------
-//
-void CPhoneTwoSinglesAndWaiting::UpdateUiControlsL()
- {
- __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::UpdateUiControlsL( ) ");
- UpdateInCallCbaL();
- }
-
+
// End of File