diff -r 5266b1f337bd -r 8baf28733c3d phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp --- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Wed Sep 01 12:30:10 2010 +0100 +++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Tue Sep 14 21:18:17 2010 +0300 @@ -22,6 +22,7 @@ #include #include #include +#include #include "phoneui.pan" #include "cphoneresourceresolverbase.h" @@ -30,6 +31,7 @@ #include "phonerssbase.h" #include "phonelogger.h" #include "cphonecenrepproxy.h" +#include "cphonepubsubproxy.h" #include #include @@ -63,6 +65,11 @@ { iVariationFlags |= EVideoCallMenu; } + + if ( FeatureManager::FeatureSupported( KFeatureIdFfEntryPointForVideoShare ) ) + { + iVariationFlags |= EVideoShareEntryPoint; + } } // Destructor @@ -119,6 +126,15 @@ { return CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( aFeatureId ); } + +TBool CPhoneResourceResolverBase::ShowVideoShareButton() const + { + return ( iVariationFlags & EVideoShareEntryPoint ) && + CPhonePubSubProxy::Instance()->Value + ( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator ) + == ECoreAppUIsVideoSharingIndicatorOn; + } + // ----------------------------------------------------------------------------- // CPhoneResourceResolverBase::ResolveResourceID // Empty implementation, because there isn't common phoneapp.rss file. @@ -1363,7 +1379,14 @@ break; case EPhoneIncallButtons: - retVal = R_PHONEUI_INCALL_BUTTONS; + if ( ShowVideoShareButton() ) + { + retVal = R_PHONEUI_INCALL_VIDEO_SHARE_BUTTONS; + } + else + { + retVal = R_PHONEUI_INCALL_BUTTONS; + } break; case EPhoneIncallVideoShareButtons: