From 773b9953ad645b39a9efa8ab6d71dfc9d9e4e22e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 24 十月 2024 11:51:57 +0800
Subject: [PATCH] 补全了所有日志

---
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java
new file mode 100644
index 0000000..5cc6fcd
--- /dev/null
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java
@@ -0,0 +1,63 @@
+package com.hdl.linkpm.sdk.core.response;
+
+
+import android.content.pm.ApplicationInfo;
+import android.provider.Settings;
+import android.widget.Toast;
+
+import com.hdl.hdlhttp.callback.HxException;
+import com.hdl.hdlhttp.response.GsonSubscribe;
+import com.hdl.hdlhttp.utils.ParameterizedTypeImpl;
+import com.hdl.linkpm.sdk.HDLLinkPMSdk;
+import com.hdl.linkpm.sdk.core.code.HDLCloudCode;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.utils.HDLGsonUtils;
+
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+
+/**
+ * Created by Tong on 2021/11/8.
+ */
+public abstract class HDLResponse<K> extends GsonSubscribe<BaseInfo<K>> {
+
+    public abstract void onResponse(K response);
+
+    public abstract void onFailure(HDLException e);
+
+    @Override
+    public void onNext(String s) {
+        try {
+            Type type = getClass().getGenericSuperclass();
+            if (type instanceof ParameterizedType) {
+                Type[] types = ((ParameterizedType) type).getActualTypeArguments();
+                Type parameterizedType = new ParameterizedTypeImpl(BaseInfo.class, types, BaseInfo.class);
+                BaseInfo<K> data = HDLGsonUtils.fromJson(s, parameterizedType);
+                onSuccess(data);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            this.onError(HxException.handleException(e));
+        }
+    }
+
+    @Override
+    public final void onSuccess(BaseInfo<K> response) {
+        if (response.getCode() == HDLCloudCode.SUCCEED) {
+            onResponse(response.getData());
+        } else {
+            HDLLinkPMSdk.showToast(response.getMessage());
+            onFailure(new HDLException(response.getCode(), response.getMessage(), response.getExtra()));
+        }
+    }
+
+    @Override
+    public final void onError(HxException e) {
+//        if(HDLLinkPMSdk.isDebugVersion()){
+//            HDLLinkPMSdk.showToast(e.getRawThrowable().getMessage());
+//        }
+        onFailure(new HDLException(e.getCode(), e.getRawThrowable().getMessage(), null));
+    }
+
+}

--
Gitblit v1.8.0