package com.duckduckgo.mobile.android.tasks;
import java.util.Set;
import android.os.AsyncTask;
import android.support.v7.widget.RecyclerView;
import android.widget.ListView;
import com.duckduckgo.mobile.android.DDGApplication;
import com.duckduckgo.mobile.android.download.ImageCache;
import com.duckduckgo.mobile.android.objects.SourceInfoPair;
import com.duckduckgo.mobile.android.util.DDGUtils;
public class SourceIconsTask extends AsyncTask<Void, Void, Void> {
private static String TAG = "SourceIconsTask";
//ListView mainFeedView;
RecyclerView mainFeedRecyclerView;
ImageCache cache;
Set<SourceInfoPair> sourceInfoPairs;
public SourceIconsTask(RecyclerView mainFeedRecyclerView /*ListView mainFeedView*/, Set<SourceInfoPair> sourceInfoPairs) {
//this.mainFeedView = mainFeedView;
this.mainFeedRecyclerView = mainFeedRecyclerView;
this.cache = DDGApplication.getImageCache();
this.sourceInfoPairs = sourceInfoPairs;
}
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) return null;
for(SourceInfoPair sourceInfo : sourceInfoPairs) {
// ***** save source icon to ImageCache if needed ****
if(sourceInfo.imageUrl != null && sourceInfo.imageUrl.length() != 0){
if(cache.getBitmapFromCache("DUCKDUCKICO--"+sourceInfo.id, false) != null){
// pass
}
else {
DDGUtils.downloadAndSaveBitmapToCache(this, sourceInfo.imageUrl, "DUCKDUCKICO--"+sourceInfo.id);
}
}
// ***************************************************
}
return null;
}
@Override
protected void onPostExecute(Void result) {
//if(mainFeedView != null) {
//mainFeedView.invalidateViews();
//}
if(mainFeedRecyclerView!=null) {
mainFeedRecyclerView.invalidate();
}
super.onPostExecute(result);
}
}