diff -r 1ee2af37811f -r 6481344a6d67 engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp --- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Thu May 27 12:51:42 2010 +0300 +++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Fri Jun 11 13:38:23 2010 +0300 @@ -74,7 +74,8 @@ // Constructor // ---------------------------------------------------------------------------- // -CGlxDataSourceTaskMdeIdList::CGlxDataSourceTaskMdeIdList(CGlxIdListRequest* aRequest, MGlxDataSourceRequestObserver& aObserver, CGlxDataSource* aDataSource) +CGlxDataSourceTaskMdeIdList::CGlxDataSourceTaskMdeIdList(CGlxIdListRequest* aRequest, + MGlxDataSourceRequestObserver& aObserver, CGlxDataSource* aDataSource) : CGlxDataSourceTaskMde(aRequest, aObserver, aDataSource) { TRACER("CGlxDataSourceTaskMdeIdList::CGlxDataSourceTaskMdeIdList()") @@ -109,6 +110,9 @@ void CGlxDataSourceTaskMdeIdList::ExecuteRequestL() { TRACER("CGlxDataSourceTaskMdeIdList::ExecuteRequestL()") +#ifdef _DEBUG + iStartTime.HomeTime(); +#endif CGlxIdListRequest* request = static_cast(iRequest); TGlxMediaId container = request->ContainerId(); TGlxQueryType queryType = EIdListQuery; @@ -140,9 +144,9 @@ } case KGlxCollectionPluginMonthsImplementationUid: { - iFilterProperties.iOrigin = EGlxFilterOriginCamera; + iFilterProperties.iOrigin = EGlxFilterOriginAll; container = TGlxMediaId(KGlxCollectionRootId); - resultMode = EQueryResultModeObjectWithFreetexts; + resultMode = EQueryResultModeItem; break; } case KGlxCollectionPluginImageViewerImplementationUid: @@ -177,7 +181,7 @@ } case KGlxCollectionPluginMonthsImplementationUid: { - iFilterProperties.iOrigin = EGlxFilterOriginCamera; + iFilterProperties.iOrigin = EGlxFilterOriginAll; AddMonthFilterL(container, iFilterProperties); container = TGlxMediaId(KGlxCollectionRootId); break; @@ -202,6 +206,11 @@ TRACER("CGlxDataSourceTaskMdeIdList::DoHandleQueryCompletedL()") __ASSERT_DEBUG(iQueryTypes[0] == EIdListQuery, Panic(EGlxPanicLogicError)); DoHandleListQueryCompletedL(); +#ifdef _DEBUG + iStopTime.HomeTime(); + GLX_DEBUG2("GlxDataSrcTaskMdeIdList:DoHandleQueryCompletedL() took %d us", + (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64()); +#endif } // ---------------------------------------------------------------------------- @@ -211,7 +220,7 @@ void CGlxDataSourceTaskMdeIdList::DoHandleListQueryCompletedL() { TRACER("CGlxDataSourceTaskMdeIdList::DoHandleListQueryCompletedL()") - if(iQueries[0]->ResultMode() == EQueryResultModeObjectWithFreetexts) + if(iQueries[0]->ResultMode() == EQueryResultModeItem) { DoMonthListCreationL(*iQueries[0], iFilterProperties); } @@ -245,6 +254,7 @@ TTime lastMonth; TTime currentMonth; TInt count = aQuery.Count(); + GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL count=%d", count); for( TInt i = 0 ; i < count ; i++ ) { CMdEObject& object = (CMdEObject&)aQuery.ResultItem(i); @@ -254,13 +264,17 @@ User::Leave(KErrCorrupt); } currentMonth = static_cast(time)->Value(); - if( !DataSource()->SameMonth(lastMonth, currentMonth) ) + + // Also Checking for a Valid Month Entry Based on a Year Greater than 0000. + if( !DataSource()->SameMonth(lastMonth, currentMonth) && (currentMonth.DateTime().Year() > 0) ) { const TGlxMediaId monthId = DataSource()->GetMonthIdL(currentMonth); monthList.AppendL(monthId); + GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL monthId=%d", monthId.Value()); lastMonth = currentMonth; } } + GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL monthList.Count=%d", monthList.Count()); PostFilterL(monthList, aFilterProperties); CleanupStack::PopAndDestroy(&monthList); }