package de.vanmar.android.yarrn.requests;
import android.app.Application;
import com.google.gson.Gson;
import org.scribe.model.OAuthRequest;
import org.scribe.model.Verb;
import de.vanmar.android.yarrn.R;
import de.vanmar.android.yarrn.YarrnPrefs_;
import de.vanmar.android.yarrn.ravelry.dts.StashesResult;
public class ListStashesRequest extends AbstractRavelryGetRequest<StashesResult> {
private int page;
private int pageSize;
public ListStashesRequest(Application application, YarrnPrefs_ prefs, int page, int pageSize) {
super(StashesResult.class, application, prefs);
this.page = page;
this.pageSize = pageSize;
}
protected StashesResult parseResult(String responseBody) {
return new Gson().fromJson(responseBody, StashesResult.class);
}
protected OAuthRequest getRequest() {
return new OAuthRequest(Verb.GET, String.format(
application.getString(R.string.ravelry_url) + "/people/%s/stash/list.json?sort=%s&page=%s&page_size=%s",
prefs.username().get(), getSort(), page, pageSize));
}
private String getSort() {
String sortParam = application.getResources().getStringArray(R.array.stash_sort_option_values)[prefs.stashSort().get()];
if (prefs.stashSortReverse().get()) {
return sortParam + "_";
} else {
return sortParam;
}
}
}