diff -r 2e1adbfc62af -r ee64f059b8e1 internetradio2.0/uisrc/irhistorylistview.cpp --- a/internetradio2.0/uisrc/irhistorylistview.cpp Mon May 03 12:25:23 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1013 +0,0 @@ -/* -* Copyright (c) 2004 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: view class for IRHistoryListView.cpp -* -*/ - -#include -#include - -#include "irui.h" -#include "ir.hrh" -#include "ircommon.h" -#include "irdebug.h" -#include "irbaseview.h" -#include "irhistorylistview.h" -#include "irhistorylistcontainer.h" -#include "irapplication.h" -#include "irsonghistoryinfo.h" -#include "irsonghistoryengine.h" -#include "irnowplayingwrapper.h" -#include "irisdswrapper.h" -#include - -//For Touch Toolbar -#include -#include -#include - -#ifdef MUSICSHOP_AVAILABLE -#include //For Find in Shop -#include //For Find in Shop -#endif - -//to be removed after UT -#include "irmetadata.h" -#include "irdialoglauncher.h" - -#include "irnetworkcontroller.h" -#include "iractivenetworkobserver.h" - - -// --------------------------------------------------------------------------- -// C++ default constructor can NOT contain any code, that might leave. -// --------------------------------------------------------------------------- -// - -CIRHistoryListView::CIRHistoryListView():iCallRequestPending(EFalse) - { - IRLOG_DEBUG( "CIRHistoryListView::CIRHistoryListView" ); - // Nothing here - } - -// --------------------------------------------------------------------------- -// EPOC default constructor can leave. -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView::ConstructL() -{ - IRLOG_DEBUG( "CIRHistoryListView::ConstructL - Entering" ); - CIRBaseView::ConstructL(R_IR_HISTORY); - - MAknsSkinInstance * skin=AknsUtils::SkinInstance () ; - TRgb color; - TInt skinColor=AknsUtils::GetCachedColor(skin, color, KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG6 ); - if(color.Gray2()!=0) - { - CreateAndSetToolbarL(R_IR_HISTORY_WHITE_TOOLBAR); - } - else - { - CreateAndSetToolbarL(R_IR_HISTORY_BLACK_TOOLBAR); - } - if( AknLayoutUtils::PenEnabled() && Toolbar() ) - { - Toolbar()->SetToolbarObserver( this ); - } - - iHistoryEngine = CIRSongHistoryEngine::NewL(*this); - GetAllListL(); - - //For Find in Shop - iMPXFindInShop = NULL; -#ifdef MUSICSHOP_AVAILABLE - TRAPD(error, iMPXFindInShop = CMPXFindInMShop::NewL()); - if (error != KErrNotFound && error != KErrNone) - { - User::Leave(error); - } -#endif - - iRequestPending = EFalse; - iAddToFav= EFalse; - iListenRequest = EFalse; - IRLOG_DEBUG( "CIRHistoryListView::ConstructL - Exiting" ); -} -// --------------------------------------------------------------------------- -// Static constructor. -// CIRHistoryListView::NewL -// --------------------------------------------------------------------------- -// -CIRHistoryListView* CIRHistoryListView::NewL() - { - IRLOG_DEBUG("CIRHistoryListView::NewL - Entering" ); - CIRHistoryListView* self = CIRHistoryListView::NewLC(); - CleanupStack::Pop(self); - IRLOG_DEBUG( "CIRHistoryListView::NewL - Exiting." ); - return self; - } -// --------------------------------------------------------------------------- -// Two-phased constructor. -// CIRHistoryListView::NewLC -// --------------------------------------------------------------------------- -// -CIRHistoryListView* CIRHistoryListView::NewLC() - { - - IRLOG_DEBUG( "CIRHistoryListView::NewLC - Entering" ); - CIRHistoryListView* self = new (ELeave) CIRHistoryListView(); - CleanupStack::PushL(self); - self->ConstructL(); - IRLOG_DEBUG( "CIRHistoryListView::NewLC - Exiting." ); - return self; - } - - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// - -CIRHistoryListView::~CIRHistoryListView() - { - IRLOG_DEBUG( "CIRHistoryListView::~CIRHistoryListView - Entering" ); - if ( iContainer ) - { - AppUi()->RemoveFromViewStack( *this, iContainer ); - iContainer->MakeVisible( EFalse ); - delete iContainer; - iContainer=NULL; - } - - iHistoryDataArr.ResetAndDestroy(); - - if(iHistoryEngine) - { - delete iHistoryEngine; - iHistoryEngine = NULL; - } - -#ifdef MUSICSHOP_AVAILABLE - if (iMPXFindInShop) - { - delete iMPXFindInShop; - iMPXFindInShop = NULL; - } -#endif - - if( AknLayoutUtils::PenEnabled() && Toolbar() ) - { - Toolbar()->SetToolbarVisibility(EFalse, EFalse); - Toolbar()->SetToolbarObserver( NULL ); - } - IRLOG_DEBUG( "CIRHistoryListView::~CIRHistoryListView - Exiting" ); - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Returns view id. -// --------------------------------------------------------------------------- -// - -TUid CIRHistoryListView::Id() const - { - IRLOG_DEBUG( "CIRHistoryListView::Id" ); - return KIRHistoryListViewId; - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Handles view activation. -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView::DoActivateL( const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, const TDesC8& aCustomMessage ) - { - IRLOG_DEBUG( "CIRHistoryListView::DoActivateL - Entering" ); - iUi->iPresentViewID = KIRHistoryListViewId; - CIRUi* appUi = static_cast( AppUi() ); - if ( !iContainer ) - { - iContainer = CIRHistoryListContainer::NewL(ClientRect(),*this,iHistoryDataArr ); - iContainer->SetMopParent( this ); - appUi->AddToViewStackL( *this, iContainer ); - } - else - { - // we must notify a resource change in order to update the skin context - // This is a flaw of CEikFormattedCellListBox - iContainer->SetRect(ClientRect()); - iContainer->HandleResourceChange(KEikDynamicLayoutVariantSwitch); - } - - ConstructToolbarL(); - iContainer->ActivateL(); - iContainer->MakeVisible( ETrue ); - SetTitleL( R_IRAPP_HISTORY_TITLE ); - CIRBaseView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage ); - HandleStatusPaneSizeChange(); - iUi->iNetworkController->RegisterActiveNetworkObserverL(*this); - EnableObserverL(EIRSystemEventObserver); - IRLOG_DEBUG( "CIRHistoryListView::DoActivateL - Exiting" ); - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Handles view deactivation. -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView::DoDeactivate() - { - IRLOG_DEBUG( "CIRHistoryListView::DoDeactivate - Entering" ); - CIRUi* appUi = static_cast( AppUi() ); - if(&(appUi->SystemEventCollector())) - { - DisableObserver(EIRSystemEventObserver); - } - - if ( iContainer ) - { - appUi->RemoveFromViewStack( *this, iContainer ); - iContainer->MakeVisible( EFalse ); - delete iContainer; - iContainer = NULL; - } - - if( AknLayoutUtils::PenEnabled() && Toolbar() ) - { - Toolbar()->SetToolbarVisibility(EFalse, EFalse); - Toolbar()->SetToolbarObserver( NULL ); - } - iUi->iNetworkController->DeleteActiveNetworkObserver(*this); - IRLOG_DEBUG( "CIRHistoryListView::DoDeactivate - Exiting" ); - } - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Command handling function. -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView::HandleCommandL( TInt aCommand ) - { - IRLOG_DEBUG( "CIRHistoryListView::HandleCommandL - Entering" ); - iCommand = aCommand; - switch ( aCommand ) - { - case EAknSoftkeyOptions: - { - - Cba()->DrawDeferred(); - break; - } - - case EAknSoftkeyCancel: - { - break; - } - - case EClearCmd: - { - - RBuf sumvalue; - HBufC* textResource = StringLoader::LoadLC( R_IRAPP_HISTORY_QUERY ); - sumvalue.Create(*textResource); - CIRDialogLauncher* queryNote = CIRDialogLauncher::NewL(); - CleanupStack::PushL( queryNote ); - TInt dlgValue; - queryNote->ShowQueryDialogDeletionL(sumvalue,dlgValue); - if(dlgValue) - { - ClearSongHistoryItemL(); - } - CleanupStack::PopAndDestroy( queryNote ); - CleanupStack::PopAndDestroy( textResource ); - sumvalue.Close(); - Toolbar()->DrawNow(); - - break; - - } - case EHelpCmd: - { - if ( !iUi->CheckAndNotifyLowDiskSpaceL() ) - { - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), AppUi()->AppHelpContextL() ); - } - break; - } - - case EGotoNowPlayingViewCmd: - { - iUi->SetHistory(ETrue); - iUi->SavePrevIDL(KIRHistoryListViewId,aCommand); - break; - } - - case EListenCmd: - { - if ( !iUi->CheckAndNotifyLowDiskSpaceL() ) - { - iUi->SetListenFromPls(EFalse); - if( iUi->VerifyNetworkConnectivityL() ) - { - iRequestPending = ETrue; - iListenRequest = ETrue; - iAddToFav=EFalse; - break; - } - else - { - iNowPlayingWrapper->SetView(EHistoryView); - TInt index=iContainer->GetCurrentFocussedNode(); - iContainer->ListenUrlL(index ); - } - } - break; - } - - case ESettingsCmd: - { - AppUi()->ActivateLocalViewL(KIRSettingsViewId); - break; - } - - case EAddtoFavouritesCmd: - { - if ( iUi->CheckAndNotifyLowDiskSpaceL() ) - { - break; - } - - if(iContainer->IsdsOrNot()) - { - if( iUi->VerifyNetworkConnectivityL() ) - { - iRequestPending = ETrue; - iAddToFav = ETrue; - iListenRequest=EFalse; - break; - } - else - { - iAddToFav = ETrue; - iContainer->AddStationToFavoritesL(aCommand); - } - } - else - { - iContainer->AddStationToFavoritesL(aCommand); - } - - } - break; - case EFindInShop: - { - if ( !iUi->CheckAndNotifyLowDiskSpaceL() ) - { - _LIT(KFind, "find"); - FindInShopOptionL(); - - /** - * Increment the Find In Store count by One - */ - iUi->FindInMusicStoreCounter(); - iNowPlayingWrapper->UpdateNmsLogEventsL(KFind); - } - } - break; - case EAddStationManuallyCmd: - { - if ( !iUi->CheckAndNotifyLowDiskSpaceL() ) - { - iUi->SetEditStation(EFalse); - AppUi()->ActivateLocalViewL(KIRAddManuallyStationViewID); - } - } - break; - - default: - { - CIRBaseView::HandleCommandL( aCommand ); - break; - } - } - IRLOG_DEBUG( "CIRHistoryListView::HandleCommandL - Exiting" ); - } - - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Event handler for status pane size changes. -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::HandleStatusPaneSizeChange() - { - IRLOG_DEBUG( "CIRHistoryListView::HandleStatusPaneSizeChange - Entering" ); - // the client rect is also set here after screen orientation change - if ( iContainer ) - { - iContainer->SetRect( ClientRect() ); - } - IRLOG_DEBUG( "CIRHistoryListView::HandleStatusPaneSizeChange - Exiting" ); - } - -// --------------------------------------------------------------------------- -// CIRHistoryListView::NextSongReceivedL() -// Adds the currently playing song to the history's array. -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView::NextSongReceivedL( const TDesC& /*aSongName*/, - const TDesC& /*aArtistName*/, - const TDesC& /*aChannelName*/, - const TDesC& /*aChannelUrl*/ ) -{ - IRLOG_DEBUG( "CIRHistoryListView::NextSongReceivedL - Entering" ); - iHistoryDataArr.ResetAndDestroy(); - - if(iContainer) - { - iContainer->ClearHistoryListL(); - } - - GetAllListL(); - if(iContainer) - { - iContainer->UpdateAllL(iHistoryDataArr); - } - IRLOG_DEBUG( "CIRHistoryListView::NextSongReceivedL - Exiting" ); -} - - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::ChannelChangedL() -// Moves the currently playing channel to the top. -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::ChannelChangedL( const TDesC& /*aSongName*/,const TDesC& /*aArtistName*/, - const TDesC& /*aChannelName*/, const TDesC& /*aChannelUrl*/ ) -{ - IRLOG_DEBUG( "CIRHistoryListView::ChannelChangedL - Entering" ); - iHistoryDataArr.ResetAndDestroy(); - - if(iContainer) - { - iContainer->ClearHistoryListL(); - } - - GetAllListL(); - if(iContainer) - { - iContainer->UpdateAllL(iHistoryDataArr); - } - IRLOG_DEBUG( "CIRHistoryListView::ChannelChangedL - Exiting" ); -} - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::RemoveSongEntry() -// Removes the particular from the List Array -// --------------------------------------------------------------------------- -// -TInt CIRHistoryListView::RemoveSongEntry(const TDesC & /*aSongName*/, - const TDesC & /*aArtistName*/, - const TDesC & /*aChannelName*/, - const TDesC& /*aChannelUrl*/) - { - IRLOG_DEBUG( "CIRHistoryListView::RemoveSongEntry - Entering" ); - IRLOG_DEBUG( "CIRHistoryListView::RemoveSongEntry - Exiting" ); - return KErrNone; - } - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::RemoveChannelEntry() -// --------------------------------------------------------------------------- -// -TInt CIRHistoryListView::RemoveChannelEntry( const TDesC& /*aSongName*/, - const TDesC& /*aArtistName*/, - const TDesC& /*aChannelName*/, - const TDesC& /*aChannelUrl*/ ) -{ - IRLOG_DEBUG( "CIRHistoryListView::RemoveChannelEntry" ); - // No implementation required for DoubleStyleListbox as no seperate channel entries exist to be deleted. - return KErrNone; -} - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::NotifyDataChangeToUIError() -// Not Implemented -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::NotifyDataChangeToUIError(TInt /*aError*/) -{ - IRLOG_DEBUG( "CIRHistoryListView::NotifyDataChangeToUIError" ); -} - -// --------------------------------------------------------------------------- -// CIRHistoryListView::ClearSongHistoryItemL() -// Clears the Song History array -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::ClearSongHistoryItemL() -{ - IRLOG_DEBUG( "CIRHistoryListView::ClearSongHistoryItemL - Entering" ); - if(iHistoryEngine->ClearAllHistory() != KErrNone) - { - iHistoryDataArr.ResetAndDestroy(); - iContainer->ClearHistoryListL(); - Toolbar()->SetItemDimmed(EFindInShop,ETrue,ETrue); - Toolbar()->SetItemDimmed(EListenCmd,ETrue,ETrue); - GetAllListL(); - if(iContainer) - { - iContainer->UpdateAllL(iHistoryDataArr); - } - IRLOG_DEBUG( "CIRHistoryListView::ClearSongHistoryItemL - Exiting" ); - return; - } - iHistoryDataArr.ResetAndDestroy(); - - if(iContainer) - { - iContainer->ClearHistoryListL(); - Toolbar()->SetItemDimmed(EFindInShop,ETrue,ETrue); - Toolbar()->SetItemDimmed(EListenCmd,ETrue,ETrue); - iContainer->UpdateAllL(iHistoryDataArr); - } - IRLOG_DEBUG( "CIRHistoryListView::ClearSongHistoryItemL - Exiting" ); -} - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::GetAllList() -// gets the List which was stored earlier -//--------------------------------------------------------------------------- -void CIRHistoryListView::GetAllListL() -{ - IRLOG_DEBUG( "CIRHistoryListView::GetAllListL - Entering" ); - TInt songCount = iHistoryEngine->GetHistoryCount(); - - if(songCount == 0) - { - IRLOG_DEBUG( "CIRHistoryListView::GetAllListL - Exiting" ); - return; - } - - for(TInt arrCount=0 ; arrCountGetAllHistoryL(iHistoryDataArr); - IRLOG_DEBUG( "CIRHistoryListView::GetAllListL - Exiting" ); -} - -// --------------------------------------------------------------------------- -// CIRHistoryListView::DynInitMenuPaneL() -// Dynamically handles the Menu Pane -//--------------------------------------------------------------------------- -void CIRHistoryListView::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane) - { - IRLOG_DEBUG( "CIRHistoryListView::DynInitMenuPaneL - Entering" ); - if(aResourceId == R_IR_MENU_HISTORY) - { - if(!aMenuPane) User::Leave(KErrNotFound); - { - if ( iHistoryDataArr.Count() == 0 ) - { - aMenuPane->SetItemDimmed( EClearCmd, ETrue ); - } - else - { - aMenuPane->SetItemDimmed( EClearCmd, EFalse ); - } - // Now Playing option - if(iNowPlayingWrapper->iPlaying) - { - aMenuPane->SetItemDimmed(EGotoNowPlayingViewCmd,EFalse); - } - else - { - aMenuPane->SetItemDimmed(EGotoNowPlayingViewCmd,ETrue); - } - if(iContainer->ShowFocus()|| !(iHistoryDataArr.Count() )) - { - aMenuPane->SetItemDimmed(EAddtoFavouritesCmd,ETrue); - } - else - { - aMenuPane->SetItemDimmed(EAddtoFavouritesCmd,EFalse); - } - } - - } - IRLOG_DEBUG( "CIRHistoryListView::DynInitMenuPaneL - Exiting" ); - - } -// --------------------------------------------------------------------------- -// CIRHistoryListView::HandleMetaDataReceived() -// Handles the change in metadata. -//--------------------------------------------------------------------------- - -void CIRHistoryListView::HandleMetaDataReceived( const CIRMetaData& aMetaData ) -{ - IRLOG_DEBUG( "CIRHistoryListView::HandleMetaDataReceived - Entering" ); - if( iHistoryEngine ) - { - TRAPD( error, iHistoryEngine->HandleMetaDataReceivedL( aMetaData ) ); - if( error ) - { - IRLOG_DEBUG( "CIRHistoryListView::HandleMetaDataReceivedL - Failed." ); - } - } - IRLOG_DEBUG( "CIRHistoryListView::HandleMetaDataReceived - Exiting" ); -} - - -// --------------------------------------------------------------------------- -// CIRHistoryListView::ConstructToolbarL() -// Constructs Touch Toolbar -//--------------------------------------------------------------------------- - -void CIRHistoryListView::ConstructToolbarL() - { - IRLOG_DEBUG( "CIRHistoryListView::ConstructToolbarL - Entering" ); - if(Toolbar()) - { - if ( iHistoryDataArr.Count() == 0 ) - { - Toolbar()->SetItemDimmed(EFindInShop,ETrue,ETrue); - Toolbar()->SetItemDimmed(EListenCmd,ETrue,ETrue); - } - - if(iMPXFindInShop) - { - if(iContainer->GetButtonDimmed()) - { - Toolbar()->SetItemDimmed(EFindInShop,ETrue,ETrue); - } - } - else - { - Toolbar()->SetItemDimmed(EFindInShop,ETrue,ETrue); - } - Toolbar()->SetToolbarVisibility( ETrue ); - if(iContainer) - { - iContainer->SetRect( ClientRect() ); - iContainer->DrawDeferred(); - } - } - IRLOG_DEBUG( "CIRHistoryListView::ConstructToolbarL - Exiting" ); -} - -// -------------------------------------------------------------------------- -// CIRHistoryListView::DynInitToolbarL() -// Dynamically Updates the toolbar -// -------------------------------------------------------------------------- -// -void CIRHistoryListView::DynInitToolbarL( TInt /*aResourceId*/, CAknToolbar* /*aToolbar*/ ) -{ - IRLOG_DEBUG( "CIRHistoryListView::DynInitToolbarL - Entering" ); - - IRLOG_DEBUG( "CIRHistoryListView::DynInitToolbarL - Exiting" ); -} - -// -------------------------------------------------------------------------- -// CIRHistoryListView::OfferToolbarEventL -// Handles key events -// -------------------------------------------------------------------------- -// -void CIRHistoryListView::OfferToolbarEventL( TInt aCommand ) - { - IRLOG_DEBUG( "CIRHistoryListView::OfferToolbarEventL - Entering" ); - HandleCommandL(aCommand); - IRLOG_DEBUG( "CIRHistoryListView::OfferToolbarEventL - Exiting" ); - } - - - - -// --------------------------------------------------------------------------- -// void CIRHistoryListView::LaunchMusicShopL() -// To Launch Find in Shop Option -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::LaunchMusicShopL() - { -#ifdef MUSICSHOP_AVAILABLE - IRLOG_DEBUG( "Entered CIRHistoryListView::LaunchMusicShopL() Entering" ); - - TApaTaskList tasList( iCoeEnv->WsSession() ); - TApaTask task = tasList.FindApp( KUidMusicStore ); - - if ( task.Exists() ) - { - task.BringToForeground(); - } - else - { - RApaLsSession session; - if ( KErrNone == session.Connect() ) - { - CleanupClosePushL( session ); - TThreadId threadId; - session.CreateDocument( KNullDesC, KUidMusicStore, threadId ); - CleanupStack::PopAndDestroy(&session); - } - } - - IRLOG_DEBUG( "Leaving CIRHistoryListView::LaunchMusicShopL() Exiting" ); -#endif - } - -// --------------------------------------------------------------------------- -// CIRHistoryListView::DoFindInMusicShopL() -// To Launch Find in Shop Option -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::DoFindInMusicShopL( const TDesC& aSongName, - const TDesC& aArtistName, - const TDesC& aAlbumName ) - { - IRLOG_DEBUG( "Entered CIRHistoryListView::DoFindInMusicShopL() - Entering" ); -#ifdef MUSICSHOP_AVAILABLE - HBufC* url = NULL; - url = iMPXFindInShop->CreateSearchURLL( aSongName, - aArtistName, - aAlbumName, - KNullDesC, // Composer - Not used - KNullDesC ); // Genre - Not used - CleanupStack::PushL(url); // the pointer will be poped - RProperty::Set( KUidMusicStore, - KMShopCategoryId, - KFindInMShopKeyValid ); // Set Key to Valid - - RProperty::Set( KUidMusicStore, - KMShopCategoryName, - *url ); - LaunchMusicShopL(); - if(url) - { - CleanupStack::PopAndDestroy(url); - } - REComSession::FinalClose(); -#else - if(aSongName.Length() > 0 || aArtistName.Length() > 0 || aAlbumName.Length() > 0) - { - // do nothing, just remove build warnings. - } - IRLOG_DEBUG( "Leaving CIRHistoryListView::DoFindInMusicShopL() - Exiting" ); -#endif - } - -// --------------------------------------------------------------------------- -// CIRHistoryListView::FindInShopOption() -// To Launch Find in Shop Option when selected from the toolbar -// --------------------------------------------------------------------------- -// - -void CIRHistoryListView:: FindInShopOptionL() - { - IRLOG_DEBUG( "CIRHistoryListView::FindInShopOptionL - Entering" ); - TInt itemIndex = iContainer->GetCurrentFocussedLeaf(); - if(itemIndex==-1) - { - IRLOG_DEBUG( "CIRHistoryListView::FindInShopOptionL - Exiting" ); - return; - } - if(itemIndex>=0 && itemIndexGetSongInfo(), - iHistoryDataArr[itemIndex]->GetArtistInfo(), - KNullDesC); - } - IRLOG_DEBUG( "CIRHistoryListView::FindInShopOptionL - Exiting" ); - } -// --------------------------------------------------------------------------- -//Notifies all observers whose network request is active -// to reissue the request -//NotifyActiveNetworkObserversL() -// --------------------------------------------------------------------------- - -void CIRHistoryListView::NotifyActiveNetworkObserversL(TIRNetworkEvent aEvent) - { - IRLOG_DEBUG( "CIRHistoryListView::NotifyActiveNetworkObserversL - Entering" ); - - switch(aEvent) - { - case ENetworkConnectionDisconnected: - { - iNowPlayingWrapper->HandleNetworkDisconnected(); - } - break; - case ENetworkConnectionEstablished: - { - if( !iUi->CheckAndNotifyLowDiskSpaceL() && iContainer ) - { - if(iRequestPending || iUi->iNetworkController->IsHandingOverConnection()) - { - if(iAddToFav) - { - iAddToFav=ETrue; - iListenRequest=EFalse; - iContainer->AddStationToFavoritesL(EAddtoFavouritesCmd); - } - else if(iListenRequest) - { - iAddToFav=EFalse; - iListenRequest=EFalse; - iNowPlayingWrapper->SetView(EHistoryView); - TInt index=iContainer->GetCurrentFocussedNode(); - iContainer->ListenUrlL(index ); - } - else - { - - } - } - } - if(iUi->iNetworkController->IsHandingOverConnection()) - { - ResetPendingRequests(EFalse); - } - } - } - - IRLOG_DEBUG( "CIRHistoryListView::NotifyActiveNetworkObserversL - Exiting" ); - } - - - -// ----------------------------------------------------------------------------- -// Notified by network controller when user cancels network connection, to reset -// the pending requests -// ResetPendingRequests() -// ----------------------------------------------------------------------------- -void CIRHistoryListView::ResetPendingRequests(TBool aValue) - { - iRequestPending = aValue; - iListenRequest = aValue; - iAddToFav = aValue; - } - - - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Foreground event handling function. -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::HandleForegroundEventL( TBool aForeground ) - { - IRLOG_DEBUG( "CIRHistoryListView::HandleForegroundEventL - Entering" ); - CIRBaseView::HandleForegroundEventL( aForeground ); - - if ( aForeground ) - { - if(iContainer) - { - MAknsSkinInstance * skin=AknsUtils::SkinInstance () ; - TRgb color; - TInt skinColor=AknsUtils::GetCachedColor(skin, color, KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG6 ); - if(color.Gray2()!=0) - { - CreateAndSetToolbarL(R_IR_HISTORY_WHITE_TOOLBAR); - } - else - { - CreateAndSetToolbarL(R_IR_HISTORY_BLACK_TOOLBAR); - } - if( AknLayoutUtils::PenEnabled() && Toolbar() ) - { - Toolbar()->SetToolbarObserver( this ); - } - ConstructToolbarL(); - } - } - IRLOG_DEBUG( "CIRHistoryListView::HandleForegroundEventL" ); - } - -// --------------------------------------------------------------------------- -// GetFindInShopInstance() -// Get the FindInShop Instance is null or not. -// --------------------------------------------------------------------------- -// -TBool CIRHistoryListView::GetFindInShopInstance() - { - TBool ret = EFalse; - if(iMPXFindInShop) - { - ret = ETrue; - } - IRLOG_DEBUG( "CIRHistoryListView::GetFindInShopInstance" ); - return ret; - } -// --------------------------------------------------------- -// CIRHistoryListView::HandleSystemEventL -// from base class MIRSystemEventObserver -// --------------------------------------------------------- -// -void CIRHistoryListView::HandleSystemEventL(TIRSystemEventType aEventType) - { - IRLOG_DEBUG(" CIRHistoryListView::HandleSystemEventL - Entering"); - - switch (aEventType) - { - case EIRCallActivated: - { - if( iUi->GetNetworkControllerInstance()->IdentifyConnectionType() != EWiFi ) - { - if(iUi->iIsdsWrapper->iIsdsWaitDialog) - { - TRAP_IGNORE( iUi->iIsdsWrapper->DestroyWaitDialogL() ); - } - if(!iCallRequestPending && iCommand==EAddtoFavouritesCmd) - { - iUi->iIsdsWrapper->IsdsCancelRequest(); - iCallRequestPending = ETrue; - } - if(iUi->iIsdsWrapper->GetListenRequest()) - { - iNowPlayingWrapper->DestroyWaitDialogL(); - iUi->iIsdsWrapper->SetListenRequest(EFalse); - iUi->iIsdsWrapper->IsdsCancelRequest(); - } - } - break; - } - case EIRCallDeactivated: - { - if(iCallRequestPending && iCommand==EAddtoFavouritesCmd) - { - iCallRequestPending = EFalse; - HandleCommandL(iCommand); - } - break; - } - default: - { - break; - } - } - IRLOG_DEBUG( "CIRHistoryListView::HandleSystemEventL - Exiting." ); - } -// --------------------------------------------------------------------------- -// RefreshHistoryL() -// Refreshes the History view while Synchronisation. -// --------------------------------------------------------------------------- -// -void CIRHistoryListView::RefreshHistoryL() -{ - IRLOG_DEBUG( "CIRHistoryListView::RefreshHistoryL - Entering" ); - iHistoryDataArr.ResetAndDestroy(); - - if(iContainer) - { - iContainer->ClearHistoryListL(); - } - - GetAllListL(); - if(iContainer) - { - iContainer->UpdateAllL(iHistoryDataArr); - } - IRLOG_DEBUG( "CIRHistoryListView::RefreshHistoryL - Exiting" ); -} -// --------------------------------------------------------------------------- -// HistoryEngineInstance() -// Gets the history Engine object Instance. -// --------------------------------------------------------------------------- -// -CIRSongHistoryEngine* CIRHistoryListView::HistoryEngineInstance() -{ - IRLOG_DEBUG( "CIRHistoryListView::HistoryEngineInstance - Exiting" ); - return iHistoryEngine ; -}