package com.progscrape.data;
import com.grack.nanojson.JsonObject;
import com.octo.android.robospice.persistence.exception.SpiceException;
import com.octo.android.robospice.request.listener.RequestListener;
import com.progscrape.app.data.Story;
import java.util.List;
import javax.inject.Inject;
public class Data {
private RequestExecutor executor;
private FeedParser feedParser;
@Inject
public Data(RequestExecutor executor, FeedParser feedParser) {
this.executor = executor;
this.feedParser = feedParser;
}
public void getTopTags(final RequestListener<List<String>> listener, boolean force) {
executor.execute(new FeedRequest(null), new RequestListener<JsonObject>() {
@Override
public void onRequestFailure(SpiceException spiceException) {
listener.onRequestFailure(spiceException);
}
@Override
public void onRequestSuccess(JsonObject feed) {
listener.onRequestSuccess(feedParser.parse(feed).getTopTags());
}
}, force);
}
public void getStoryData(String query, final RequestListener<List<Story>> listener, boolean force) {
executor.execute(new FeedRequest(query), new RequestListener<JsonObject>() {
@Override
public void onRequestFailure(SpiceException spiceException) {
listener.onRequestFailure(spiceException);
}
@Override
public void onRequestSuccess(JsonObject feed) {
listener.onRequestSuccess(feedParser.parse(feed).getStories());
}
}, force);
}
}