--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
#include <pevirtualengine.h>
#include <StringLoader.h>
#include <mpeengineinfo.h>
-#include <FeatMgr.h>
+#include <featmgr.h>
#include "cphonetwosinglesandwaiting.h"
#include "tphonecmdparamboolean.h"
#include "mphonestatemachine.h"
@@ -114,20 +114,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 );
+ SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed );
}
break;
- }
+ }
default:
CPhoneTwoSingles::HandleKeyMessageL( aMessage, aCode );
@@ -141,7 +141,7 @@
//
void CPhoneTwoSinglesAndWaiting::HandleKeyEventL(
const TKeyEvent& aKeyEvent,
- TEventCode aEventCode )
+ TEventCode /*aEventCode*/ )
{
if( EKeyDeviceF == aKeyEvent.iCode )
{
@@ -301,7 +301,7 @@
{
// Set Two singles softkeys
UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-
+
// If numberentry is not open just check NeedToSendToBackgroundL and
// sendbackround if needed.
if ( NeedToSendToBackgroundL() )
@@ -324,7 +324,7 @@
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
SetTouchPaneButtons( EPhoneTwoSinglesButtons );
// CBA updates in above if-else conditions
- iStateMachine->ChangeState( EPhoneStateTwoSingles );
+ iStateMachine->ChangeState( EPhoneStateTwoSingles );
}
// -----------------------------------------------------------
@@ -336,7 +336,20 @@
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneTwoSinglesAndWaiting::StateTransitionToSingleAndWaitingL()");
// Go to two singles state
- UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+ // <-- QT PHONE START -->
+ TPhoneCmdParamInteger callIdParam;
+ iViewCommandHandle->ExecuteCommandL(
+ EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+
+ if ( callIdParam.Integer()!=iRingingCallId )
+ {
+ CPhoneGsmInCall::UpdateInCallCbaL();
+ }
+ else
+ {
+ iCbaManager->SetCbaL( EPhoneCallHandlingCallWaitingCBA );
+ }
+ // <-- QT PHONE END -->
// Set touch controls
SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
@@ -370,7 +383,11 @@
conferenceText,
callLabelId,
CCoeEnv::Static() );
- callHeaderParam.SetCLIText( conferenceText, CBubbleManager::ERight );
+// <-- QT PHONE START -->
+ callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
+
+ callHeaderParam.SetCallState(EPEStateConnectedConference);
+// <-- QT PHONE END -->
callHeaderParam.SetCiphering(
iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
@@ -378,18 +395,15 @@
callHeaderParam.SetCipheringIndicatorAllowed(
iStateMachine->PhoneEngineInfo()->SecureSpecified() );
+// <-- QT PHONE START -->
// Service identifier must be given so that service specific settings
// can be taken into account at phoneuiview.
callHeaderParam.SetServiceId(
iStateMachine->PhoneEngineInfo()->ServiceId( aCallId ) );
-
- // Set touch controls
- SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
-
+
// Check if HW Keys or Call UI should be disabled
CheckDisableHWKeysAndCallUIL();
-
- SetTouchPaneButtons( EPhoneWaitingCallButtons );
+
iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId,
&callHeaderParam );
@@ -399,7 +413,14 @@
booleanParam.SetBoolean( EFalse );
iViewCommandHandle->ExecuteCommandL(
EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-
+
+ // Set touch controls
+ SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
+ SetTouchPaneButtons( EPhoneWaitingCallButtons );
+
+ UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+
+// <-- QT PHONE END -->
EndUiUpdate();
// Go to Conference And Waiting state
// No need for CBA update
@@ -414,7 +435,21 @@
{
__LOGMETHODSTARTEND( EPhoneUIStates,
"CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL()");
- UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );
+
+// <-- QT PHONE START -->
+ TPhoneCmdParamInteger callIdParam;
+ iViewCommandHandle->ExecuteCommandL(
+ EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+
+ if ( callIdParam.Integer()!=iRingingCallId )
+ {
+ CPhoneGsmInCall::UpdateInCallCbaL();
+ }
+ else
+ {
+ iCbaManager->SetCbaL( EPhoneCallHandlingIncomingSoftRejectCBA );
+ }
+// <-- QT PHONE END -->
}
// -----------------------------------------------------------
@@ -427,5 +462,43 @@
"CPhoneTwoSinglesAndWaiting::HandleNumberEntryClearedL()");
UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
}
-
+
+// <-- QT PHONE START -->
+// -----------------------------------------------------------
+// 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();
+ }
+
+// <-- QT PHONE END -->
+
+
// End of File