package com.aptoide.amethyst.openiab.webservices; import com.aptoide.amethyst.preferences.SecurePreferences; import com.aptoide.amethyst.webservices.OauthErrorHandler; import java.util.HashMap; import com.aptoide.amethyst.openiab.webservices.json.IabPurchasesJson; import retrofit.RetrofitError; import retrofit.http.FieldMap; import retrofit.http.FormUrlEncoded; import retrofit.http.POST; public class IabPurchasesRequest extends BaseRequest<IabPurchasesJson, IabPurchasesRequest.Webservice> { private String type; public interface Webservice{ @POST("/webservices.aptoide.com/webservices/3/processInAppBilling") @FormUrlEncoded IabPurchasesJson processInAppBilling(@FieldMap HashMap<String, String> args); } public IabPurchasesRequest() { super(IabPurchasesJson.class, Webservice.class); } @Override public IabPurchasesJson loadDataFromNetwork() throws Exception { // GenericUrl url = getURL(); HashMap<String, String> parameters = new HashMap<>(); parameters.put("apiversion",apiVersion); parameters.put("reqtype","iabpurchases"); parameters.put("package",packageName); parameters.put("purchasetype",type); token = SecurePreferences.getInstance().getString("access_token", null); parameters.put("access_token",token); parameters.put("mode","json"); // HttpContent content = new UrlEncodedContent(parameters); // // HttpRequest request = getHttpRequestFactory().buildPostRequest(url, content); // // request.setUnsuccessfulResponseHandler(new OAuthRefreshAccessTokenHandler(parameters, getHttpRequestFactory())); // request.setParser(new JacksonFactory().createJsonObjectParser()); // // HttpResponse response; // try{ // response = request.execute(); // } catch (EOFException e){ // // HttpHeaders httpHeaders = new HttpHeaders(); // httpHeaders.put("Connection", "close"); // request.setHeaders(httpHeaders); // response = request.execute(); // } // // return response.parseAs(getResultType()); IabPurchasesJson response = null; try{ response = getService().processInAppBilling(parameters); }catch (RetrofitError error){ OauthErrorHandler.handle(error); } return response; } public String getType() { return type; } public void setType(String type) { this.type = type; } }