package com.aptoide.amethyst.webservices; import com.aptoide.amethyst.Aptoide; import com.aptoide.amethyst.model.json.OAuth; import com.aptoide.amethyst.utils.AptoideUtils; import com.aptoide.dataprovider.webservices.models.WebserviceOptions; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.octo.android.robospice.request.retrofit.RetrofitSpiceRequest; import java.util.HashMap; import retrofit.converter.Converter; import retrofit.converter.JacksonConverter; import retrofit.http.FieldMap; import retrofit.http.FormUrlEncoded; import retrofit.http.POST; /** * Created with IntelliJ IDEA. * User: rmateus * Date: 04-11-2013 * Time: 11:29 * To change this template use File | Settings | File Templates. */ public class CreateUserRequest extends RetrofitSpiceRequest<OAuth, CreateUserRequest.Webservice> { public interface Webservice{ @POST("/webservices.aptoide.com/webservices/3/createUser") @FormUrlEncoded OAuth createUser(@FieldMap HashMap<String, String> args); } String baseUrl = WebserviceOptions.WebServicesLink + "3/createUser"; protected Converter createConverter() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); return new JacksonConverter(objectMapper); } private String email; private String pass; private String name = ""; public CreateUserRequest() { super(OAuth.class, CreateUserRequest.Webservice.class); } public void setEmail(String email){ this.email = email; } public void setPass(String pass){ this.pass = pass; } @Override public OAuth loadDataFromNetwork() throws Exception { //GenericUrl url = new GenericUrl(baseUrl); HashMap<String, String > parameters = new HashMap<String, String>(); String passhash = AptoideUtils.Algorithms.computeSHA1sum(pass); parameters.put("mode", "json"); parameters.put("email", email); parameters.put("passhash", passhash); if(Aptoide.getConfiguration().getExtraId().length()>0){ parameters.put("oem_id", Aptoide.getConfiguration().getExtraId()); } parameters.put("hmac", AptoideUtils.Algorithms.computeHmacSha1(email+passhash+name, "bazaar_hmac")); //RestAdapter adapter = new RestAdapter.Builder().setEndpoint("http://").setConverter(createConverter()).build(); //setService(adapter.create(getRetrofitedInterfaceClass())); return getService().createUser(parameters); // HttpContent content = new UrlEncodedContent(parameters); // // HttpRequest request = getHttpRequestFactory().buildPostRequest(url, content); // // request.setParser(new JacksonFactory().createJsonObjectParser()); // // return request.execute().parseAs( getResultType() ); } public void setName(String name) { this.name = name; } }