Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-------------------------------------------------------------------------
- ClassificacaoSvc.load(getApplicationContext(),
- new ILoadResult<ClassificacaoModel>() {
- @Override
- public void started() {
- Log.d("KPDelivery", "load classificacao list started()");
- }
- @Override
- public void finished(List<ClassificacaoModel> list) {
- for (ClassificacaoModel item : list) {
- Log.d("KPDelivery", item.getId() + " - " + item.getDescricao());
- }
- Log.d("KPDelivery", "load classificacao list finished()");
- }
- @Override
- public void error(String message) {
- Log.e("KPDelivery", message);
- }
- });
- //-------------------------------------------------------------------------
- package br.com.kpsolutions.delivery.model;
- import com.google.gson.annotations.Expose;
- import com.google.gson.annotations.SerializedName;
- import java.io.Serializable;
- public class ClassificacaoModel implements Serializable {
- @SerializedName("ID")
- @Expose
- private long id;
- @SerializedName("Descricao")
- @Expose
- private String descricao;
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getDescricao() {
- return descricao;
- }
- public void setDescricao(String descricao) {
- this.descricao = descricao;
- }
- }
- //-------------------------------------------------------------------------
- package br.com.kpsolutions.delivery.services;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.os.AsyncTask;
- import android.preference.PreferenceManager;
- import android.util.Log;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- import java.lang.reflect.Type;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import br.com.kpsolutions.delivery.Util;
- import br.com.kpsolutions.delivery.interfaces.ILoadResult;
- import br.com.kpsolutions.delivery.model.ClassificacaoModel;
- import okhttp3.OkHttpClient;
- import okhttp3.Request;
- import okhttp3.Response;
- import static java.net.HttpURLConnection.HTTP_FORBIDDEN;
- import static java.net.HttpURLConnection.HTTP_INTERNAL_ERROR;
- import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
- import static java.net.HttpURLConnection.HTTP_OK;
- public class ClassificacaoSvc {
- public static void load(final Context context, final ILoadResult<ClassificacaoModel> loadResult) {
- new AsyncTask<Void, Void, List<ClassificacaoModel>>() {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- loadResult.started();
- }
- @Override
- protected void onPostExecute(List<ClassificacaoModel> list) {
- super.onPostExecute(list);
- if (list != null) {
- loadResult.finished(list);
- }
- }
- @Override
- protected void onProgressUpdate(Void... values) {
- super.onProgressUpdate(values);
- }
- @Override
- protected void onCancelled(List<ClassificacaoModel> list) {
- super.onCancelled(list);
- }
- @Override
- protected void onCancelled() {
- super.onCancelled();
- }
- @Override
- protected List<ClassificacaoModel> doInBackground(Void... voids) {
- try {
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- String token = sharedPrefs.getString("tokenSent", "");
- String deliverymanID = sharedPrefs.getLong("deliverymanID", -1) + "";
- String checksum = Util.sha256(token, deliverymanID).trim();
- OkHttpClient client = new OkHttpClient();
- Request request = new Request.Builder()
- .url(Util.SERVER + "/Delivery/GetClassificacoes")
- .addHeader("DeliverymanID", deliverymanID)
- .addHeader("Checksum", checksum)
- .build();
- Response response = client.newCall(request).execute();
- String result = response.body().string();
- Gson gson = new Gson();
- switch (response.code()) {
- case HTTP_OK:
- Log.d("KPDelivery", result);
- Type listType = new TypeToken<List<ClassificacaoModel>>() {}.getType();
- List<ClassificacaoModel> list = gson.fromJson(result, listType);
- return list;
- case HTTP_FORBIDDEN:
- case HTTP_INTERNAL_ERROR:
- case HTTP_NOT_FOUND:
- HashMap hashmap = gson.fromJson(result, HashMap.class);
- String message = (String) hashmap.get("Message");
- loadResult.error(message);
- return null;
- default:
- loadResult.error("Status: " + response.code() + ", Result: " + result);
- return null;
- }
- } catch (Exception e) {
- loadResult.error(e.getMessage());
- return null;
- }
- }
- }.execute();
- }
- }
- //-------------------------------------------------------------------------
- package br.com.kpsolutions.delivery.interfaces;
- import java.util.List;
- public interface ILoadResult<Model> {
- void started();
- void finished(List<Model> list);
- void error(String message);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement