package com.aptoide.amethyst.webservices.v3; import com.aptoide.amethyst.preferences.SecurePreferences; import com.aptoide.amethyst.webservices.OauthErrorHandler; import com.aptoide.dataprovider.webservices.models.Constants; import com.aptoide.dataprovider.webservices.models.v3.RateApp; import com.octo.android.robospice.request.retrofit.RetrofitSpiceRequest; import java.util.HashMap; import retrofit.RetrofitError; import retrofit.http.FieldMap; import retrofit.http.FormUrlEncoded; import retrofit.http.POST; /** * Created by fabio on 16-11-2015. */ public class RateAppRequest extends RetrofitSpiceRequest<RateApp, RateAppRequest.IPostRateWebService> { String STAR_CONSTANT = "star"; String APP_ID = "appid"; long apkId; private static final String MODE = "mode"; int star; public RateAppRequest(long apkId, float star) { super(RateApp.class, RateAppRequest.IPostRateWebService.class); this.apkId = apkId; this.star = (int) star; } @Override public RateApp loadDataFromNetwork() throws Exception { HashMap<String, String> args = new HashMap<>(); args.put(APP_ID, String.valueOf(apkId)); args.put(MODE, "json"); args.put(STAR_CONSTANT, String.valueOf(star)); String token = SecurePreferences.getInstance().getString("access_token", "empty"); args.put(Constants.ACCESS_TOKEN, token); try { return getService().rateApp(args); } catch (RetrofitError e) { OauthErrorHandler.handle(e); } return null; } interface IPostRateWebService { @POST("/webservices.aptoide.com/webservices/3/addApkStar") @FormUrlEncoded RateApp rateApp(@FieldMap HashMap<String, String> args); } }