Advertisement
Guest User

Finest Gambeta

a guest
Jun 19th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.16 KB | None | 0 0
  1. //-------------------------------------------------------------------------
  2.         ClassificacaoSvc.load(getApplicationContext(),
  3.                 new ILoadResult<ClassificacaoModel>() {
  4.                     @Override
  5.                     public void started() {
  6.                         Log.d("KPDelivery", "load classificacao list started()");
  7.                     }
  8.  
  9.                     @Override
  10.                     public void finished(List<ClassificacaoModel> list) {
  11.  
  12.                         for (ClassificacaoModel item : list) {
  13.                             Log.d("KPDelivery", item.getId() + " - " + item.getDescricao());
  14.                         }
  15.  
  16.                         Log.d("KPDelivery", "load classificacao list finished()");
  17.  
  18.                     }
  19.  
  20.                     @Override
  21.                     public void error(String message) {
  22.                         Log.e("KPDelivery", message);
  23.                     }
  24.                 });
  25.  
  26. //-------------------------------------------------------------------------
  27. package br.com.kpsolutions.delivery.model;
  28.  
  29. import com.google.gson.annotations.Expose;
  30. import com.google.gson.annotations.SerializedName;
  31.  
  32. import java.io.Serializable;
  33.  
  34. public class ClassificacaoModel implements Serializable {
  35.  
  36.     @SerializedName("ID")
  37.     @Expose
  38.     private long id;
  39.  
  40.     @SerializedName("Descricao")
  41.     @Expose
  42.     private String descricao;
  43.  
  44.     public long getId() {
  45.         return id;
  46.     }
  47.  
  48.     public void setId(long id) {
  49.         this.id = id;
  50.     }
  51.  
  52.     public String getDescricao() {
  53.         return descricao;
  54.     }
  55.  
  56.     public void setDescricao(String descricao) {
  57.         this.descricao = descricao;
  58.     }
  59. }
  60.  
  61. //-------------------------------------------------------------------------
  62. package br.com.kpsolutions.delivery.services;
  63.  
  64. import android.content.Context;
  65. import android.content.SharedPreferences;
  66. import android.os.AsyncTask;
  67. import android.preference.PreferenceManager;
  68. import android.util.Log;
  69.  
  70. import com.google.gson.Gson;
  71. import com.google.gson.reflect.TypeToken;
  72.  
  73. import java.lang.reflect.Type;
  74. import java.util.ArrayList;
  75. import java.util.HashMap;
  76. import java.util.List;
  77.  
  78. import br.com.kpsolutions.delivery.Util;
  79. import br.com.kpsolutions.delivery.interfaces.ILoadResult;
  80. import br.com.kpsolutions.delivery.model.ClassificacaoModel;
  81. import okhttp3.OkHttpClient;
  82. import okhttp3.Request;
  83. import okhttp3.Response;
  84.  
  85. import static java.net.HttpURLConnection.HTTP_FORBIDDEN;
  86. import static java.net.HttpURLConnection.HTTP_INTERNAL_ERROR;
  87. import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
  88. import static java.net.HttpURLConnection.HTTP_OK;
  89.  
  90. public class ClassificacaoSvc {
  91.  
  92.     public static void load(final Context context, final ILoadResult<ClassificacaoModel> loadResult) {
  93.  
  94.         new AsyncTask<Void, Void, List<ClassificacaoModel>>() {
  95.             @Override
  96.             protected void onPreExecute() {
  97.                 super.onPreExecute();
  98.  
  99.                 loadResult.started();
  100.             }
  101.  
  102.             @Override
  103.             protected void onPostExecute(List<ClassificacaoModel> list) {
  104.                 super.onPostExecute(list);
  105.  
  106.                 if (list != null) {
  107.                     loadResult.finished(list);
  108.                 }
  109.             }
  110.  
  111.             @Override
  112.             protected void onProgressUpdate(Void... values) {
  113.                 super.onProgressUpdate(values);
  114.             }
  115.  
  116.             @Override
  117.             protected void onCancelled(List<ClassificacaoModel> list) {
  118.                 super.onCancelled(list);
  119.             }
  120.  
  121.             @Override
  122.             protected void onCancelled() {
  123.                 super.onCancelled();
  124.             }
  125.  
  126.             @Override
  127.             protected List<ClassificacaoModel> doInBackground(Void... voids) {
  128.  
  129.                 try {
  130.                     SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
  131.  
  132.                     String token = sharedPrefs.getString("tokenSent", "");
  133.                     String deliverymanID = sharedPrefs.getLong("deliverymanID", -1) + "";
  134.                     String checksum = Util.sha256(token, deliverymanID).trim();
  135.  
  136.                     OkHttpClient client = new OkHttpClient();
  137.  
  138.                     Request request = new Request.Builder()
  139.                             .url(Util.SERVER + "/Delivery/GetClassificacoes")
  140.                             .addHeader("DeliverymanID", deliverymanID)
  141.                             .addHeader("Checksum", checksum)
  142.                             .build();
  143.  
  144.                     Response response = client.newCall(request).execute();
  145.  
  146.                     String result = response.body().string();
  147.                     Gson gson = new Gson();
  148.  
  149.                     switch (response.code()) {
  150.                         case HTTP_OK:
  151.  
  152.                             Log.d("KPDelivery", result);
  153.  
  154.                             Type listType = new TypeToken<List<ClassificacaoModel>>() {}.getType();
  155.                             List<ClassificacaoModel> list = gson.fromJson(result, listType);
  156.  
  157.                             return list;
  158.  
  159.                         case HTTP_FORBIDDEN:
  160.                         case HTTP_INTERNAL_ERROR:
  161.                         case HTTP_NOT_FOUND:
  162.                             HashMap hashmap = gson.fromJson(result, HashMap.class);
  163.                             String message = (String) hashmap.get("Message");
  164.  
  165.                             loadResult.error(message);
  166.                             return null;
  167.  
  168.                         default:
  169.                             loadResult.error("Status: " + response.code() + ", Result: " + result);
  170.                             return null;
  171.                     }
  172.  
  173.                 } catch (Exception e) {
  174.                     loadResult.error(e.getMessage());
  175.                     return null;
  176.                 }
  177.             }
  178.         }.execute();
  179.     }
  180. }
  181.  
  182. //-------------------------------------------------------------------------
  183. package br.com.kpsolutions.delivery.interfaces;
  184.  
  185. import java.util.List;
  186.  
  187. public interface ILoadResult<Model> {
  188.     void started();
  189.  
  190.     void finished(List<Model> list);
  191.  
  192.     void error(String message);
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement