package com.linangran.tgfcapp.tasks; import android.os.AsyncTask; import com.linangran.tgfcapp.data.ContentListPageData; import com.linangran.tgfcapp.data.HttpResult; import com.linangran.tgfcapp.data.ImageDownloadInfo; import com.linangran.tgfcapp.fragments.ContentFragment; import com.linangran.tgfcapp.fragments.ContentListPageFragment; import com.linangran.tgfcapp.utils.ImageDownloadManager; import com.linangran.tgfcapp.utils.NetworkUtils; import com.linangran.tgfcapp.utils.PreferenceUtils; import java.util.List; /** * Created by linangran on 5/1/15. */ public class ContentListDownloadTask extends AsyncTask<Integer, Integer, HttpResult<ContentListPageData>> { private ContentListPageFragment contentListPageFragment; private ContentFragment contentFragment; private boolean isRefreshing; public ContentListDownloadTask(ContentListPageFragment contentListPageFragment, ContentFragment contentFragment) { this.contentListPageFragment = contentListPageFragment; this.contentFragment = contentFragment; } public void setRefreshing(boolean isRefreshing) { this.isRefreshing = isRefreshing; } @Override protected HttpResult<ContentListPageData> doInBackground(Integer... inputs) { int tid = inputs[0], page = inputs[1]; HttpResult<ContentListPageData> contentList = NetworkUtils.getContentList(tid, page); return contentList; } @Override protected void onPostExecute(HttpResult<ContentListPageData> result) { if (isRefreshing) { contentListPageFragment.finishRefreshing(); } contentListPageFragment.updateContentList(result); if (result.hasError == false) { contentFragment.updateThreadInfo(result.result.fid, result.result.title); } if (result.hasError == false && PreferenceUtils.shouldShowImage()) { List<String> urlList = result.result.imgURLList; ImageDownloadManager manager = ImageDownloadManager.getInstance(); for (int i = 0; i < urlList.size(); i++) { manager.addTask(new ImageDownloadTask(this.contentListPageFragment.getActivity(), new ImageDownloadInfo(urlList.get(i)))); manager.startTask(urlList.get(i)); } } } }