# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1265062173 -7200 # Node ID 2a40e88564c81750ce64499d1311ed2063f9097d # Parent beaa16f6587905d322a8759fa67d31a9e41a8861 Revision: 201003 Kit: 201005 diff -r beaa16f65879 -r 2a40e88564c8 mpxmusicplayer/app/src/mpxappui.cpp --- a/mpxmusicplayer/app/src/mpxappui.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxmusicplayer/app/src/mpxappui.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -2640,20 +2640,22 @@ { CMPXCollectionPlaylist* pl = s->PlaylistL(); TInt browsePathCount = cPath->Count(); - - if (pl && - browsePathCount > 0) // don't set index since this playlist - // no longer contains any items, this can - // happen in the case of autoplaylists and cause - // a hang + + if( pl ) { CleanupStack::PushL( pl ); - TInt playlistIndex = pl->Path().Index(); - if(playlistIndex < browsePathCount) + if( browsePathCount > 0 ) // don't set index since this playlist + // no longer contains any items, this can + // happen in the case of autoplaylists and cause + // a hang { - iCollectionUtility->Collection().CommandL(EMcCmdSelect, - playlistIndex); - } + TInt playlistIndex = pl->Path().Index(); + if(playlistIndex < browsePathCount) + { + iCollectionUtility->Collection().CommandL(EMcCmdSelect, + playlistIndex); + } + } CleanupStack::PopAndDestroy( pl ); } } @@ -2760,18 +2762,20 @@ // // Make sure we are the same level and the same container before making index call // - if (pl && - browsePathCount > 0 && - levels == pl->Path().Levels() && - cPath->Id(levels-2) == pl->Path().Id(levels-2) ) - { + if( pl ) + { CleanupStack::PushL( pl ); - TInt playlistIndex = pl->Path().Index(); - - if(playlistIndex < browsePathCount) + if ( browsePathCount > 0 && + levels == pl->Path().Levels() && + cPath->Id(levels-2) == pl->Path().Id(levels-2) ) { - iCollectionUtility->Collection().CommandL(EMcCmdSelect, - playlistIndex); + TInt playlistIndex = pl->Path().Index(); + + if(playlistIndex < browsePathCount) + { + iCollectionUtility->Collection().CommandL(EMcCmdSelect, + playlistIndex); + } } CleanupStack::PopAndDestroy( pl ); } @@ -3660,11 +3664,7 @@ needToExit = ETrue; } - if( aCommand == EAknCmdExit ) - { - // Options/Exit selected, close also the MM suite - LaunchMmViewL( KMmMessage ); - } + if( needToExit ) { Exit(); diff -r beaa16f65879 -r 2a40e88564c8 mpxmusicplayer/app/src/mpxcontroller.cpp --- a/mpxmusicplayer/app/src/mpxcontroller.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxmusicplayer/app/src/mpxcontroller.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -682,6 +682,12 @@ } case EMcMsgUSBMassStorageStart: { + //Sometimes, this message will be received more than 1 time with usb plugin once. + //Just handle the first one. And only this message has such abnormal behaviour. + if ( iCurSystemEvent == EMcMsgUSBMassStorageStart ) + { + break; + } MPX_DEBUG1("CMPXController::DoHandleBroadcastMsg - EMcMsgUSBMassStorageStart"); // Close playback framework and start wait note diff -r beaa16f65879 -r 2a40e88564c8 mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp --- a/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -576,7 +576,7 @@ TMediaAttributeIter& aAttributeIter ) { MPX_FUNC( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata" ); - const TInt KMaxMediaAttrLen = 50; // Replace with suitable value + const TInt KMaxMediaAttrLen = 300; // >110 is required for AVRCP fragmentation TBuf8 attrBuf; TMediaAttributeId attrId; aAttributeIter.Start(); @@ -650,9 +650,15 @@ } if( detail ) { - if( CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail ) ) + const TInt returnValue = CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail ); + if ( returnValue == CnvUtfConverter::EErrorIllFormedInput) { - attrBuf.Zero(); // Check if this generates the right response + MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Illformed string, sending zero length response" ); + attrBuf.Zero(); + } + else if ( returnValue > 0 ) + { + MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Could not convert whole string, sending converted fragment" ); } } if( val ) diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/addtracksdialog/src/mpxaddtracksdialog.cpp --- a/mpxplugins/viewplugins/views/addtracksdialog/src/mpxaddtracksdialog.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/addtracksdialog/src/mpxaddtracksdialog.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -126,6 +126,7 @@ } if ( iCollectionUiHelper ) { + iCollectionUiHelper->Cancel(); iCollectionUiHelper->Close(); } if ( iOrigIcon ) @@ -1104,7 +1105,12 @@ iAnimIconIndex = 0; iPeriodic->Cancel(); iListModel->SetAnimationIconNum( iSelectIndex, 0 ); - HighlightListItem( iSelectIndex ); + TInt bottomIdx = iListBox->BottomItemIndex(); + TInt topIdx = iListBox->TopItemIndex(); + if ( topIdx <= iSelectIndex && iSelectIndex <= bottomIdx ) + { + HighlightListItem( iSelectIndex ); + } // restore origional navi pane text iNaviPane->Pop( iNaviLabelPane ); iNaviPane->PushDefaultL(); diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp --- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -1415,7 +1415,7 @@ { iListWidget->ResizeL( aCount ); ProvideDataWithoutThumbnailsL(aMediaArray); - iListWidget->SetSelectedIndex( CurrentLbxItemIndex() ); + iListWidget->SetSelectedIndex( index ); } else { @@ -1426,13 +1426,12 @@ { // In case of mediawall components we switch to different view type if orientation changes // so there is no need to set new client rect for mediawall. - + TInt index = iMediaWall->SelectedIndex(); iMediaWall->Reset(); if ( aCount ) { iMediaWall->ResizeL( aCount ); ProvideDataWithoutThumbnailsMwL(aMediaArray); - TInt index = CurrentLbxItemIndex(); index = index >= 0 ? index : 0; iMediaWall->SetSelectedIndex( index ); OpenAlbumL( index ); @@ -1470,6 +1469,7 @@ iListWidget->ClearFlags( CHgScroller::EHgScrollerKeyMarkingDisabled ); iListWidget->SetFocus(ETrue); iListWidget->SetScrollBarTypeL( CHgScroller::EHgScrollerLetterStripLite ); + iListWidget->DrawableWindow()->SetOrdinalPosition( -1 ); ProvideDataWithoutThumbnailsL(aMediaArray); } else @@ -1987,6 +1987,7 @@ if( iContext == EContextGroupAlbum ) { iAlbumIndex = aIndex; + iSelectedAlbumIndex = aIndex; SaveSelectedAlbumItemL(aIndex); } @@ -3598,7 +3599,7 @@ else { //no albumart supported - SetDefaultIconL(aIndex); + iThumbnailReqMap[aIndex] = ETrue; RefreshL(aIndex); } } diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp --- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -6515,6 +6515,7 @@ aMenuPane->SetItemDimmed( EMPXCmdSend, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdDelete, ETrue ); aMenuPane->SetItemDimmed( EMPXCmdRemove, ETrue ); + aMenuPane->SetItemDimmed( EMPXCmdPlayItem, ETrue ); } break; } diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp --- a/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -3375,8 +3375,8 @@ playlist = source->PlaylistL(); if ( playlist ) { - iPlaybackUtility->CommandL(EPbCmdPreserveState); CleanupStack::PushL( playlist ); + iPlaybackUtility->CommandL(EPbCmdPreserveState); } } @@ -3867,6 +3867,7 @@ CMPXCollectionPlaylist* playlist = s->PlaylistL(); if ( playlist ) { + CleanupStack::PushL( playlist ); if ( playlist->Count() > 0 ) { TMPXPlaybackState state = iPlaybackUtility->StateL(); @@ -3880,7 +3881,7 @@ iCommonUiHelper->SetMiddleSoftKeyLabelL( *cba, R_QTN_MSK_PLAY, EAknSoftkeyForwardKeyEvent); } } - delete playlist; + CleanupStack::PopAndDestroy( playlist ); } } MPX_DEBUG1("CMPXCommonPlaybackViewImp::UpdateMiddleSoftKeyDisplayL - new label displayed"); @@ -3916,6 +3917,7 @@ CMPXCollectionPlaylist* playlist = s->PlaylistL(); if ( playlist ) { + CleanupStack::PushL( playlist ); if ( playlist->Count() > 0 ) { if( pausePlayControl ) @@ -3940,7 +3942,7 @@ } } - delete playlist; + CleanupStack::PopAndDestroy( playlist ); } else { diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/podcastplaybackview/src/mpxpodcastplaybackviewimp.cpp --- a/mpxplugins/viewplugins/views/podcastplaybackview/src/mpxpodcastplaybackviewimp.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/podcastplaybackview/src/mpxpodcastplaybackviewimp.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -523,6 +523,7 @@ CMPXCollectionPlaylist* playlist = s->PlaylistL(); if ( playlist ) { + CleanupStack::PushL( playlist ); if ( playlist->Count() > 0 && pausePlayControl ) { TMPXPlaybackState state = iPlaybackUtility->StateL(); @@ -535,8 +536,8 @@ pausePlayControl->SetCurrentState(1, ETrue); } } + CleanupStack::PopAndDestroy( playlist ); } - delete playlist; } } } diff -r beaa16f65879 -r 2a40e88564c8 mpxplugins/viewplugins/views/upnpplaybackdialog/src/mpxupnpplaybackdialog.cpp --- a/mpxplugins/viewplugins/views/upnpplaybackdialog/src/mpxupnpplaybackdialog.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxplugins/viewplugins/views/upnpplaybackdialog/src/mpxupnpplaybackdialog.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -2478,6 +2478,7 @@ CMPXCollectionPlaylist* playlist = s->PlaylistL(); if ( playlist ) { + CleanupStack::PushL( playlist ); if ( playlist->Count() > 0 ) { if( pausePlayControl ) @@ -2493,8 +2494,7 @@ } } } - - delete playlist; + CleanupStack::PopAndDestroy( playlist ); } else {