package com.xda.one.loader;
import com.xda.one.api.inteface.PostClient;
import com.xda.one.api.model.response.container.ResponsePostContainer;
import com.xda.one.api.retrofit.RetrofitPostClient;
import com.xda.one.model.augmented.AugmentedPostContainer;
import android.content.Context;
public class PostLoader extends AsyncLoader<AugmentedPostContainer> {
private final PostClient mPostClient;
private final ResponsePostContainer mResponseContainer;
private int mPage;
private String mThreadId;
public PostLoader(Context context, String threadId, int page) {
super(context);
mPage = page;
mThreadId = threadId;
mResponseContainer = null;
mPostClient = RetrofitPostClient.getClient(getContext());
}
public PostLoader(final Context context, final ResponsePostContainer responseContainer) {
super(context);
mResponseContainer = responseContainer;
mPostClient = RetrofitPostClient.getClient(getContext());
}
@Override
public void releaseResources(final AugmentedPostContainer data) {
}
@Override
public AugmentedPostContainer loadInBackground() {
final ResponsePostContainer container = mResponseContainer == null
? mPostClient.getPosts(mThreadId, mPage)
: mResponseContainer;
if (container == null) {
return null;
}
return new AugmentedPostContainer(container, getContext());
}
}