UpdateService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.emato.ich.update;
  2. import androidx.annotation.NonNull;
  3. import com.emato.ich.api.ICSPClient;
  4. import com.emato.ich.utils.BaseUtils;
  5. import com.xuexiang.xupdate.XUpdate;
  6. import com.xuexiang.xupdate.proxy.IUpdateHttpService;
  7. import com.zhy.http.okhttp.OkHttpUtils;
  8. import com.zhy.http.okhttp.callback.FileCallBack;
  9. import com.zhy.http.okhttp.callback.StringCallback;
  10. import org.jetbrains.annotations.NotNull;
  11. import java.io.File;
  12. import java.io.IOException;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. import java.util.Objects;
  16. import okhttp3.Call;
  17. import okhttp3.Callback;
  18. import okhttp3.Request;
  19. import okhttp3.Response;
  20. public class UpdateService implements IUpdateHttpService {
  21. @Override
  22. public void asyncGet(@NonNull @NotNull String url, @NonNull @NotNull Map<String, Object> params, @NonNull @NotNull Callback callBack) {
  23. OkHttpUtils.get()
  24. .url(url)
  25. .addParams("clientId", BaseUtils.getClientId())
  26. .build()
  27. .execute(new StringCallback() {
  28. @Override
  29. public void onError(Call call, Exception e, int id) {
  30. callBack.onError(e);
  31. }
  32. @Override
  33. public void onResponse(String response, int id) {
  34. callBack.onSuccess(response);
  35. }
  36. });
  37. }
  38. private Map<String, String> transform(Map<String, Object> params) {
  39. Map<String, String> map = new HashMap<>();
  40. params.keySet().forEach(key -> {
  41. map.put(key, String.valueOf(params.get(key)));
  42. });
  43. map.put("clientId", BaseUtils.getClientId());
  44. return map;
  45. }
  46. @Override
  47. public void asyncPost(@NonNull @NotNull String url, @NonNull @NotNull Map<String, Object> params, @NonNull @NotNull Callback callBack) {
  48. OkHttpUtils.post()
  49. // .params(transform(params))
  50. .url(url)
  51. .addParams("clientId", BaseUtils.getClientId())
  52. // .addParams("clientId", "285F18D92D0B6568")
  53. .build()
  54. .execute(new StringCallback() {
  55. @Override
  56. public void onError(Call call, Exception e, int id) {
  57. callBack.onError(e);
  58. }
  59. @Override
  60. public void onResponse(String response, int id) {
  61. //response = "{\"Code\":0,\"Msg\":\"\",\"UpdateStatus\":2,\"VersionCode\":3,\"VersionName\":\"1.0.2\",\"ModifyContent\":\"1、优化api接口。\\r\\n2、添加使用demo演示。\\r\\n3、新增自定义更新服务API接口。\\r\\n4、优化更新提示界面。\",\"DownloadUrl\":\"http://icsp-api.ds-bay.com/profile/app-release.apk\",\"ApkSize\":10759906,\"ApkMd5\":\"3452dfgdg\"}";
  62. callBack.onSuccess(response);
  63. }
  64. });
  65. }
  66. @Override
  67. public void download(@NonNull @NotNull String url, @NonNull @NotNull String path, @NonNull @NotNull String fileName, @NonNull @NotNull DownloadCallback callback) {
  68. OkHttpUtils.get()
  69. .url(url)
  70. .tag(url)
  71. .build()
  72. .execute(new FileCallBack(path, fileName) {
  73. @Override
  74. public void inProgress(float progress, long total, int id) {
  75. callback.onProgress(progress, total);
  76. }
  77. @Override
  78. public void onBefore(Request request, int id) {
  79. callback.onStart();
  80. }
  81. @Override
  82. public void onError(Call call, Exception e, int id) {
  83. callback.onError(e);
  84. }
  85. @Override
  86. public void onResponse(File response, int id) {
  87. callback.onSuccess(response);
  88. }
  89. });
  90. }
  91. @Override
  92. public void cancelDownload(@NonNull @NotNull String url) {
  93. }
  94. }