--- a/mmsharing/mmshavailability/src/musavanetworkavailability.cpp Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavanetworkavailability.cpp Thu Aug 19 09:51:39 2010 +0300
@@ -74,7 +74,8 @@
MMusAvaAvailabilityObserver& aObserver,
CMusAvaSettingsImp& aSettings )
:CMusAvaAvailability( aObserver ),
- iSettings( aSettings )
+ iSettings( aSettings ),
+ iConfcall( EFalse )
{
}
@@ -151,12 +152,27 @@
{
MUS_LOG( "mus: [MUSAVA] \
-> CMusAvaNetworkAvailability::CallConnectedL()" )
- // try to resolve to contact information of the remote host
-
- iSettings.SetTelNumberL( aTelNumber );
- iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() );
- iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() );
- SetState( MMusAvaObserver::EMusAvaStatusAvailable );
+
+// try to resolve to contact information of the remote host
+ iSettings.SetTelNumberL( aTelNumber );
+ iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() );
+ iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() );
+
+ //isn't the phone sent option successfully
+ if ( ( aTelNumber != iSettings.OptionSentTelNumber()
+ || iSettings.OptionSentTelNumber() == KNullDesC() )
+ && iConfcall )
+ {
+ MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusInProgress");
+ iSettings.ReleaseOptionSentNumber();
+ SetState( MMusAvaObserver::EMusAvaStatusInProgress );
+ }
+ else
+ {
+ SetState( MMusAvaObserver::EMusAvaStatusAvailable );
+ MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusAvailable");
+
+ }
MUS_LOG( "mus: [MUSAVA] \
<- CMusAvaNetworkAvailability::CallConnectedL()" )
@@ -173,6 +189,7 @@
MUS_LOG( "mus: [MUSAVA] \
-> CMusAvaNetworkAvailability::ConferenceCallL()" )
//Report line status
+ iConfcall = ETrue;
SetState( MMusAvaObserver::EMusAvaStatusConferenceCall );
MUS_LOG( "mus: [MUSAVA] \
<- CMusAvaNetworkAvailability::ConferenceCallL()" )
@@ -212,3 +229,20 @@
MUS_LOG( "mus: [MUSAVA] <- CMusAvaNetworkAvailability::NoActiveCallL()" )
}
+
+// -------------------------------------------------------------------------
+//This function is called when conference call terminted
+//
+// -------------------------------------------------------------------------
+//
+void CMusAvaNetworkAvailability::ConferenceCallLTerminated()
+ {
+ MUS_LOG( "mus: [MUSAVA] -> CMusAvaNetworkAvailability::ConferenceCallLTerminated()" )
+ if ( iConfcall )
+ {
+ iConfcall = EFalse;
+ }
+ AvailabilitiesAbleToShowIndicator();
+
+ MUS_LOG( "mus: [MUSAVA] <- CMusAvaNetworkAvailability::ConferenceCallLTerminated()" )
+ }