engine/src/FeedEngine.cpp
changeset 63 a8538f50e2ba
parent 52 b778853e60a7
parent 60 bbf5c5204844
child 66 41d00e97e2f7
--- a/engine/src/FeedEngine.cpp	Wed Mar 31 15:36:43 2010 +0100
+++ b/engine/src/FeedEngine.cpp	Wed Mar 31 16:09:11 2010 +0100
@@ -517,7 +517,7 @@
 				time.HomeTime();
 				iActiveFeed->SetLastUpdated(time);
 				iActiveFeed->SetLastError(aError);
-				NotifyFeedUpdateCompleteL(aError);
+				NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError);
 				}
 			break;
 		case EUpdatingFeed: 
@@ -587,8 +587,8 @@
 				}break;
 			}
 		
-			NotifyFeedUpdateCompleteL(aError);
-	
+			NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError);
+
 			// we will wait until the image has been downloaded to start the next feed update.
 			if (iClientState == EIdle)
 				{
@@ -599,8 +599,16 @@
 			{
 			// change client state to not updating
 			iClientState = EIdle;
-	
-			NotifyFeedUpdateCompleteL(aError);
+			if(aError == KErrNone)
+				{
+				if( BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), iActiveFeed->ImageFileName() ))
+					{
+						// If this fails, no reason to worry
+					TRAP_IGNORE(iPodcastModel.ImageHandler().LoadFileAndScaleL(iActiveFeed->FeedIcon(), iActiveFeed->ImageFileName(), TSize(64,56), *iActiveFeed, iActiveFeed->Uid()));
+					}				
+				}
+			
+			NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError);
 			UpdateNextFeedL();
 			}break;
 		case ESearching: 
@@ -629,13 +637,12 @@
 	DP("CFeedEngine::CompleteL END");
 	}
 
-void CFeedEngine::NotifyFeedUpdateCompleteL(TInt aError)
+void CFeedEngine::NotifyFeedUpdateComplete(TInt aFeedUid, TInt aError)
 	{
-	DP("CFeedEngine::NotifyFeedUpdateComplete");
-	DBUpdateFeedL(*iActiveFeed);
+	DP("CFeedEngine::NotifyFeedUpdateComplete");	
 	for (TInt i=0;i<iObservers.Count();i++) 
 		{
-		TRAP_IGNORE(iObservers[i]->FeedDownloadFinishedL(iAutoUpdatedInitiator?MFeedEngineObserver::EFeedAutoUpdate:MFeedEngineObserver::EFeedManualUpdate, iActiveFeed->Uid(), aError));
+		TRAP_IGNORE(iObservers[i]->FeedDownloadFinishedL(MFeedEngineObserver::EFeedAutoUpdate, aFeedUid, aError));
 		}
 	}