package com.aptoide.amethyst.webservices; import android.os.Build; import com.aptoide.amethyst.Aptoide; import com.aptoide.amethyst.utils.AptoideUtils; import com.octo.android.robospice.persistence.exception.SpiceException; import com.octo.android.robospice.request.listener.RequestListener; import com.octo.android.robospice.request.retrofit.RetrofitSpiceRequest; import java.util.HashMap; import retrofit.http.FieldMap; import retrofit.http.FormUrlEncoded; import retrofit.http.POST; /** * Created by rmateus on 29-07-2014. */ public class RegisterAdRefererRequest extends RetrofitSpiceRequest<RegisterAdRefererRequest.DefaultResponse, RegisterAdRefererRequest.Webservice> { private long adId; private long appId; private String tracker; private String success; public RegisterAdRefererRequest(long adId, long appId, String clickUrl, boolean success) { super(DefaultResponse.class, Webservice.class); this.adId = adId; this.appId = appId; this.success = (success ? "1" : "0"); extractAndSetTracker(clickUrl); } private void extractAndSetTracker(String clickUrl) { int i = clickUrl.indexOf("//"); int last = clickUrl.indexOf("/", i + 2); tracker = clickUrl.substring(0, last); } public RegisterAdRefererRequest() { super(DefaultResponse.class, Webservice.class); } public interface Webservice { @POST(url) @FormUrlEncoded DefaultResponse load(@FieldMap HashMap<String, String> arg); } final static String url = "/webservices.aptwords.net/api/2/registerAdReferer"; @Override public DefaultResponse loadDataFromNetwork() throws Exception { HashMap<String, String> map = new HashMap<>(); map.put("success", success); map.put("adid", Long.toString(adId)); map.put("appid", Long.toString(appId)); map.put("q", AptoideUtils.HWSpecifications.filters(Aptoide.getContext())); map.put("androidversion", Build.VERSION.RELEASE); map.put("tracker", tracker); // http://webservices.aptwords.net/api/2/registerAdReferer/ // success/1 // /adid/2336 // /appid/8038083 // /q/bWF4U2RrPTIxJm1heFNjcmVlbj1ub3JtYWwmbWF4R2xlcz0zLjAmbXlDUFU9YXJtZWFiaS12N2EsYXJtZWFiaSZteURlbnNpdHk9MzIw // /androidversion/4.0 // /httpcode/404 // /tracker/aptwords.net // /mimetype/text_html return getService().load(map); } public static class DefaultResponse { String status; public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } } public static RequestListener<DefaultResponse> newDefaultResponse() { return new RequestListener<DefaultResponse>() { @Override public void onRequestFailure(SpiceException spiceException) { } @Override public void onRequestSuccess(RegisterAdRefererRequest.DefaultResponse defaultResponse) { } }; } public long getAdId() { return adId; } public void setAdId(long adId) { this.adId = adId; } public long getAppId() { return appId; } public void setAppId(long appId) { this.appId = appId; } public String getTracker() { return tracker; } public void setTracker(String tracker) { this.tracker = tracker; } public String getSuccess() { return success; } public void setSuccess(String success) { this.success = success; } }