--- a/internetradio2.0/uisrc/irnowplayingwrapper.cpp Mon May 03 12:25:23 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3314 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-/* ---------------------------------------------------------------------------
-* Version history:
-* Template version:
-* <ccm_history>
-*
-* Version: 19, Fri Sep 19 13:00:00 2008 by Rohit
-* Ref:
-* Added ASF detection and Integrated CIRAsfPlayer in Now Playing scenario
-*
-* </ccm_history>
-* ============================================================================
-*/
-
-#include <internetradio.rsg>
-#include <stringloader.h>
-#include <aknwaitdialog.h>
-
-#include "irnowplayingwrapper.h"
-#include "irmainview.h"
-#include "irdebug.h"
-#include "irstreamsource.h"
-#include "irmediaclient.h"
-#include "irctrlcmdobserver.h"
-#include "irsessionlogger.h"
-#include "irsettings.h"
-#include "irisdswrapper.h"
-#include "irmetadata.h"
-#include "irisdspreset.h"
-#include "irautomatedbitrateselection.h" // KHighQuality defined
-#include "irdialoglauncher.h"
-#include "ircommon.h"
-#include "irui.h"
-#include "irpubsub.h"
-#include "irstreamsourceerrors.h"//KIRStreamSourceTimeOut defined
-#include "irnowplayingview.h"
-#include "ir.hrh"
-#include "irnetworkcontroller.h"
-#include "irhistory.h"
-#include "irplsview.h"
-#include "irnetworkcontrollerobserver.h"
-#include "irasfplayer.h" // CIRAsfPlayer
-#include <mmfcontrollerpluginresolver.h> //to get the supported MIME types
-#include "irmainview.h"
-#include "irmaincontainer.h"
-#include "iractivenetworkobserver.h"
-#include "irreportsettings.h"
-
-const TInt KTemporaryUrlMaxLength = 256;
-const TInt KUrlbufMaxLength = 256;
-//No of volume level is 10 + 1 level 1 level is mute
-const TInt KNOVOLUMELEVELS =10;
-
-
-_LIT(KConst," ");
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper* CIRNowPlayingWrapper::NewL()
-// function to return an instance of CIRNowPlayingWrapper
-// Two phase constructor
-// ---------------------------------------------------------------------------
-//
-CIRNowPlayingWrapper* CIRNowPlayingWrapper::NewL(CIRUi& aAppUi,CIRSettings& aIRSettings,
- CIRIsdsWrapper& aIsdsWrapper)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NewL - Entering" );
- CIRNowPlayingWrapper* self = CIRNowPlayingWrapper::NewLC(aAppUi,aIRSettings,aIsdsWrapper);
- CleanupStack::Pop(self);
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NewL - Exiting." );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper* CIRNowPlayingWrapper::NewLC()
-// Two-phased constructor.
-// Create a CIRNowPlayingWrapper object, which will draw itself
-// to aRect.
-// ---------------------------------------------------------------------------
-//
-CIRNowPlayingWrapper* CIRNowPlayingWrapper::NewLC(CIRUi& aAppUi,CIRSettings& aIRSettings,
- CIRIsdsWrapper& aIsdsWrapper)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NewLC - Entering" );
- CIRNowPlayingWrapper* self = new (ELeave) CIRNowPlayingWrapper(aAppUi,aIRSettings,aIsdsWrapper);
- CleanupStack::PushL(self);
- self->ConstructL();
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NewLC - Exiting." );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::~CIRNowPlayingWrapper()
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CIRNowPlayingWrapper:: ~CIRNowPlayingWrapper()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::~CIRNowPlayingWrapper - Entering" );
- if(iNetwork)
- {
- delete iNetwork;
- iNetwork = NULL;
- }
- iAppUi.GetNowPlayingViewInstance()->DeleteSteroEffect(EFalse);
- if(iPlayer)
- {
- delete iPlayer;
- iPlayer = NULL;
- }
- if(iChannel)
- {
- delete iChannel;
- iChannel = NULL;
- }
- if( iReportGenerator )
- {
- iReportGenerator->Close();
- }
- if(iMetaData)
- {
- delete iMetaData;
- iMetaData = NULL;
- }
- if(iNowPlayingPreset)
- {
- delete iNowPlayingPreset;
- iNowPlayingPreset = NULL;
- }
- if(iEditStationPreset)
- {
- delete iEditStationPreset;
- iEditStationPreset = NULL;
- }
- if(iWaitDialog)
- {
- delete iWaitDialog;
- iWaitDialog = NULL;
- }
- if(iURLArray)
- {
- delete iURLArray;
- iURLArray = NULL;
- }
- iAppUi.iNetworkController->DeleteActiveNetworkObserver(*this);
-
- if( iAsfPlayer )
- {
- delete iAsfPlayer;
- iAsfPlayer = NULL;
- iAsfStreaming = EFalse;
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::~CIRNowPlayingWrapper - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// void CIRNowPlayingWrapper::ConstructL()
-// Constructs the
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::ConstructL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConstructL - Entering" );
- //Instantiate StreamSource
- iNetwork = CIRStreamSource::NewL(*this);
-
- //command channel object creation it is through this component
- //media engine interacts with UI
- iChannel = CIRCtrlCmdObserver::NewL(this,iNetwork);
-
- //media cient object creation
- iPlayer = CIRMediaClient::NewL(iChannel);
-
- //Session Log
- iReportGenerator = CIRReportGenerator::OpenL();
-
- iMetaData = CIRMetaData::NewL();
-
- //Instantiate ISDS Preset
- iNowPlayingPreset=CIRIsdsPreset::NewL();
-
- iEditStationPreset = CIRIsdsPreset::NewL();
-
- //currently not playing
- iPlaying = EFalse;
-
- //session log should not be terminated on loading cancel
- iTerminatedLogOnCancel = EFalse;
-
- // when skipping channels used for audio fadein fade out
- iAudioFadein = EFalse;
-
- // currently set to false since no session created
- iSessionShouldNotEnd = EFalse;
-
- // set when connect to channel server
- iConnectToServer = EFalse;
-
- // TO DO: need to remove this variable
- // set when stop is done from nowplayimng view
- iPlayandStop = EFalse;
-
- // Checks whether network connection has done
- iIsConnected = EFalse;
-
- // Waitdialog required for for showing buffering
- iWaitDialog = NULL;
-
- // The multiple url's of a channel are stored
- iURLArray = NULL;
-
-
- //Used For Now Playing View
-
- iDisplayMetaData=EFalse;
-
- iMarquee = EFalse;
-
- // The variable is set when player is not supported
- iPlayBack=ETrue;
-
- // The variable is set when called for cancel network request
- iCancelNetworkRequest=EFalse;
-
- // The variable is set when buffering waitdialog is deleted
- iDialogCanceled=EFalse;
-
- // Registering for network controller to get the notification
- // when network is lost or network connection is made
- iAppUi.iNetworkController->RegisterActiveNetworkObserverL(*this);
-
- // Required when Switching to network
- iNotify=EFalse;
-
- // Asf streaming
- iAsfPlayer = CIRAsfPlayer::NewL( *this, *this );
-
- // Valuse set when a session is stared
- iSessionStartedFlag = EFalse;
-
- // This variable is set when listen from Isds is done
- iListenFromIsds=EFalse;
-
- // The variable checks whether the nowplaying view is active
- iLaunchNowplaying=EFalse;
-
- // The variable is required when user does buffering watdialog
- iBufferingRequestCancelled=EFalse;
-
- iPlaying=EFalse;
- iQualityRequired=-1;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConstructL - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// void CIRNowPlayingWrapper::CIRNowPlayingWrapper()
-// Default Constructor
-// ---------------------------------------------------------------------------
-//
-CIRNowPlayingWrapper::CIRNowPlayingWrapper(CIRUi& aAppUi,CIRSettings& aIRSettings,
- CIRIsdsWrapper& aIsdsWrapper):iIRSettings(aIRSettings),
- iIsdsWrapper(aIsdsWrapper),iAppUi(aAppUi),
- iAsfPlayer(NULL), iAsfStreaming(EFalse)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::CIRNowPlayingWrapper - Entering" );
- iSessionStart=EFalse;
- iChannelConnect=EFalse;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NewLC - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::OpenComplete()
-// Called when connected to the channel server To implement the fill of buffer
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::OpenComplete()
- {
- //once a buffer is completed this api is called as
- //callback
- IRLOG_DEBUG("CIRNowPlayingWrapper::OpenComplete - Entering" );
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- {
- iPlayer->BufferFilled();
- }
- /**** ASF streaming changes : begin ****/
-
- IRLOG_DEBUG("CIRNowPlayingWrapper::OpenComplete - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::ErrorConnecting()
-// Called when there is an error when connecting to the channel server @Param aErrorCode Indicates the type of error as described in irstreamsourceerrors.h---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ErrorConnecting(TInt aErrorCode)
- {
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::ErrorConnecting(aErrorCode=%d)", aErrorCode );
- iChannelConnect = EFalse;
- // this method fails only if display of info note fails which can be
- // ignored so we use TRAP_IGNORE
-
- TRAP_IGNORE(DoErrorConnectingL(aErrorCode))
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ErrorConnecting - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::PlayNow()
-// Called to indicate to the player to start playing
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::PlayNow()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::PlayNow - Entering" );
-
- DoPlayingStateChanged( ETrue );
-
- //sets the configuration data
- TConfig config;
- //by default takes the volume from data base
- //that is when the player is not currently playing
- config.iVolume = iIRSettings.GetVolumeSetting();
- //if current playing we have to do audio fade in.
- //So we set the volume as zero
- if(iAudioFadein)
- {
- config.iVolume = 0;
- }
- TRAPD(err,iPlayer->StartNewPlayerL(config,iNetwork->ContentTypeL()))
- if( err )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::PlayNow - Starting new player failed (err=%d)", err );
- //if error occurs in occurs, displaying
- TRAP_IGNORE(
- DisplayErrorNoteL(R_IRAPP_IRGENERAL_ERROR);
- )
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::PlayNow - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::Play()
-// Triggers the play after reconnecting to the channel
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::Play()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::Play - Entering" );
- //play is called
- iUrl.Copy(iLastPlayedUrl);
- TInt err = iPlayer->Play();
-
- if( err )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::Play - Play failed (err=%d), starting new player.", err );
- TConfig config;
- config.iVolume = iIRSettings.GetVolumeSetting();
- TRAPD(err2,iPlayer->StartNewPlayerL(config,iNetwork->ContentTypeL()))
- if( err2 )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::Play - Starting new player failed (err=%d)", err2 );
- //if error occurs in occurs, displaying
- TRAP_IGNORE(
- DisplayErrorNoteL(R_IRAPP_IRGENERAL_ERROR);
- )
- }
- }
- IRLOG_DEBUG("CIRNowPlayingWrapper::Play - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::StopBuffering()
-// Called to indicate to the player to stop buffering
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::StopBuffering()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::StopBuffering - Entering" );
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- iPlayer->StopMediaBuffering();
- /**** ASF streaming changes : end ****/
-
- IRLOG_INFO( "CIRNowPlayingWrapper::StopBuffering - Exiting. " );
- }
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::ConnectionEstablished(TInt aFeedValue)
-// Called to indicate that the connection to channel server is sucessful
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ConnectionEstablished()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::ConnectionEstablished - Entering." );
- // Reset channel connection request
- TInt bitRate;
- //To Do:Commented code for accp channel
- /*if( iReConnecting )
- {
- iProgress=EFalse;
- }
- // The control only for the first initial buffering
- // not while reconnecting to same channel i.e, while play & stop.
- // TO Do: here check is dine only for aacp player
- // All content types should be checked
-
- _LIT(KAudiContent,"aacp");//aacp
- RBuf content;
- TRAP_IGNORE(content.Create(iNetwork->ContentTypeL().Length());)
- TRAP_IGNORE(content.Copy(iNetwork->ContentTypeL());)
- TInt MimeType1= content.Find(KAudiContent);
- if(MimeType1!=KErrNotFound)
- {
- TInt returnValue=0;
- TRAP_IGNORE(returnValue=GetSupportedMimeTypeL());
- if(returnValue==KErrNotFound)
- {
- iCancelNetworkRequest = ETrue;
- iURLCount++;
- if(iURLCount>=iURLArray->MdcaCount())
- {
- MCtrlCommand(EError,KErrNotSupported);
- content.Close();
- return;
- }
- iNetwork->CancelRequest();
- iDialogCanceled=EFalse;
- DoPlayingStateChanged( EFalse );
- if(iURLArray->MdcaCount())
- {
- //TRAP_IGNORE(CreateWaitDialogL())
- TBuf8<KUrlbufMaxLength> urlbuf;
- urlbuf.Copy(iURLArray->MdcaPoint(iURLCount));
- //connecting to a new channel so multiple URL selection enabled
- //that if current URL doesn't connect we will try to connect to
- //next URL in iURLArray
- iMultipleURLSelect = ETrue;
- iUnconnectedUrl.Copy(urlbuf);
- TRAPD(error,DoConnectToServerL(urlbuf));
- if( error )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::ConnectToChannel - DoConnectToServer failed (error=%d)", error );
- TRAP_IGNORE( DisplayErrorNoteL(R_IRAPP_ERROR_CONNECTION) )
- }
- content.Close();
- return;
- }
- }
- }
- content.Close();*/
- // here since the connection got established the value set to True
- iChannelConnected=ETrue;
- iLastConnectedPresetId = iNowPlayingPreset->GetId();
- iLastConnectedPresetUniqId = iNowPlayingPreset->UniqId();
- iChannelConnect = EFalse;
- //connecting to a new channel so multiple URL selection disabled
- //if we are able to connect to a particular URL we have to
- //disable trying to connect to next URLs since error conditions after this
- //are to handled differently
- iMultipleURLSelect = EFalse;
- if ( iLastConnectedUrl != iUrl )
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::ConnectionEstablished - Station URL changed, clearing history list and current meta data information" );
- TRAP_IGNORE( ClearMetaDataL() )
- }
-
- iLastConnectedUrl.Copy(iUrl);
- iReportGenerator->MarkSessionStart();
- if( iSessionStart )
- {
- // Next url to it is connected is logged.
- iReportGenerator->LogServerResult( iUrl, EIRConnected );
- }
-
- //set the sync state as EPsConnectionSuccessful on a successful connection
- if( !iReConnecting )
- {
- iProgress = ETrue;
- //session end is marked
- //iReportGenerator->MarkSessionStart()
- TRAP_IGNORE(
- TFileName pathtopost=iAppUi.GetPrivatePath();
- pathtopost.Append(KGZipLogFileName);
- //if this api leaves it is ignored
- //we need not do any action if post fails
- //the application should be left unaffected
- if(!iNotify)
- iIsdsWrapper.GetISDSInstance()->IRISDSPostL(pathtopost);
- )
- //starts audio fade out for the previous channel
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- iChannel->DoAudioFadeOut();
- /**** ASF streaming changes : end ****/
-
- /*if(iSessionStart)
- {
- //next url to it is connected is logged
- iReportGenerator->LogServerResult(iUrl,EIRConnected);
- }*/
- }
- else
- {
- // Value set to false becoz the the user is trying
- // to connect to same channel so need to update progress
- iProgress = EFalse;
- }
- // This part of code is needed In some cases
- // When channel is playing and In intial buffer content the bitrate value is Zero
- // So the bitate vaule is taken from the Preset Information and Subscibing
- iPlayBack=ETrue;
- RProperty::Get ( KUidActiveInternetRadioApp, KIRPSBitrate, bitRate );
- if(bitRate==0)
- {
-
- TRAP_IGNORE(bitRate= iNowPlayingPreset->GetChannelBitrateL(iURLCount);)
- RProperty::Set ( KUidActiveInternetRadioApp, KIRPSBitrate, bitRate );
- }
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iAppUi.GetNowPlayingViewInstance()->SetBitrate(EFalse);
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConnectionEstablished - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::UpdateProgress()
-// Called to provide teh buffer values @param aFeedValue used to pump the buffering value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::UpdateProgress(TInt aFeedValue)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::UpdateProgress - Entering" );
- if(iProgress)
- {
- if(!iIsdsWrapper.ActiveWaitDialog())
- {
- RBuf Feed;
- HBufC* percent=NULL;
- TRAP_IGNORE(percent= StringLoader::LoadL(R_IRAPP_LOADING_BUFFERING_PERCENTAGE, aFeedValue);)
- Feed.Create(percent->Length());
- Feed.Copy(*percent);
- delete percent;
- if(!iWaitDialog)
- {
- iWaitDialog = new CAknWaitDialog( NULL,ETrue);
- if(!iWaitDialog)
- {
- return;
- }
- else
- {
- iWaitDialog->SetCallback(this);
- TRAP_IGNORE(iWaitDialog->ExecuteLD(R_IRAPP_PROGRESS_DIALOG);)
- }
- }
- if(iWaitDialog)
- {
- TRAPD(err,iWaitDialog->SetTextL(Feed);)
- if(err!=KErrNone)
- {
- return;
- }
- }
- iBufferigSteamText=ETrue;
- Feed.Close();
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::UpdateProgress - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::HandleMetaDataReceivedL()
-// Invoked when meta data is received. @param aMetaData The meta data that was received.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::HandleMetaDataReceivedL( const CIRMetaData& aMetaData )
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::HandleMetaDataReceivedL - Entering" );
- TBuf<KMAXMETABUFLENGTH> artist = aMetaData.Artist();
- TBuf<KMAXMETABUFLENGTH> song = aMetaData.Song();
- RemoveWhiteSpace( artist );
- RemoveWhiteSpace( song );
- iMetaData->SetArtistL( artist );
- iMetaData->SetSongL( song );
-
- if(iMetaData->Artist().Length() || iMetaData->Song().Length())
- {
- if ((iAppUi.GetNowPlayingViewInstance()->iContainer ))
- {
- iMarquee=ETrue;
- iDisplayMetaData=EFalse;
- iAppUi.GetNowPlayingViewInstance()->DisplaySongArtistNameL( iMetaData->Song(),
- iMetaData->Artist() );
- }
- // the history should get updated only when 100 persent buffering is done
- if(!iWaitDialog||iAppUi.iIsdsWrapper->GetListenRequest())
- {
- PublishDataL();
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::HandleMetaDataReceivedL - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::MCtrlCommand()
-// Function is pure virtual function which used to pass commands @param TIRControlCommmand represents the commands,which determines what action to be taken
-// @param aValue represents any integer value if any, like buffering percentage
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::MCtrlCommand( TIRControlCommmand aCommand, TInt aValue )
- {
- IRLOG_INFO3( "CIRNowPlayingWrapper::MCtrlCommand (aCommand=%d, aValue=%d)", aCommand, aValue );
- switch (aCommand)
- {
- case EBufferFillStart:
- {
- //TO Do:: This is needed for future Use
-
- break;
- }
-
- case EBufferFillStop:
- {
- TRAP_IGNORE(DestroyWaitDialogL());
- DoPlayingStateChanged( ETrue );
- iBufferingRequestCancelled=EFalse;
- iDialogCanceled=EFalse;
- iPlayBack=ETrue;
- if(iNowPlayingPreset->GetChannelType())
- {
- iUinqid=iNowPlayingPreset->UniqId();
- }
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- TRAP_IGNORE(iAppUi.iMainView->GetMainContainer()->UpdateAllL();)
- }
- // publish the play status
- RProperty::Set( KUidActiveInternetRadioApp,KIRPSMultiplePlay,
- iAppUi.GetCurrentThreadIDValue());
- if( iSessionStart )
- {
- iReportGenerator->HandleStopEvents(ETrue);
- }
- if( iProgress )
- {
- //since we are able to connect to the URL the url is current streaming URL
- //implemented for the progress bar view
- iLastPlayedUrl.Copy(iLastConnectedUrl);
- //To publish the metadata
- TRAP_IGNORE(PublishDataL();)
- if(!iLaunchNowplaying && iNotify)
- {
- IRRDEBUG2("CIRNowPlayingWrapper::EBufferFillStop - iNotify", KNullDesC );
- iProgress = EFalse;
- iLaunchNowplaying=EFalse;
- break;
- }
- iNotify=EFalse;
- //Activate NowPlayingView
- if(!iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- if(iContextViews==EHistoryView)
- {
- if(iAppUi.IsForeground()|| iAppUi.GetBgLock())
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KHistoryLaunch,KIRNowPlayingViewCustomMessagePlayAfterActivation));
- iAppUi.SetActivationPendingValue(KNullUid);
- }
- else
- {
- iAppUi.SetActivationPendingValue(KIRNowPlayingViewID);
- }
- }
- else if(iContextViews==EFav||iContextViews==ELastplayed)
- {
- _LIT8(KNull,"");
- if(iAppUi.IsForeground()|| iAppUi.GetBgLock())
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KNowPlayingFrmMainView,KNull);)
- iAppUi.iActivationPending = KNullUid ;
- }
- else
- {
- iAppUi.SetActivationPendingValue(KIRNowPlayingViewID);
- }
- }
- else
- {
- if ( iAppUi.IsForeground()|| iAppUi.GetBgLock())
- {
- iAppUi.SetActivationPendingValue(KNullUid);
- TRAP_IGNORE(iAppUi.ActivateLocalViewL(KIRNowPlayingViewID))
- }
- else
- {
- iAppUi.SetActivationPendingValue(KIRNowPlayingViewID);
- }
- }
- }
- iProgress = EFalse;
- }
- else
- {
- IRRDEBUG2("CIRNowPlayingWrapper::DestroyWaitDialogLiProgress Entering", KNullDesC);
- TRAP_IGNORE(DestroyWaitDialogL());
- TRAP_IGNORE(PublishDataL();)
- iAppUi.GetNowPlayingViewInstance()->SetsameUrlFlag(ETrue);
- DoPlayingStateChanged( ETrue );
- if(iAppUi.GetPlayStateWhileCall())
- {
- iAppUi.SetPlayStateWhileCall(EFalse);
- break;
- }
- if(iPlayandStop)
- {
- iPlayandStop=EFalse;
- if(!iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- if(iContextViews==EHistoryView)
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KHistoryLaunch,KIRNowPlayingViewCustomMessagePlayAfterActivation);)
- }
- else if(iContextViews==EFav||iContextViews==ELastplayed)
- {
- _LIT8(KNull,"");
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KNowPlayingFrmMainView,KNull);)
- }
- else
- {
- if ( iAppUi.IsForeground() || iAppUi.GetBgLock() )
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL(KIRNowPlayingViewID))
- }
- }
- }
- }
- else if(iAppUi.IsCallActive()||iAppUi.GetAlarm())
- {
- if(!iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- if(iContextViews==EHistoryView)
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KHistoryLaunch,KIRNowPlayingViewCustomMessagePlayAfterActivation);)
- }
- else if(iContextViews==EFav)
- {
- _LIT8(KNull,"");
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KNowPlayingFrmMainView,KNull);)
- }
- else
- {
- if ( iAppUi.IsForeground() || iAppUi.GetBgLock() )
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL(KIRNowPlayingViewID))
- }
- }
- }
- }
- }
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingStop);
- IRRDEBUG2("CIRNowPlayingWrapper::EBufferFillStop Exit", KNullDesC);
-
- break;
- }
-
- case EBufferFilling:
- {
- //no implementation
- break;
- }
-
- case EBufferFadeOut:
- {
- //for fade out volume is updated
- SetAudioVolume(aValue);
- break;
- }
-
- case EBufferFadeIn:
- {
- //for fade in volume is updated
- SetAudioVolume(aValue);
- break;
- }
-
- case EStoppedPlaying:
- {
-
- if(iPlaying)
- {
- iAudioFadein=ETrue;
- }
-
- if( iSessionStart )
- {
- iReportGenerator->HandleStopEvents(EFalse);
- }
- if ( !iProgress || aValue != KErrDied )
- {
- if( !iAppUi.GetAlarm() && !iAppUi.IsCallActive() && aValue != KErrDied )
- {
- iNetwork->CancelRequest();
- }
- }
-
- TBool returnValue = EFalse;
- #ifndef __WINS__
- TRAP_IGNORE( ( returnValue = CheckCallStatusL() ) )
- #endif
- if(!returnValue)
- {
- DoPlayingStateChanged( EFalse );
- }
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- TRAP_IGNORE(iAppUi.iMainView->GetMainContainer()->UpdateAllL();)
- }
-
- break;
- }
-
- case EBufferFadeInReady:
- {
- //start audio fade in
- if(iAudioFadein && (!iAppUi.GetNowPlayingViewInstance()->IsVolumeMuted()))
- {
- TIRControlCommmand command = EBufferFadeIn;
- TInt volume=0;
- volume = iIRSettings.GetVolumeSetting();
- iChannel->AudioFadeInOut(command,volume);
- iAudioFadein = EFalse;
- }
- break;
- }
- case EStereo:
- {
- if(iAppUi.GetNowPlayingViewInstance())
- {
- iAppUi.GetNowPlayingViewInstance()->DeleteSteroEffect(ETrue);
- }
- break;
- }
- case EPlayingState:
- {
- if(iAppUi.GetNowPlayingViewInstance())
- {
- iAppUi.GetNowPlayingViewInstance()->DisablePlayer();
- }
- }
- break;
- case EError:
- {
- if( ( KErrNotSupported == aValue ) || ( KErrNotFound == aValue )
- ||(KIRCtrlCmdPlayerNotCreated==aValue) )
- {
- //iURLCount++
- //Handling Radio Playback Failed
- if(iURLArray->MdcaCount()>0)
- {
- TRAP_IGNORE(DestroyWaitDialogL());
- DoPlayingStateChanged( EFalse );
- if( iSessionStart )
- {
- iReportGenerator->LogServerResult(iUrl,EIRConnFailed);
- iReportGenerator->HandleStopEvents(EFalse);
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = EUserTerminated;
- //and the cause of error
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- //session ends due to error
- TRAP_IGNORE(iReportGenerator->SessionEndL(EFalse);)
- iSessionStart=EFalse;
- iSessionShouldNotEnd = EFalse;//check
- }
- iPlayBack=EFalse;
- if(!iProgress)
- {
- iNetwork->CancelRequest();
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- }
- else
- {
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- }
- }
- else
- {
- //reset the view to a proper view during the error conditions
- HandlePlayError();
- }
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iAppUi.GetNowPlayingViewInstance()->SetBitrate(EFalse);
- }
- //if error occurs in player an error note is displayed
- TRAP_IGNORE(
- DisplayErrorNoteL(R_IRAPP_PLAY_FAIL_ERROR);
- )
- }
- }
- }
- break;
-
- default:
- {
- break;
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::MCtrlCommand - Exiting.");
- }
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::FetchVolume()
-// Function is pure virtual function which sents Request to get the current volume index
-// @return volume index
-// ---------------------------------------------------------------------------
-//
-TInt CIRNowPlayingWrapper::FetchVolume()
- {
- //gets the volume from the settings
- IRLOG_DEBUG( "CIRNowPlayingWrapper::FetchVolume" );
- TInt volume=0;
- volume=iIRSettings.GetVolumeSetting();
- return volume ;
- }
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::DoAudioFadeOut()
-// Function is pure virtual function, it is used to sent request start audio Fade Out
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DoAudioFadeOut()
- {
- //triggers audio fade out
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::DoAudioFadeOut - iAudioFadein=%d", iAudioFadein );
- if(iAudioFadein)
- {
- TIRControlCommmand command = EBufferFadeOut;
- TInt volume=0;
- volume= iIRSettings.GetVolumeSetting();
- iChannel->AudioFadeInOut(command,volume);
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoAudioFadeOut - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::PlayerChanged()
-// Function is pure virtual function which sents Request to get the current volume index
-// @return volume index
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::PlayerChanged()
- {
- if(iAppUi.GetNowPlayingViewInstance())
- {
-
- TRAP_IGNORE(iAppUi.GetNowPlayingViewInstance()->GetStereoModeL();)
- }
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::ConnectToChannel()
-// This function is called to connect to a particular channel
-// This function will obtain the multiple urls into an array
-// connects to the first url in the array
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ConnectToChannelL(CIRIsdsPreset& aPreset)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConnectToChannel - Entering" );
- iCheckValue=EFalse;
- iDialogCanceled=EFalse;
- iPlayandStop=ETrue;
- iSyncPreset=EFalse;
- if(iQualityRequired!=-1 && iURLArray->MdcaCount()!=1 && !iPlaying )
- {
- TInt qualityrequired;
- switch(iAppUi.iNetworkController->IdentifyConnectionType())
- {
- case EGprs: // Falls through.
- case EEdge:
- {
- //if GPRS network get the selection
- qualityrequired = iIRSettings.GetGPRSBitrateQuality();
- }
- break;
- case EWcdma:
- case ECdma2000:
- {
- //if 3G network get the selection
- qualityrequired = iIRSettings.Get3GBitrateQuality();
- }
- break;
-
- case EWiFi:
- {
- //if WiFi network get the selection
- qualityrequired = iIRSettings.GetWiFiBitrateQuality();
- }
- break;
- default:
- {
- //if WiFi network get the selection
- qualityrequired = iIRSettings.GetWiFiBitrateQuality();
- }
- break;
- }
- if(iQualityRequired!=qualityrequired)
- {
- iLastConnectedUrl.Zero();
- }
- }
- //getting the URLs from the preset according to the preset
- SelectUrlUsingBitRateL(aPreset);
- TBuf8<KUrlbufMaxLength> urlbuf;
- TBuf<KMaxUrlSize> CheckLastConnected;
- iURLCount = 0;
- if ( iURLArray->MdcaCount() > 0 )
- {
- urlbuf.Copy(iURLArray->MdcaPoint(iURLCount));
- //connecting to a new channel so multiple URL selection enabled
- //that if current URL doesn't connect we will try to connect to
- //next URL in iURLArray
- iMultipleURLSelect = ETrue;
- iUnconnectedUrl.Copy(urlbuf);
- for(TInt i=0;i<iURLArray->MdcaCount() && !iCheckValue;i++)
- {
- CheckLastConnected.Copy(iURLArray->MdcaPoint(i));
- if(iLastConnectedUrl.Compare(CheckLastConnected)==0)
- {
- if(iPlaying||(iUinqid==iNowPlayingPreset->UniqId())||(iURLArray->MdcaCount()==1))
- {
- iCheckValue=ETrue;
- }
- if(iPlaying)
- {
- DestroyWaitDialogL();
- }
- }
- }
- if(iNotify)
- {
- iDialogCanceled=EFalse;
- if(!iIsdsWrapper.ActiveWaitDialog())
- CreateWaitDialogL();
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingStart);
-
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
- iReConnecting=EFalse;
- TRAPD(error,DoConnectToServerL(urlbuf));
- if( error )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::ConnectToChannel - DoConnectToServer failed (error=%d)", error );
- TRAP_IGNORE( DisplayErrorNoteL(R_IRAPP_ERROR_CONNECTION) )
- }
- }
- else
- {
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iLaunchNowplaying=ETrue;
- }
- if(!iCheckValue)
- {
- iLastConnectedUrl.Zero();
- CheckLastConnected.Zero();
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iAppUi.GetNowPlayingViewInstance()->SetsameUrlFlag(EFalse);
- }
- if(iPlaying && !iProgress)
- {
- #ifndef __WINS__
- StopBuffering();
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- {
- iPlayer->Stop();
- }
- else
- {
- iAsfStreaming = EFalse;
- iAsfPlayer->Stop();
- }
- if(iSessionStart)
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = EUserTerminated;
- //and the cause of error
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- //session ends due to error
- iReportGenerator->SessionEndL(EFalse);
- iSessionStart=EFalse;
- }
-
- /**** ASF streaming changes : end ****/
- #endif //__WINS__
- }
- if(iContextViews==EFav||iContextViews==EPls||
- iContextViews==EHistoryView||iContextViews==ELastplayed)
- {
- CreateWaitDialogL();
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingStart);
- }
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
- DoConnectToServerL(urlbuf);
- }
- else if(iCheckValue)
- {
- urlbuf.Copy(CheckLastConnected);
- iUnconnectedUrl.Copy(CheckLastConnected);
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
-
- TRAPD(error,DoConnectToServerL(urlbuf));
- if( error )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::ConnectToChannel - DoConnectToServer failed (error=%d)", error );
- TRAP_IGNORE( DisplayErrorNoteL(R_IRAPP_ERROR_CONNECTION) )
- }
- }
- }
- }
- if(iContextViews==EFav)
- {
- TInt passId=iAppUi.GetFavPresetsInstance()->SearchPreset( iNowPlayingPreset->GetId(),
- iNowPlayingPreset->UniqId());
- // Checks for the preset index of the channel, if preset index exists
- // in favourites list, publishes the preset index.
- if( passId != KErrNotFound)
- {
- TInt presetIndex = passId+1;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetIndex );
- }
- else
- {
- // If preset not present in favourites list, publishes the index
- // as 0. This is set to 0 here to indicate the active idle
- // component that the index with 0 is a non favourite channel.
- TInt presetIndex = 0;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetIndex );
- }
-
-
- }
- else
- {
- TInt presetIndex = 0;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetIndex );
- }
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConnectToChannel - Exiting." );
- }
-
-// -------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SelectUrlUsingBitRateL()
-// Selects the proper URL based on settings of quality
-// according to current network
-// current network type is stored in iNetwork. gets the URLs in iURLArray
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SelectUrlUsingBitRateL(CIRIsdsPreset& aPreset)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SelectUrlUsingBitRate - Entering" );
-#ifdef __WINS__
- if(iURLArray)
- {
- delete iURLArray;
- iURLArray = NULL;
- }
- aPreset.SetUrlCount(); // remove build warning
- _LIT(KWinUrl,"http://172.28.205.137:8000");
- iURLArray = new (ELeave) CDesCArrayFlat(1);
- iURLArray->AppendL(KWinUrl);
-#else
- //by default we are setting quality as KHighQuality
- TInt qualityrequired = KHighQuality;
- switch(iAppUi.iNetworkController->IdentifyConnectionType())
- {
- case EGprs: // Falls through.
- case EEdge:
- {
- //if GPRS network get the selection
- qualityrequired = iIRSettings.GetGPRSBitrateQuality();
- }
- break;
- case EWcdma:
- case ECdma2000:
- {
- //if 3G network get the selection
- qualityrequired = iIRSettings.Get3GBitrateQuality();
- }
- break;
-
- case EWiFi:
- {
- //if WiFi network get the selection
- qualityrequired = iIRSettings.GetWiFiBitrateQuality();
- }
- break;
- default:
- {
- //if WiFi network get the selection
- qualityrequired = iIRSettings.GetWiFiBitrateQuality();
- }
- break;
- }
- iQualityRequired=qualityrequired;
- selectedbitrate = 0;
- //depending on required quality we are selecting bit rate
- selectedbitrate = GetAvailableBitRate(qualityrequired,aPreset);
-
- IRLOG_INFO3( "CIRNowPlayingWrapper::SelectUrlUsingBitRate - selectedbitrate=%d, qualityrequired=%d",
- selectedbitrate, qualityrequired );
-
- //getting all the available URLs
- if(iURLArray)
- {
- delete iURLArray;
- iURLArray = NULL;
- }
- TRAP_IGNORE(iURLArray = aPreset.GetUrlForBitrateL(selectedbitrate))
-#endif
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SelectUrlUsingBitRate - Exiting." );
- return;
- }
-
-/// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DisplayErrorNoteL()
-// Display the error note
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DisplayErrorNoteL(TInt aResourceId)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DisplayErrorNoteL - Entering" );
- HBufC* error = StringLoader::LoadLC(aResourceId);
- iIsdsWrapper.GetDialogLauncherInstance()->ShowErrorNoteL(aResourceId,ETrue);
- CleanupStack::PopAndDestroy(error);
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DisplayErrorNoteL - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DoConnectToServerL()
-// Connects to Server.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DoConnectToServerL(const TDesC8& aUrl)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoConnectToServerL - Entering" );
- //Compress the heap memory
- iListenFromIsds=ETrue;
- RHeap& heapHandle = User::Heap();
- heapHandle.Compress();iListenFromIsds=ETrue;
- //This variable is used for checking whether request for each URl is done
- iConnectionRequestCancelled = EFalse;
- TBuf<KTemporaryUrlMaxLength> temporaryUrl;
- //This variable set while reconnecting to the same channel
- iReConnecting = EFalse;
- temporaryUrl.Copy(aUrl);
- if( (iLastConnectedUrl.Compare(temporaryUrl) == 0) &&
- (iLastPlayedUrl.Compare(temporaryUrl) == 0) )
- {
- TInt test=iNowPlayingPreset->UniqId();
- if( iNowPlayingPreset->UniqId() != iLastConnectedPresetUniqId && iPlaying)
- {
- //if channel's unique is not equal to last connected channels unique id but
- //their urls match the preset information has to be updated
- //and channel name has to be changed
- iLastConnectedPresetId = iNowPlayingPreset->GetId();
- iLastConnectedPresetUniqId = iNowPlayingPreset->UniqId();
- iAppUi.GetNowPlayingViewInstance()->SetsameUrlFlag(ETrue);
- PublishDataL();
- if(!iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- if ( iAppUi.IsForeground() || iAppUi.GetBgWhenLockState() )
- {
- iAppUi.SetActivationPendingValue(KNullUid);
- if(iContextViews==EHistoryView)
- {
- iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KHistoryLaunch,KIRNowPlayingViewCustomMessagePlayAfterActivation);
- }
- else if(iContextViews==EFav)
- {
- _LIT8(KNull,"");
- TRAP_IGNORE(iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KNowPlayingFrmMainView,KNull);)
- }
-
- else
- {
- TRAP_IGNORE(iAppUi.ActivateLocalViewL(KIRNowPlayingViewID))
- }
- }
- else
- {
- iAppUi.SetActivationPendingValue(KIRNowPlayingViewID);
- }
- }
- }
- //If radioplay back is occured and if the user Tries to connect
- //to the same connected channel
- else if(iPlayBack && iPlaying)
- {
- PublishDataL();
- if( KIRNowPlayingViewID == iAppUi.GetPresentViewID() )
- {
- //redraw now playing view if already activated
- iAppUi.GetNowPlayingViewInstance()->SetsameUrlFlag(ETrue);
- }
- else
- {
- //last played url is same as current url no need
- //to reconnect loads the now playing view
- if ( iAppUi.IsForeground() || iAppUi.GetBgWhenLockState() )
- {
- //if in fore ground view is loaded
- iAppUi.ActivateLocalViewL( KIRNowPlayingViewID,
- KIRNowPlayingViewCustomMessageId,
- KIRNowPlayingViewCustomMessagePlayAfterActivation );
- iAppUi.SetActivationPendingValue(KNullUid) ;
- }
- else
- {
- iAppUi.SetActivationPendingValue(KIRNowPlayingViewID) ;
- }
- }
- }
- else if((iURLArray->MdcaCount()==1)||(iUinqid==iNowPlayingPreset->UniqId()))
- {
- DoPlayL();
- }
-
- }
- else
- {
- //If the next channel is getting connected then the Session which is made
- //should get terminated
- if(iPlaying)
- {
- //audio fade in has to be done
- iAudioFadein = ETrue;
- iPlaying=EFalse;
- }
- iTerminatedLogOnCancel=ETrue;
- if( iSessionStart )
- {
- /*if( !iSessionShouldNotEnd )
- {
- //posting the previous session after ending it
- TTerminationStatus terminationstatus = EUserTerminated;
- //ending the previous session
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- iSessionStart = EFalse;
- iSessionShouldNotEnd = EFalse;
- //session end is called
- TRAPD(error,iReportGenerator->SessionEndL(ETrue));
- if( error )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::DoConnectToServerL - Report generation (Session End) failed (error=%d).",
- error );
- }
- }*/
- iSessionShouldNotEnd = EFalse;
- }
- if(!iSessionStart)
- {
- LogStartSession();
- }
- iUrl.Copy(aUrl);
- //connection to new server url is attempted
- ConnectToServerL();
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoConnectToServerL - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetAvailableBitRate()
-// Selects proper bit rate from the settings
-// it can be low quality (<48), medium quality (<128), high quality(>=128)
-// nearest quality bitrate is selected if none is available the lowest one,
-// which is the first one in preset array is returned
-// ---------------------------------------------------------------------------
-//
-TInt CIRNowPlayingWrapper::GetAvailableBitRate(TInt aQualiyRequired,
- const CIRIsdsPreset& aPreset) const
- {
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::GetAvailableBitRate(aQualityRequired )", aQualiyRequired );
- TInt qualityrequired = aQualiyRequired;
-
- //checking the quality is between KLowQuality and KHighQuality
- if( KLowQuality > qualityrequired )
- {
- qualityrequired = KLowQuality;
- }
- if( KHighQuality < qualityrequired )
- {
- qualityrequired = KHighQuality;
- }
-
- //getting all available bit rates from preset
- RArray<TInt> arrayofbitrates;
- aPreset.GetAvailableBitrates(arrayofbitrates);
-
- //finding the number of bit rates available
- TInt noofbitrateentries = arrayofbitrates.Count();
- TInt bitrate = 0;
- //bit rate is not found
- TBool bitratefound = EFalse;
- //selecting the bitrate since index is one less than count we taken
- //noofbitrateentries - 1
- while(((noofbitrateentries - 1) >= 0) && (EFalse == bitratefound))
- {
- //proper bit rate is not found
- bitratefound = EFalse;
- //get the bit rate from the array for comparison
- bitrate = arrayofbitrates[noofbitrateentries - 1];
- if( KLowQuality == qualityrequired )
- {
- //if required quality is low we will select all the bit rate
- // less than Medium quality level (<48kbps)
- if( KMediumBitRateLimit > bitrate )
- {
- bitratefound = ETrue;
- }
- }
- else if( KMediumQuality == qualityrequired )
- {
- //if required quality is medium we will select all the bit
- //rate less than high quality level (<48kbps)
- if( KHighBitRateLimit > bitrate )
- {
- bitratefound = ETrue;
- }
- }
- else
- {
- //if required quality is high we will allow current bit rate
- bitratefound = ETrue;
- }
- //if we take next element if noofbitrateentries is greater than zero
- //and bitratefound = EFalse
- noofbitrateentries--;
- }
- //if no bitrate is available we will sent the first bitrate from entry
-
- arrayofbitrates.Close();
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::GetAvailableBitRate - Returning %d", bitrate );
- return bitrate;
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::LogStartSession()
-// Starts the session log session.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::LogStartSession()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::LogStartSession - Entering" );
- iReportGenerator->UpdateConnectedFrom(iConnectedFrom);
- //setting the channel id
- SetCurrentChannelID();
- iReportGenerator->UpdateChannelID(iChannelID);
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
- if(iSessionStartedFlag)
- {
- iSessionStart = ETrue;
- }
- else
- {
- //if session ended new session starts
- TRAPD(error,iReportGenerator->SessionStartedL());
- if( error )
- {
- iSessionStart = EFalse;
- }
- else
- {
- iSessionStart = ETrue;
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::LogStartSession - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// Function : SetCurrentChannelID
-// Function sets currently playing channel ID
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetCurrentChannelID()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetCurrentChannelID - Entering" );
- //get current channel id
- iChannelID = iNowPlayingPreset->GetId();
- IRLOG_INFO2( "CIRNowPlayingWrapper::SetCurrentChannelID - ID now %d", iChannelID );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetCurrentChannelID - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::ConnectToServerL()
-// Starts playing the selected stream
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ConnectToServerL()
- {
- //connection to a particular channel server url is
- //attempted
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConnectToServerL - Entering" );
- iChannelConnect = ETrue;
- iConnectToServer=ETrue;
- RProperty::Get ( KUidActiveInternetRadioApp, KIRPSBitrate,
- iBitRateValue);
-
- // ASF streaming check
- iAsfStreaming = EFalse;
-#ifdef __IRA_FEATURE_WMA_ENABLED
- if( CIRAsfPlayer::DetectAsfChannel(iUrl) )
- {
- iAsfStreaming = ETrue;
- iAsfPlayer->PlayL(iUrl);
- }
-#endif
- if( !iAsfStreaming )
- {
- iNetwork->ConnectToServerL(iUrl);
- }
-
- iIsConnected = ETrue;
- //iFromPlsFile = EFalse
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ConnectToServerL - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// Function : SetCurrentConnectionSource
-// Function sets from where the current connection to the channel server
-// is established. It may be from
-// isds or saved preset
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetCurrentConnectionSource(TConnectedFrom aConnectedFrom)
- {
- //0 means isds
- //1 means saved preset
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::SetCurrentConnectionSource(aConnectedFrom=%d)", aConnectedFrom );
- iConnectedFrom = aConnectedFrom;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetCurrentConnectionSource - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DoErrorConnectingL()
-// Called by CIRStreamSource when there is an error in connectiong
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DoErrorConnectingL(TInt aErrorCode)
- {
- IRLOG_ERROR3("CIRNowPlayingWrapper::DoErrorConnectingL(aErrorCode=%d) - iUrl=%S", aErrorCode, &iUrl );
- //Called by CIRStreamSource when there is an error in connectiong
- //to channel server.
- iChannelConnected=EFalse;
- if(iSessionStart)
- {
- if( KIRStreamSourceTimeOut == aErrorCode )
- {
- //error URLs is logged
- iReportGenerator->LogServerResult(iUrl,EIRConnTimeOut);
- }
- else if( KIRStreamSourceNoResponse == aErrorCode )
- {
- //error URLs is logged
- iReportGenerator->LogServerResult(iUrl,EIRFull);
- }
- else
- {
- //error URLs is logged
- iReportGenerator->LogServerResult(iUrl,EIRConnFailed);
- }
- }
-
- //URL is deleted
- iUrl.Zero();
- iURLCount++;
- //since each preset has multiple urls trying to connect to the next url
- if( iMultipleURLSelect )
- {
- //if error before connection to channel server
- //multiple urlselection is enabled
- if( (iURLCount) < iURLArray->MdcaCount() && !iConnectionRequestCancelled )
- {
- //take the subsequent URLs and play in case of failure
- TBuf8<KUrlbufMaxLength> urlbuf;
- urlbuf.Copy(iURLArray->MdcaPoint(iURLCount));
- iUnconnectedUrl.Copy(urlbuf);
- iMultipleURLSelect = ETrue;
- iSessionShouldNotEnd = ETrue;
- //connect to server is called
- DoConnectToServerL(urlbuf);
- }
- else
- {
- //If all the possible urls fails to connect it displays
- //Unable to connect
- iTerminatedLogOnCancel=EFalse;
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iDisplayMetaData=ETrue;
- iAppUi.GetNowPlayingViewInstance()->DisplaySongArtistNameL( KConst,KConst);
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- iLastConnectedPresetId=0;
- }
- else
- {
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- }
- ClearMetaDataL();
- DestroyWaitDialogL();
- iPlayBack=ETrue;
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iAppUi.GetNowPlayingViewInstance()->SetBitrate(ETrue);
- }
- iDialogCanceled=EFalse;
- iConnectToServer=EFalse;
- iNotify=EFalse;
- iListenFromIsds=EFalse;
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
- iAppUi.SetPlayStateWhileCall(EFalse);
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingError);
- DisplayErrorNoteL(aErrorCode ==
- KIRStreamSourceInvalidUrl ? R_IRAPP_ERROR_ADDRESS : R_IRAPP_ERROR_GENERAL);
- iConnErrCode = 0;
- //Since channel is not able to connect Ending the Session
- if(iSessionStart)
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = ENoConnectionToServer;
- //and the cause of error
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- //session ends due to error
- iReportGenerator->SessionEndL(EFalse);
- iSessionStart=EFalse;
- iSessionShouldNotEnd = EFalse;//check
- }
- DoPlayingStateChanged( EFalse );
- }
- }
- else
- {
- //if the error is Connection Timed out
- if( KIRStreamSourceTimeOut == aErrorCode )
- {
- //if the response is no response from server
- if( iProgress )
- {
- //progress bar view is cancelled
- ProgressBarCancel();
- }
- DestroyWaitDialogL();
- iConnectToServer=EFalse;
- iNotify=EFalse;
- iListenFromIsds=EFalse;
- iDialogCanceled=EFalse;
-
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingError);
-
- //error note to be displayed
- DisplayErrorNoteL(R_IRAPP_ERROR_CONNECTION);//player is expected not to play
- ClearMetaDataL();
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- iLastConnectedPresetId=0;
- iPlayBack=ETrue;
- DoPlayingStateChanged( EFalse );
- iAppUi.SetPlayStateWhileCall(EFalse);
- }
- else
- {
- StopNow();
- //if error due connection at any point after connecting to channel server
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iDisplayMetaData=ETrue;
- iAppUi.GetNowPlayingViewInstance()->DisplaySongArtistNameL( KConst,KConst);
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- iLastConnectedPresetId=0;
- }
- else
- {
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- }
- ClearMetaDataL();
- iTerminatedLogOnCancel=EFalse;
- iDialogCanceled=EFalse;
- DestroyWaitDialogL();
- DoPlayingStateChanged(EFalse);
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iAppUi.GetNowPlayingViewInstance()->SetBitrate(ETrue);
- }
- iConnectToServer=EFalse;
- iNotify=EFalse;
- iListenFromIsds=EFalse;
- iPlayBack=ETrue;
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
-
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingError);
-
- if(!iAppUi.iNetworkController->IsHandingOverConnection())
- {
-
- if (aErrorCode != KIRStreamSourceDisconnected)
- {
- DisplayErrorNoteL(aErrorCode == KIRStreamSourceInvalidUrl ?
- R_IRAPP_ERROR_ADDRESS : R_IRAPP_ERROR_GENERAL);
- }
- }
- }
- if(iSessionStart)
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = ENoConnectionToServer;
- //and the cause of error
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- //session ends due to error
- iReportGenerator->SessionEndL(EFalse);
- iSessionStart=EFalse;
- iSessionShouldNotEnd = EFalse;//check
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoErrorConnectingL - Exiting.");
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::ProgressBarCancel()
-// Cancels the Network request and stops the buffering on progressbar cancel.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ProgressBarCancel()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ProgressBarCancel - Entering");
-
- RProperty::Set( KUidActiveInternetRadioApp,
- KIRPSBitrate, iBitRateValue );
- //Cancel the Network request
-
- /**** ASF streaming changes : begin ****/
- //Cancel the Network request
- if(!iAsfStreaming)
- iNetwork->CancelRequest();
- /**** ASF streaming changes : end ****/
-
- iLastConnectedPresetId=0;
- iLastConnectedPresetUniqId = 0;
- DoPlayingStateChanged( EFalse );
- iAudioFadein = EFalse;
- iProgress = EFalse;
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- }
- else
- {
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- }
- //stops buffering from media client, media engine is not stopped
-
- //stops buffering from media client, media engine is not stopped
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- iPlayer->StopInitialBuffering();
- /**** ASF streaming changes : end ****/
-
- if(!iCancelNetworkRequest)
- {
- if( iSessionStart )
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = EUserTerminated;
- //ending the previous session
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- iSessionStart = EFalse;
- iSessionShouldNotEnd = EFalse;
- //session is ended
- TRAP_IGNORE( iReportGenerator->SessionEndL(EFalse) )
- }
- }
- iCancelNetworkRequest=EFalse;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ProgressBarCancel - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DoPlayingStateChangedL()
-// Handles internal state change and P&S when playing is stopped or started.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DoPlayingStateChanged( TBool aPlaying )
- {
- IRLOG_INFO2( "CIRNowPlayingWrapper::DoPlayingStateChanged - playing state=%d", aPlaying );
- if ( aPlaying )
- {
- iPlaying = ETrue;
- iAppUi.GetNowPlayingViewInstance()->SetPlayingValue (iPlaying);
- iAppUi.GetPubSubManagerInstance()->PublishChannel( iNowPlayingPreset->GetName() );
- iAppUi.GetPubSubManagerInstance()->PublishPlayStop( EIRStatePlay );
- }
- else
- {
- iPlaying = EFalse;
- iAppUi.GetNowPlayingViewInstance()->SetPlayingValue (iPlaying);
- iAppUi.GetPubSubManagerInstance()->PublishPlayStop( EIRStateStop );
- }
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- TRAP_IGNORE(iAppUi.GetNowPlayingViewInstance()->ConstructToolbarL();)
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoPlayingStateChangedL - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DoPlay()
-// First try to reconnect to the last played channel url
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DoPlayL()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::DoPlayL - Entering" );
- CreateWaitDialogL();
- iAppUi.GetPubSubManagerInstance()->PublishBufferingState(EIRStateBufferingStart);
-
- //reconnecting to the channel
- if( iAppUi.GetCallConnectedState() )
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoPlayL - Call ongoing, Exiting." );
- return;
- }
- // connection exits hence proceed with the connection
- // to channel
- else
- {
- //load the loading screen
- iMultipleURLSelect = EFalse;
- iReConnecting = ETrue;
- iChannelConnect = ETrue;
- iDialogCanceled=EFalse;
- iUrl.Copy(iLastPlayedUrl);
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- iLaunchNowplaying=ETrue;
- }
- /**** ASF streaming changes : begin ****/
- TInt error = KErrNone;
- if(!iAsfStreaming)
- {
- TRAP(error,iNetwork->ReconnectL(iLastPlayedUrl));
- }
- else
- {
- iAsfPlayer->PlayL(iLastPlayedUrl);
- }
- /**** ASF streaming changes : end ****/
-
- if( error )
- {
- IRLOG_ERROR2( "CIRNowPlayingWrapper::DoPlayL - Reconnect failed (error=%d)", error );
- TRAP_IGNORE(DisplayErrorNoteL(R_IRAPP_ERROR_CONNECTION))
- DestroyWaitDialogL();
- }
- if(!iSessionStart)
- {
- LogStartSession();
- }
-
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DoPlayL - Exiting." );
-
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::StopNow()
-// Function calls stop functionality.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::StopNow()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::StopNow - Entering" );
- if(iIsConnected)
- {
- //player is stopped
- if(iPlaying)
- {
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- {
- iPlayer->Stop();
- }
- else
-
- {
- iAsfPlayer->Stop();
- iAsfStreaming = EFalse;
- }
- /**** ASF streaming changes : end ****/
-
- DoPlayingStateChanged( EFalse );
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- TRAP_IGNORE(iAppUi.iMainView->GetMainContainer()->UpdateAllL();)
- }
- iPlayandStop=EFalse;
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iPlayandStop=ETrue;
- }
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::StopNow - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::ClearMetaDataL()
-// Clears the current meta data information.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ClearMetaDataL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ClearMetaDataL - Entering" );
- CIRMetaData* metaData = CIRMetaData::NewL();
- CleanupStack::PushL( metaData );
- // Handles clearing the information with strings read from resources
- HandleMetaDataReceivedL( *metaData );
- CleanupStack::PopAndDestroy( metaData );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ClearMetaDataL - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::ListenToChannel()
-// Requests for listening to a particular channel
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::ListenToChannelL(CIRIsdsPreset* aPreset)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ListenToChannel - Entering" );
- *iNowPlayingPreset = *aPreset;
-
- //replace the preset with favorites preset (if exists in favorites)
- iAppUi.GetFavPresetsInstance()->ReplacePresetL(*iNowPlayingPreset);
-
- //channel is connected from isds
- SetCurrentConnectionSource(EIRIsds);
- //connecting to a particular channel
- ConnectToChannelL(*iNowPlayingPreset);
- IRLOG_DEBUG( "CIRNowPlayingWrapper::ListenToChannel - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::MetaData()
-// Returns the current meta data information.
-// ---------------------------------------------------------------------------
-//
-const CIRMetaData& CIRNowPlayingWrapper::MetaData() const
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::MetaData " );
- return *iMetaData;
- }
-
-// -----------------------------------------------------------------------------
-// CIRNowPlayingWrapper::DialogDismissedL()
-// Called by CAknwaitdialog
-// -----------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::DialogDismissedL( TInt aButtonId )
- {
- IRLOG_DEBUG( "CIRSearchView::DialogDismissedL() started." );
-
- if(aButtonId == EIRCancel)
- {
- if(iSyncPreset)
- {
- iAppUi.iIsdsWrapper->GetISDSInstance()->IRISDSCancelRequest();
- iSyncPreset=EFalse;
- if((iAppUi.iNowPlayingView->iContainer))
- {
- iAppUi.iNowPlayingView->SetRockerIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- }
- iWaitDialog= NULL;
- return;
- }
- if(!iDialogCanceled)
- {
- if(iContextViews==ESearch||iContextViews==EBrowseByTopStations
- ||iContextViews==EStations||iContextViews==EHistoryView)
- {
- iAppUi.iIsdsWrapper->SetListenRequest(EFalse);
- if(iNowPlayingPreset->GetChannelType())
- {
- if(!iListenFromIsds)
- {
- if ( iAppUi.iIsdsWrapper->GetISDSInstance() )
- {
- //iListenFromIsds=EFalse
- iCancelFrmIsds=ETrue;
- iAppUi.iIsdsWrapper->GetISDSInstance()->IRISDSCancelRequest();
- }
- if((iAppUi.iNowPlayingView->iContainer))
- {
- iAppUi.iIsdsWrapper->SetCurrentPlayingIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- iAppUi.iNowPlayingView->SetRockerIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- }
- iWaitDialog= NULL;
- return;
- }
-
- }
- }
- if(iBufferigSteamText)
- {
- // Dialog will delete itself
- iWaitDialog= NULL;
- ProgressBarCancel();
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- iUinqid=0;
- }
- else
- {
- // Dialog will delete itself
- iWaitDialog= NULL;
- if(!(iAppUi.GetNowPlayingViewInstance()->GetsameUrlFlag()))
-
- CancelNetworkRequestL();
- DoPlayingStateChanged(EFalse);
- iAppUi.GetNowPlayingViewInstance()->SetsameUrlFlag(EFalse);
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- iUinqid=0;
- }
- ClearMetaDataL();
- if( iSessionStart )
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- TTerminationStatus terminationstatus = EUserTerminated;
- //ending the previous session
- iReportGenerator->UpdateTerminatedBy(terminationstatus);
- iSessionStart = EFalse;
- iSessionShouldNotEnd = EFalse;
- //session is ended
- TRAP_IGNORE( iReportGenerator->SessionEndL(EFalse) )
- }
- }
- }
-
- IRLOG_DEBUG( "CIRSearchView::DialogDismissedL() exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// Function : HandlePlayError()
-// Handles play error || should called only through MCtrlCommand
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::HandlePlayError()
- {
- IRLOG_ERROR( "CIRNowPlayingWrapper::HandlePlayError - Entering" );
- //if progress bar is present cancel progress bar
- if( iProgress )
- {
- ProgressBarCancel();
- TRAP_IGNORE(DestroyWaitDialogL());
- }
- //buffering overlay if present is removed
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::HandlePlayError - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::PlayAndStopL()
-// Performs play and stop functionality
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::PlayAndStopL()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::PlayAndStopL - Entering" );
-
- if( !iPlaying )
- {
- //if currently status is not playing
- //play request is issued
- DoPlayL();
-
- // Active Idle
- TInt passId=iAppUi.GetFavPresetsInstance()->SearchPreset( iNowPlayingPreset->GetId(),
- iNowPlayingPreset->UniqId());
- // Checks for the preset index of the channel, if preset index exists
- // in favourites list, publishes the preset index.
- if( passId != KErrNotFound)
- {
- TInt presetIndex = passId+1;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetIndex );
- }
- else
- {
- // If preset not present in favourites list, publishes the index
- // as 0. This is set to 0 here to indicate the active idle
- // component that the index with 0 is a non favourite channel.
- TInt presetIndex = 0;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetIndex );
- }
- }
- else
- {
- //if status is playing stop is called
- if(iIsConnected)
- {
- iPlayandStop=ETrue;
- iConnectToServer=EFalse;
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- iPlayer->Stop();
- /**** ASF streaming changes : end ****/
-
- if( iSessionStart )
- {
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- // End the session
- iReportGenerator->UpdateTerminatedBy( EUserTerminated );
- iSessionStart = EFalse;
- iSessionShouldNotEnd = EFalse;
- iReportGenerator->SessionEndL( EFalse );
- }
- DoPlayingStateChanged( EFalse );
- }
- // Active Idle
- TInt passId=iAppUi.GetFavPresetsInstance()->SearchPreset( iNowPlayingPreset->GetId(),
- iNowPlayingPreset->UniqId());
- // Checks for the preset index of the channel, if preset index exists
- // in favourites list, publishes the preset index.
- if( passId != KErrNotFound)
- {
- TInt presetId = passId+1;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetId );
- }
- else
- {
- // If preset not present in favourites list, publishes the index
- // as 0. This is set to 0 here to indicate the active idle
- // component that the index with 0 is a non favourite channel.
- TInt presetId = 0;
- RProperty::Set( KUidActiveInternetRadioApp, KIRPSPresetIndex,
- presetId );
- }
- }
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::PlayAndStopL - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// LoadTerminateSession()
-// The loading cancel result in session log end
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::LoadTerminateSessionL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::LoadTerminateSession - Entering." );
- //checks whether session log can be terminated
- if( iTerminatedLogOnCancel )
- {
- //loading cancel is cancelling session log
- //session log should not be cancelled
- iTerminatedLogOnCancel = EFalse;
- //checks whether session log exists or not
- if(iSessionStart)
- {
- //logging server results connection is not yet made
- //and attempt is failed
- iReportGenerator->LogServerResult(iUrl,EIRConnFailed);
- //update current operator
- iReportGenerator->UpdateCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- //update home operator
- iReportGenerator->UpdateHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
-
- //user terminated
- iReportGenerator->UpdateTerminatedBy(EUserTerminated);
- //session ends due to error
- iReportGenerator->SessionEndL(EFalse);
-
- TBool validate = iReportGenerator->ReStorePreviousSession();
- //restoring previous session
- if (validate)
- {
- iSessionStart = ETrue;
- }
- else
- {
- iSessionStart=EFalse;
- }
- iSessionShouldNotEnd = EFalse;
-
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::LoadTerminateSession - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetMediaClientInstance()
-// Returns the Media Client Instance
-// ---------------------------------------------------------------------------
-//
-CIRMediaClient* CIRNowPlayingWrapper::GetMediaClientInstance()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetMediaClientInstance " );
- return iPlayer;
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetMediaClientInstance()
-// Returns the ReportGenerator Instance
-// ---------------------------------------------------------------------------
-//
-CIRReportGenerator* CIRNowPlayingWrapper::GetReportGeneratorInstance()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetReportGeneratorInstance " );
- return iReportGenerator;
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetTerminatedLogOnCancelState()
-// Returns the iTerminatedLogOnCancel Value
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::GetTerminatedLogOnCancelState()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetTerminatedLogOnCancelState " );
- return iTerminatedLogOnCancel;
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetSessionStartState()
-// Returns the iSessionStart Value
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::GetSessionStartState()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetSessionStartState " );
- return iSessionStart;
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetSessionStartedFlag()
-// Returns the iSessionStarted Flag Value
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::GetSessionStartedFlag()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetSessionStartedFlag " );
- return iSessionStartedFlag;
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetSessionStartedFlag()
-// Sets the iSessionStartedFlag Value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetSessionStartedFlag(TBool aSessionStartedFlag)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetSessionStartedFlag - Entering " );
- iSessionStartedFlag = aSessionStartedFlag;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetSessionStartedFlag - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetSessionStartState()
-// Sets the iSessionStart Value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetSessionStartState(TBool aSessionStart)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetSessionStartState - Entering " );
- iSessionStart = aSessionStart;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetSessionStartState - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::IsProgress()
-// Returns the iProgress Value
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::IsProgress()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::IsProgress " );
- return iProgress;
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetConnectToServerState()
-// Sets the iConnectToServer Value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetConnectToServerState(TBool aConnectToServer)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetConnectToServerState - Entering" );
- iConnectToServer = aConnectToServer;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetConnectToServerState - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetConnectToServerState()
-// Returns the iConnectToServer Value
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::GetConnectToServerState()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetConnectToServerState - Entering" );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetConnectToServerState - Exiting" );
- return iConnectToServer ;
- }
-// CIRNowPlayingWrapper::CancelNetworkRequestL()
-// Sets the iConnectToServer Value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::CancelNetworkRequestL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::CanecelNetworkRequest - Entering" );
- if(iChannelConnect)
- {
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- iNetwork->CancelRequest();
- /**** ASF streaming changes : end ****/
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iLastPlayedUrl.Copy(iUnconnectedUrl);
- iLastConnectedUrl.Copy(iUnconnectedUrl);
- }
- else
- {
- iUrl.Delete(0,iUrl.Length());
- iLastConnectedUrl.Zero();
- }
-
- LoadTerminateSessionL();
- }
- else
- {
- iCancelNetworkRequest = ETrue;
- ProgressBarCancel();
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::CanecelNetworkRequest - Exiting" );
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetVolumeL()
-// Sets the Volume to Player
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetVolumeL(TInt aIndex)
-{
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetVolume - Entering" );
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming && iPlayer)
- {
- TInt index = iPlayer->MaxVolume()/KNOVOLUMELEVELS;
- TInt volume = index*aIndex;
- iPlayer->SetVolume(volume);
- }
- else if(iAsfStreaming && iAsfPlayer)
- {
- TInt index = iAsfPlayer->MaxVolume()/KNOVOLUMELEVELS;
- TInt volume = index*aIndex;
- iAsfPlayer->SetVolume(volume);
- }
- /**** ASF streaming changes : end ****/
-
- iIRSettings.SetVolumeSettingL(aIndex);
- iAppUi.GetPubSubManagerInstance()->PublishVolume( iIRSettings.GetVolumeSetting() );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetVolume - Exiting" );
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetPrevVolumeLevel()
-// Sets the Volume to Player
-// ---------------------------------------------------------------------------
-//
-TInt CIRNowPlayingWrapper::GetPrevVolumeLevel()
-{
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetPrevVolumeLevel" );
- return iPrevVolumeLevel;
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetPrevVolumeLevel()
-// Sets the Volume to Player
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetPrevVolumeLevel(TInt aPrevVolume)
-{
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetPrevVolumeLevel - Entering" );
- iPrevVolumeLevel = aPrevVolume;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetPrevVolumeLevel - Exiting" );
-}
- // ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetPrevVolumeLevel()
-// Sets the Volume to Player
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper:: SetMetadataL()
-{
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMetadata() - Entering" );
- iMetaData->SetArtistL(KConst);
- iMetaData->SetSongL( KConst );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMetadata() - Exiting" );
-
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::PublishDataL()
-// Publishes the Metadata
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper:: PublishDataL()
-{
- IRLOG_DEBUG( "CIRNowPlayingWrapper::PublishDataL() - Entering" );
-
- iAppUi.GetPubSubManagerInstance()->PublishChannel( iNowPlayingPreset->GetName() );
- iAppUi.GetPubSubManagerInstance()->PublishMetaDataL( *iMetaData );
- iAppUi.GetPubSubManagerInstance()->PublishChannelType(
- iNowPlayingPreset->GetChannelType());
- iAppUi.GetPubSubManagerInstance()->PublishChannelId(iNowPlayingPreset->GetId());
- iAppUi.GetPubSubManagerInstance()->PublishChannelDesc(
- iNowPlayingPreset->GetShortDescription());
- if(iNowPlayingPreset->GetChannelType()==1)
- {
- iAppUi.GetPubSubManagerInstance()->PublishChannelMusicFlag(
- iNowPlayingPreset->GetMusicStoreStatus());
- }
- if(iAppUi.GetNowPlayingViewInstance())
- {
- iAppUi.GetNowPlayingViewInstance()->UpdateLastplayedL();
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::PublishDataL() - Exiting" );
-
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::StopPlayerL()
-// Stops the Player
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::StopPlayer()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::StopPlayerL() - Entering" );
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming && iPlayer)
- {
- iPlayer->Stop();
- DoPlayingStateChanged(EFalse);
- iPlayandStop=EFalse;
- }
- else if(iAsfStreaming && iAsfPlayer)
- {
- iAsfPlayer->Stop();
- iAsfStreaming = EFalse;
- DoPlayingStateChanged(EFalse);
- }
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- TRAP_IGNORE(iAppUi.iMainView->GetMainContainer()->UpdateAllL();)
- }
- /**** ASF streaming changes : end ****/
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::StopPlayerL() - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetMedadataForErrotrConditions()
-// Sets the iDisplayMetaData Flag When Handling the Context Navigation
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetMedadataForErrotrConditions(TBool aDisplayMetaData)
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMedadataForErrotrConditions() - Entering" );
-
- iDisplayMetaData=aDisplayMetaData;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMedadataForErrotrConditions() - Exiting" );
-
-}
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetMedadataForErrotrConditions()
-// Returns the iDisplayMetaData Flag When Handling the Context Navigation
-// ---------------------------------------------------------------------------
-//
-
-TBool CIRNowPlayingWrapper::GetMedadataForErrotrConditions()
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetMedadataForErrotrConditions() - Entering" );
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetMedadataForErrotrConditions() - Exiting" );
- return iDisplayMetaData;
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetMarquee()
-// Returns the iMarQuee which is Set During HandleMetadataReceived
-// ---------------------------------------------------------------------------
-//
-
-TBool CIRNowPlayingWrapper::GetMarquee()
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetMarquee() - Entering" );
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetMarquee() - Exiting" );
- return iMarquee;
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetMarquee()
-// Sets the Marquee value required for NowPlaying view
-// ---------------------------------------------------------------------------
-//
- void CIRNowPlayingWrapper::SetMarquee(TBool aMarquee)
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMarquee() - Entering" );
-
-iMarquee=aMarquee;
-
-IRLOG_DEBUG( "CIRNowPlayingWrapper::SetMarquee() - Exiting" );
-
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::SetView()
-// Set by Every View to its TIRViews when Listen is Done
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper:: SetView(TIRViews aContextViews)
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::SetView() - Entering" );
-
- iContextViews=aContextViews;
-IRLOG_DEBUG( "CIRNowPlayingWrapper::SetView() - Exiting" );
-
-}
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::GetView()
-// Returns the View Where Listen Has Done
-// ---------------------------------------------------------------------------
-//
-TIRViews CIRNowPlayingWrapper:: GetView()
-{
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetView() - Entering" );
-IRLOG_DEBUG( "CIRNowPlayingWrapper::GetView() - Exiting" );
-return iContextViews;
-}
-// ---------------------------------------------------------------------------
-// CIRUi::SetAudioVolume()
-// function set the volume
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::SetAudioVolume(TInt aValue)
- {
- IRLOG_INFO2( "CIRNowPlayingWrapper::SetAudioVolume(aValue=%d)", aValue );
-
- /**** ASF streaming changes : begin ****/
- if(!iAsfStreaming)
- {
- TInt index = iPlayer->MaxVolume()/KNOVOLUMELEVELS;
- TInt volume = aValue * index;
- //volume level between zero volume and maximum volume of
- //device is taken, if volume is beyound these limit it is not set
- if( (0 <= volume) && (iPlayer->MaxVolume() >= volume) )
- {
- iPlayer->SetVolume(volume);
- }
- }
- else
- {
- TInt index = iAsfPlayer->MaxVolume()/KNOVOLUMELEVELS;
- TInt volume = aValue * index;
- //volume level between zero volume and maximum volume of
- //device is taken, if volume is beyound these limit it is not set
- if( (0 <= volume) && (iAsfPlayer->MaxVolume() >= volume) )
- {
- iAsfPlayer->SetVolume(volume);
- }
- }
- /**** ASF streaming changes : end ****/
-
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetAudioVolume - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CreateWaitDialogL()
-// Creates the waitDialog Required While Connecting To a Channel
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::CreateWaitDialogL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::CreateWaitDialogL - Entering" );
-
- HBufC* bufferText = StringLoader::LoadLC(R_IRAPP_LOADING_BUFFERING);
- if(!iWaitDialog)
- {
- iWaitDialog = new ( ELeave ) CAknWaitDialog( NULL,ETrue);
- iWaitDialog->SetCallback(this);
- iWaitDialog->ExecuteLD(R_IRAPP_PROGRESS_DIALOG);
- iWaitDialog->SetTextL(*bufferText);
- iBufferigSteamText=EFalse;
- }
- CleanupStack::PopAndDestroy(bufferText);
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::CreateWaitDialogL - exiting." );
- }
-// ---------------------------------------------------------------------------
-// DestroyWaitDialogL()
-// Destroys The WaitDialog
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::DestroyWaitDialogL()
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DestroyWaitDialogL - Entering" );
-
- if(iWaitDialog)
- {
- iWaitDialog->ProcessFinishedL();
- iWaitDialog=NULL;
- iDialogCanceled=ETrue;
- iBufferingRequestCancelled=ETrue;
- }
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::DestroyWaitDialogL - exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// SetProgress()
-// Sets the Progress Value
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetProgress(TBool aProgress)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetProgress - Entering" );
- iProgress=aProgress;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetProgress - exiting." );
- }
-// ---------------------------------------------------------------------------
-// GetChannelConnetedInfo()
-// Returns Whether the channel connected or not
-// ---------------------------------------------------------------------------
-//
-
-TBool CIRNowPlayingWrapper::GetChannelConnetedInfo()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetChannelConnetedInfo - Entering" );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetChannelConnetedInfo - exiting." );
- return iChannelConnected;
- }
-// ---------------------------------------------------------------------------
-// HandleNetworkDisconnected()
-// Function called when network got disconnected While Buffering
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::HandleNetworkDisconnected()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::HandleNetworkDisconnected - Entering" );
-
- iAppUi.iNetworkController->ResetConnectionStatus();
- if(!iAppUi.iIsDisconnected)
- {
- if(iAppUi.iMainView->iSyncReq)
- {
- iAppUi.iIsdsWrapper->GetISDSInstance()->IRISDSCancelRequest();
- TRAP_IGNORE(DestroyWaitDialogL();)
- }
- if(iConnectToServer && !iProgress)
- {
- TRAP_IGNORE(DestroyWaitDialogL();)
- TRAP_IGNORE(CancelNetworkRequestL();)
- }
- if(iProgress)
- {
- //if in progress bar view, progress bar is cancelled
- TRAP_IGNORE(DestroyWaitDialogL();)
- ProgressBarCancel();
- }
- if ( iAppUi.iIsdsWrapper->GetISDSInstance() )
- {
- if(iAppUi.iIsdsWrapper->GetListenRequest())
- {
- TRAP_IGNORE(DestroyWaitDialogL();)
- }
- TRAP_IGNORE(iAppUi.iIsdsWrapper->DestroyWaitDialogL();)
- iAppUi.iIsdsWrapper->GetISDSInstance()->IRISDSCancelRequest();
- iAppUi.iIsdsWrapper->GetISDSInstance()->ReleaseResources();
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::HandleNetworkDisconnected - exiting." );
- }
-// ---------------------------------------------------------------------------
-// HandleNetworkEstablished()
-// Function called when network Connection Established In ALr
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::HandleNetworkEstablished()
- {
- if(!iPlaying)
- {
- iLastConnectedUrl.Zero();
- iLastPlayedUrl.Zero();
- if((iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- if(iSyncPreset)
- {
- iAppUi.iNowPlayingView->SetRockerIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- TRAP_IGNORE(TriggerCommandL(iAppUi.GetNowPlayingViewInstance()->GetCommandId());)
- return;
- }
- }
- //iLastPlayedUrl.Zero()
- if(iAppUi.iIsdsWrapper->GetListenRequest())
- {
-IRRDEBUG2("CIRNowPlayingWrapper:: HandleNetworkEstablished1", KNullDesC);
-
- if(!(iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- if(!iBufferingRequestCancelled)
- {
- iLaunchNowplaying=EFalse;
- }
- else
- {
- iLaunchNowplaying=ETrue;
- }
- }
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- iAppUi.iNowPlayingView->SetRockerIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- TRAP_IGNORE(TriggerCommandL(iAppUi.GetNowPlayingViewInstance()->GetCommandId());)
- }
- else
- {
- TRAP_IGNORE(TriggerCommandL(EListenCmd);)
- }
- }
- else if(iConnectToServer && !iPlaying)
- {
-
- if(!(iAppUi.GetNowPlayingViewInstance()->iContainer))
- {
- if(!iBufferingRequestCancelled)
- {
- iLaunchNowplaying=EFalse;
- }
- else
- {
- iLaunchNowplaying=ETrue;
- }
- }
- else
- {
- iLaunchNowplaying=ETrue;
- }
- iNotify=ETrue;
- iQualityRequired=-1;
- TRAP_IGNORE(ConnectToChannelL(*iNowPlayingPreset);)
- }
-
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// Triggers the command to view handling
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::TriggerCommandL( TInt iCommandId)
- {
- IRLOG_DEBUG( "CIRNowPlayingViewContainer::TriggerCommandL - Entering" );
- TVwsViewId viewId( KNullUid, KNullUid );
- CAknViewAppUi* appUi = static_cast<CAknViewAppUi*>( CCoeEnv::Static()->AppUi() );
- TInt err = appUi->GetActiveViewId( viewId );
- RProcess process;
- TSecureId id = process.SecureId();
- // TO be DOne GetActiveViewId doesn't always work (when switched back to VRA through RadioLauncher icon
- if( !err && viewId.iAppUid.iUid == id.iId )
- {
- CAknView* view = appUi->View( viewId.iViewUid );
- if( view )
- {
- view->ProcessCommandL( iCommandId );
- }
- }
- IRLOG_DEBUG( "CIRNowPlayingViewContainer::TriggerCommandL - Exiting" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::RemoveWhiteSpace( TDes& aBuf )
-// Called from HandleMetaDataReceivedL.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::RemoveWhiteSpace( TDes& aBuf )
- {
- _LIT(KNewLine, "\n");
- _LIT(KCharLine, "\r");
- _LIT(KTab, "\t");
- _LIT(KSpace, " ");
-
- TInt index = aBuf.Find(KNewLine);
- while (index != KErrNotFound)
- {
- aBuf.Replace(index, 1, KSpace);
- index = aBuf.Find(KNewLine);
- }
-
- index = aBuf.Find(KCharLine);
- while (index != KErrNotFound)
- {
- aBuf.Replace(index, 1, KSpace);
- index = aBuf.Find(KCharLine);
- }
-
- index = aBuf.Find(KTab);
- while (index != KErrNotFound)
- {
- aBuf.Replace(index, 1, KSpace);
- index = aBuf.Find(KTab);
- }
-
- aBuf.TrimAll();
- }
-// ---------------------------------------------------------------------------
-// CIRNowPlayingWrapper::CheckCallStatusL
-// Checks the Call status Whether it is Incoming Call or OutGoing Call
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::CheckCallStatusL()
-{
-CTelephony* telephony = CTelephony::NewLC();
-
-CTelephony::TCallInfoV1 callInfoV1;
-CTelephony::TCallInfoV1Pckg callInfoV1Pckg( callInfoV1 );
-
-CTelephony::TCallSelectionV1 callSelectionV1;
-CTelephony::TCallSelectionV1Pckg callSelectionV1Pckg( callSelectionV1 );
-
-CTelephony::TRemotePartyInfoV1 remotePartyInfoV1;
-CTelephony::TRemotePartyInfoV1Pckg remotePartyInfoV1Pckg( remotePartyInfoV1 );
-
-callSelectionV1.iLine = CTelephony::EVoiceLine;
-callSelectionV1.iSelect =CTelephony::EInProgressCall;
-
-telephony->GetCallInfo( callSelectionV1Pckg, callInfoV1Pckg, remotePartyInfoV1Pckg );
-CTelephony::TCallDirection iDirection1;
-iDirection1=CTelephony::EMobileOriginated;
-
-if(remotePartyInfoV1.iDirection==iDirection1)
-{
- iPlaying=ETrue;
- CleanupStack::PopAndDestroy( telephony );
- return ETrue;
-
-}
-CleanupStack::PopAndDestroy( telephony );
-IRLOG_DEBUG( "CIRNowPlayingWrapper::NotifyActiveNetworkObserversL - Entering" );
-return EFalse;
-}
-
-// ---------------------------------------------------------------------------
-//Notifies all observers whose network request is active
-// to reissue the request
-//NotifyActiveNetworkObserversL()
-// ---------------------------------------------------------------------------
-
-void CIRNowPlayingWrapper::NotifyActiveNetworkObserversL(TIRNetworkEvent aEvent)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NotifyActiveNetworkObserversL - Entering" );
-
- switch(aEvent)
- {
- case ENetworkConnectionDisconnected:
- {
- if(!iAppUi.iIsDisconnected)
- {
- if(iAppUi.GetNowPlayingViewInstance()->iContainer)
- {
- if(iSyncPreset)
- {
- if((iAppUi.iNowPlayingView->iContainer))
- {
- iAppUi.iNowPlayingView->SetRockerIndex(
- iAppUi.iNowPlayingView->GetPreviousIndex());
- }
-
- }
- IRRDEBUG2("CIRNowPlayingWrapper::ENetworkConnectionDisconnected1 - Entering ", KNullDesC);
- if(iAppUi.iIsdsWrapper->GetListenRequest()||iSyncPreset)
- {
- TRAP_IGNORE(DestroyWaitDialogL();)
- iAppUi.iIsdsWrapper->GetISDSInstance()->IRISDSCancelRequest();
- }
- if(iPlaying && !iProgress)
- {
-
- StopNow();
- if(iAppUi.ActiveView() == KIRMainChoiceViewID)
- {
- iAppUi.iMainView->GetMainContainer()->UpdateAllL();
- }
- }
- else
- {
- if(iConnectToServer && !iProgress)
- {
-
- CancelNetworkRequestL();
- DestroyWaitDialogL();
- }
- if(iProgress)
- {
- //if in progress bar view, progress bar is cancelled
- DestroyWaitDialogL();
- ProgressBarCancel();
- }
- }
- }
-
- }
- }
- break;
-
- case ENetworkConnectionEstablished:
- {
- if(!iAppUi.IsCallActive())
- {
- if(iAppUi.iNetworkController->IsHandingOverConnection())
- {
- iAppUi.GetNowPlayingViewInstance()->SetRequestPendingWhenNoNetWork(EFalse);
- iAppUi.GetNowPlayingViewInstance()->SetRequestPendingWhenNoNetWorkForNextOrPrev(EFalse);
- if(!iPlaying)
- {
-
- HandleNetworkEstablished();
- }
- }
- else if(iAppUi.GetNowPlayingViewInstance()->GetRequestPending())
- {
- PlayAndStopL();
- }
- else if(iAppUi.GetNowPlayingViewInstance()->GetRequestPendingForNextOrPreV())
- {
- if(iContextViews==EFav||iContextViews==EPls)
- {
- iAppUi.GetNowPlayingViewInstance()->ConnectToPresetL();
- iAppUi.GetNowPlayingViewInstance()->StartTimerL();
- }
- else
- {
- iAppUi.GetNowPlayingViewInstance()->ConnectToPresetL();
- }
- }
- }
- ResetPendingRequests(EFalse);
- }
- break;
- default:
- break;
- }
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::NotifyActiveNetworkObserversL - Exiting" );
-}
-
-
-
-// -----------------------------------------------------------------------------
-// Notified by network controller when user cancels network connection, to reset
-// the pending requests
-// ResetPendingRequests()
-// -----------------------------------------------------------------------------
-void CIRNowPlayingWrapper::ResetPendingRequests(TBool aValue)
- {
- iAppUi.GetNowPlayingViewInstance()->SetRequestPendingWhenNoNetWork(aValue);
- iAppUi.GetNowPlayingViewInstance()->SetRequestPendingWhenNoNetWorkForNextOrPrev(aValue);
- }
-
-/**** Added for ASF streaming - begin *****/
-
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::Asf_ErrorConnecting()
-// Called when there is an error when connecting to the channel server @Param aErrorCode Indicates the type of error as described in irstreamsourceerrors.h---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::Asf_ErrorConnecting(TInt aErrorCode)
- {
- IRLOG_DEBUG2( "CIRNowPlayingWrapper::Asf_ErrorConnecting(aErrorCode=%d)", aErrorCode );
- ErrorConnecting( aErrorCode );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_ErrorConnecting - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::Asf_ConnectionEstablished(TInt aFeedValue)
-// Called to indicate that the connection to channel server is sucessful
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::Asf_ConnectionEstablished()
- {
- IRLOG_INFO( "CIRNowPlayingWrapper::Asf_ConnectionEstablished - Entering." );
- ConnectionEstablished();
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_ConnectionEstablished - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// MIRStreamSourceObserver::Asf_UpdateProgress()
-// Called to provide teh buffer values @param aFeedValue used to pump the buffering value
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::Asf_UpdateProgress(TInt aFeedValue)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_UpdateProgress - Entering" );
- UpdateProgress(aFeedValue);
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_UpdateProgress - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// MCrtlCmdCommand::Asf_HandleMetaDataReceivedL()
-// Invoked when meta data is received. @param aMetaData The meta data that was received.
-// ---------------------------------------------------------------------------
-//
-void CIRNowPlayingWrapper::Asf_HandleMetaDataReceivedL( const CIRMetaData& aMetaData )
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_HandleMetaDataReceivedL - Entering" );
- HandleMetaDataReceivedL( aMetaData );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::Asf_HandleMetaDataReceivedL - Exiting." );
- }
-
-/**** Added for ASF streaming - end *****/
-
-// ---------------------------------------------------------------------------
-// UpdateNmsLogEventsL()
-// Updates Nms Log events
-// ---------------------------------------------------------------------------
-
-void CIRNowPlayingWrapper::UpdateNmsLogEventsL(const TDesC& aNmsType)
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::UpdateNmsLogEventsL - Entering" );
-
- iReportGenerator->UpdateNmsCurrentNetwork(iAppUi.GetCurrentOperatorValue());
- iReportGenerator->UpdateNmsHomeOperator(iAppUi.GetHomeOperatorValue());
- iReportGenerator->UpdateNmsChannelID(iNowPlayingPreset->GetId());
- iReportGenerator->UpdateNmsType(aNmsType);
- iReportGenerator->SessionStartedL();
- iReportGenerator->WriteNmsLogtoXmlL();
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::UpdateNmsLogEventsL - exiting." );
- }
-
-/* This is reuired Only Accp or Acc type check
-// ---------------------------------------------------------------------------
-// GetSupportedMimeTypeL()
-// Function Evaluates the Suppoeted Mime Types
-// ---------------------------------------------------------------------------
-//
-
-TInt CIRNowPlayingWrapper::GetSupportedMimeTypeL()
- {
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetSupportedMimeTypeL - Entering" );
-// _LIT(KAudiContent,"aacp")//aacp
- TInt findContent=KErrNotFound;
- TInt i,ii,j;
- CMMFControllerPluginSelectionParameters *cs=CMMFControllerPluginSelectionParameters::NewLC();
- CMMFFormatSelectionParameters * fs = CMMFFormatSelectionParameters::NewLC();
- cs->SetRequiredPlayFormatSupportL(*fs);
- cs->SetRequiredRecordFormatSupportL(*fs);
-
- RMMFControllerImplInfoArray controllers;
- CleanupResetAndDestroyPushL(controllers);
- cs->ListImplementationsL(controllers);
- TBuf<KSize>z1;
- z1.Copy(iNetwork->ContentTypeL());
- TBool checkMime=EFalse;
- TInt contrCount = controllers.Count();
- for(i=0;i<controllers.Count();i++)
- {
- //supported play formats
- const RMMFFormatImplInfoArray &pf=controllers[i]->PlayFormats();
- TInt pfCount = pf.Count();
- for(ii=0;ii<pf.Count();ii++)
- {
- TBuf<KSize> z;
- //file extensions
- const CDesC8Array &fe=pf[ii]->SupportedFileExtensions();
- //MIME types
- const CDesC8Array &mt=pf[ii]->SupportedMimeTypes();
- for(j=0;j<mt.Count();j++)
- {
- z.Copy(mt[j]);
- if(z==z1)
- {
- checkMime=ETrue;
- }
- }
- }
- }
- CleanupStack::PopAndDestroy(&controllers);//controllers
- CleanupStack::PopAndDestroy(fs);
- CleanupStack::PopAndDestroy(cs);
-
- if(checkMime)
- {
- findContent=KErrNone;
- }
- else
- {
- findContent=KErrNotFound;
- }
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetSupportedMimeTypeL - exiting" );
- return findContent;
- }
-
- */
-// ---------------------------------------------------------------------------
-// SavePreviousIndex()
-// Sets when Listen from Isds is Done
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetListenFromIsdsValue(TInt aListenFromIsds )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetListenFromIsdsValue - Entering" );
- iListenFromIsds=aListenFromIsds;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetListenFromIsdsValue - exiting" );
- }
-// ---------------------------------------------------------------------------
-// SetWhenUserCancelsBufferingWaitBar()
-// Sets When User Cancels Buffering
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetWhenUserCancelsBufferingWaitBar(TInt aDialogCanceled )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetWhenUserCancelsBuffering - Entering" );
- iDialogCanceled=aDialogCanceled;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetWhenUserCancelsBuffering - exiting" );
- }
-// ---------------------------------------------------------------------------
-// SetWhenUserCancelsIsdsBufferingWaitBar()
-// Sets When User Cancels Buffering WaitBar From Isds Listen
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetWhenUserCancelsIsdsBufferingWaitBar(TInt aCancelFrmIsds )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetWhenUserCancelsIsdsBufferingWaitBar - Entering" );
- iCancelFrmIsds=aCancelFrmIsds;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetWhenUserCancelsIsdsBufferingWaitBar - exiting" );
- }
-// ---------------------------------------------------------------------------
-// GetPreviousIndex()
-// Returns When User Cancels Isds Buffering WaitBar
-// ---------------------------------------------------------------------------
-//
-
-TBool CIRNowPlayingWrapper::GetWhenUserCancelsIsdsBufferingWaitBar( )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetWhenUserCancelsIsdsBufferingWaitBar - Entering" );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetWhenUserCancelsIsdsBufferingWaitBar - exiting" );
- return iCancelFrmIsds;
- }
-// ---------------------------------------------------------------------------
-// SetLaunchNowPlayingView()
-// Sets the varible if NowPlaying is active
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetLaunchNowPlayingView(TBool aLaunchNowplaying )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetLaunchNowPlayingView - Entering" );
- iLaunchNowplaying=aLaunchNowplaying;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetLaunchNowPlayingView - exiting" );
- }
-// ---------------------------------------------------------------------------
-// GetLaunchNowPlayingView()
-// Returns the Nowplaying Vies Active State
-// ---------------------------------------------------------------------------
-//
-TBool CIRNowPlayingWrapper::GetLaunchNowPlayingView()
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetLaunchNowPlayingView - Entering" );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetLaunchNowPlayingView - exiting" );
- return iLaunchNowplaying;
- }
-// ---------------------------------------------------------------------------
-// SetFavFocus()
-// Sets the foucs in Mainview
-// ---------------------------------------------------------------------------
-//
-
-void CIRNowPlayingWrapper::SetFavFocus(TInt aFavIndex )
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetFavFocus - Entering" );
- iFavIndex=aFavIndex;
- IRLOG_DEBUG( "CIRNowPlayingWrapper::SetFavFocus - exiting" );
- }
-// ---------------------------------------------------------------------------
-// GetFavFocus()
-// Returns the Current Focus to set
-// ---------------------------------------------------------------------------
-//
-TInt CIRNowPlayingWrapper::GetFavFocus()
- {
-
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetFavFocus - Entering" );
- IRLOG_DEBUG( "CIRNowPlayingWrapper::GetFavFocus - exiting" );
- return iFavIndex;
- }