--- a/phoneapp/phoneuistates/src/cphoneconference.cpp Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp Fri Feb 19 22:50:26 2010 +0200
@@ -924,6 +924,12 @@
"CPhoneConference::HandleIncomingL()");
BeginUiUpdateLC();
+
+ // Hide the number entry if it exists
+ if ( IsNumberEntryUsedL() )
+ {
+ SetNumberEntryVisibilityL( EFalse );
+ }
TPhoneCmdParamBoolean dialerParam;
dialerParam.SetBoolean( ETrue );
@@ -1126,4 +1132,35 @@
}
}
+// -----------------------------------------------------------
+// CPhoneConference::DisconnectCallL
+// -----------------------------------------------------------
+//
+void CPhoneConference::DisconnectCallL()
+ {
+ __LOGMETHODSTARTEND(EPhoneControl, "CPhoneConference::DisconnectCallL( ) ");
+ // Fetch active call's id from view
+ TPhoneCmdParamCallStateData callStateData;
+ callStateData.SetCallState( EPEStateConnected );
+ iViewCommandHandle->HandleCommandL(
+ EPhoneViewGetCallIdByState, &callStateData );
+
+ if( callStateData.CallId() == KErrNotFound )
+ {
+ // No connected call, find the hold call
+ callStateData.SetCallState( EPEStateHeld );
+ iViewCommandHandle->HandleCommandL(
+ EPhoneViewGetCallIdByState, &callStateData );
+ }
+
+ if( callStateData.CallId() > KErrNotFound )
+ {
+ iStateMachine->SendPhoneEngineMessage(
+ CPEPhoneModelIF::EPEMessageHangUpConference );
+ }
+ else
+ {
+ CPhoneState::DisconnectCallL();
+ }
+ }
// End of File