package com.fastaccess.provider.loader; import android.content.Context; import android.support.v4.content.AsyncTaskLoader; import com.fastaccess.data.dao.FolderModel; import java.util.List; /** * Created by Kosh on 11 Oct 2016, 7:37 PM */ public class FoldersLoader extends AsyncTaskLoader<List<FolderModel>> { private List<FolderModel> folderModels; public FoldersLoader(Context context) { super(context); } @Override public List<FolderModel> loadInBackground() { return FolderModel.getFolders(); } @Override public void deliverResult(List<FolderModel> folders) { if (isReset()) { if (folders != null) { return; } } folderModels = folders; if (isStarted()) { super.deliverResult(folders); } } @Override protected void onStartLoading() { if (folderModels != null) { deliverResult(folderModels); } if (takeContentChanged()) { forceLoad(); } else if (folderModels == null) { forceLoad(); } } @Override protected void onStopLoading() { cancelLoad(); } @Override protected void onReset() { onStopLoading(); if (folderModels != null) { folderModels = null; } } @Override public void onCanceled(List<FolderModel> apps) { super.onCanceled(apps); } @Override public void forceLoad() { super.forceLoad(); } }