package org.onebrick.android.jobs; import com.path.android.jobqueue.Params; import org.onebrick.android.activities.SelectChapterActivity; import org.onebrick.android.core.OneBrickApplication; import org.onebrick.android.core.OneBrickRESTClient; import org.onebrick.android.core.OneBrickService; import org.onebrick.android.events.FetchChaptersEvent; import org.onebrick.android.events.Status; import org.onebrick.android.helpers.NetworkUtil; import org.onebrick.android.helpers.Utils; import org.onebrick.android.models.Chapter; import java.util.Map; public class FetchChaptersJob extends OneBrickBaseJob { SelectChapterActivity mSelectChapterActivity; public FetchChaptersJob() { super(new Params(Priority.MEDIUM)); } @Override public void onRun() throws Throwable { if (!NetworkUtil.isConnected(OneBrickApplication.getInstance())) { Utils.postEventOnUi(new FetchChaptersEvent(Status.NO_NETWORK)); mSelectChapterActivity.onFetchChaptersEvent(new FetchChaptersEvent(Status.NO_NETWORK)); return; } final OneBrickService restService = OneBrickRESTClient.getInstance().getRestService(); Map<String, Chapter> chapters = restService.getAllChapters(); for (Map.Entry<String, Chapter> entry : chapters.entrySet()) { final Chapter chapter = entry.getValue(); chapter.save(); } Utils.postEventOnUi(new FetchChaptersEvent(Status.SUCCESS)); } @Override protected void onCancel() { Utils.postEventOnUi(new FetchChaptersEvent(Status.FAILED)); } }