diff -r 41a7f70b3818 -r 5266b1f337bd phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp --- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp Tue Aug 31 15:14:29 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp Wed Sep 01 12:30:10 2010 +0100 @@ -269,7 +269,7 @@ // --------------------------------------------------------------------------- // void CPhoneCallHeaderManager::SetCallHeaderType( - TInt aCallHeaderType ) + const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType ) { __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetCallHeaderType() "); iCallHeaderParam->SetCallHeaderType( aCallHeaderType ); @@ -279,34 +279,43 @@ // CPhoneCallHeaderManager::~CPhoneCallHeaderManager // --------------------------------------------------------------------------- // -TInt CPhoneCallHeaderManager::CallHeaderType() const +CBubbleManager::TPhoneCallTypeFlags CPhoneCallHeaderManager::CallHeaderType() const { __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::CallHeaderType() "); return iCallHeaderParam->CallHeaderType(); } // --------------------------------------------------------------------------- -// CPhoneCallHeaderManager::SetDivertIndication -// --------------------------------------------------------------------------- -// -void CPhoneCallHeaderManager::SetDivertIndication( const TBool aDivertIndication ) - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetDivertIndication()"); - iCallHeaderParam->SetDivertIndication( aDivertIndication ); - } - -// --------------------------------------------------------------------------- // CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL // --------------------------------------------------------------------------- // void CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL( - const TInt /*aNumberLength*/, - const TBool /*aContactInfoAvailable*/ ) + const TInt aNumberLength, + const TBool aContactInfoAvailable ) { __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL() "); - + TPhoneCmdParamBoolean phoneNumberAvailable; + if( aNumberLength || aContactInfoAvailable ) + { + // Phone number is available straight or via contact info + // so switch to video/voice call is possible + __PHONELOG( EBasic, + EPhoneControl, + "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL - Phonenumber is available" ); + phoneNumberAvailable.SetBoolean( ETrue ); + } + else + { + __PHONELOG( EBasic, + EPhoneControl, + "CPhoneCallHeaderManager::SetPhoneNumberAvailabilityL - Phonenumber is not available" ); + phoneNumberAvailable.SetBoolean( EFalse ); + } + iViewCommandHandle.ExecuteCommandL( + EPhoneViewSetPhoneNumberAvailableInPhoneEngine, + &phoneNumberAvailable ); } // ----------------------------------------------------------- @@ -334,3 +343,23 @@ } } +// ----------------------------------------------------------- +// CPhoneCallHeaderManager::GetInCallNumberTextL +// ----------------------------------------------------------- +// +void CPhoneCallHeaderManager::GetInCallNumberTextL( + TInt aCallId, + TDes& aData ) const + { + __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::GetInCallNumberTextL( ) "); + // Display "Call n", n = callId-8 for video and callId+1 for voice call + HBufC* tmp = StringLoader::LoadL( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneInCallNumberText ), + aCallId + ( IsVideoCall( aCallId ) ? -8 : 1 ), + CCoeEnv::Static() ); + + aData = *tmp; + delete tmp; + } +