From 4a42989853dd83c0519d0684383430006b7e9625 Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期二, 26 八月 2025 17:59:50 +0800
Subject: [PATCH] 获取设备列表序列化
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkTCallBack.java | 10 +
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 93 ++++++++++
HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java | 10
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/LinkResponseUtils.java | 44 ++++
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/AttributesInfo.java | 73 ++++++++
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java | 2
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/StatusInfo.java | 39 ++++
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkFunctionInfo.java | 146 ++++++++++++++++
HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 71 +++----
9 files changed, 441 insertions(+), 47 deletions(-)
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java
index 9fe4abf..7a9cbee 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java
@@ -19,18 +19,18 @@
public void onCreate() {
super.onCreate();
//鍒濆鍖朣DK锛屽鏋滀笉璧颁粠鏈哄叆缃戯紝璧癮pp闇�瑕佽缃鍙d负8584
- HDLSdk.getInstance().init(this, 8584);
+// HDLSdk.getInstance().init(this, 8584);
//濡傛灉璧颁粠鏈哄叆缃戯紝涓嶉渶瑕佽缃鍙�
- //HDLSdk.getInstance().init(this);
+ HDLSdk.getInstance().init(this);
//鎺у埗SDK鏃ュ織鎵撳嵃
HDLSdk.getInstance().setLogEnabled(true);
//source绯荤粺鎺ュ彛鍒濆鍖�
OsManager.init(this);
- //appkey:ryfElI3tVOT
- //appsecret:AKIn7s1A2YnNvAZRtL8FQxzp0R2KUpIY
- HDLLink.getInstance().initCloud(this, "Lstzip08fTl", "iSIr5TSz1Rzxc1QRQ3RgnGwGB2SeAAAA", HdlCloudApi.BASE_CHINA_URL);
+ //appkey:ryfElI3tVOT Lstzip08fTl
+ //appsecret:AKIn7s1A2YnNvAZRtL8FQxzp0R2KUpIY iSIr5TSz1Rzxc1QRQ3RgnGwGB2SeAAAA
+ HDLLink.getInstance().initCloud(this, "FcRyUJlLJFF", "wz8wn75ABidx8vXcFGUotqhwFkTaYvvJ", HdlCloudApi.BASE_TEST_URL);
//娉ㄥ唽鍏ㄥ眬骞挎挱,鍒锋柊token
GlobalBroadcastManager.registerGlobalBroadcast(this);
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index e76c21e..982ef41 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -38,6 +38,7 @@
import com.hdl.sdk.common.utils.SPUtils;
import com.hdl.sdk.common.utils.gson.GsonConvert;
import com.hdl.sdk.connect.HDLLink;
+import com.hdl.sdk.connect.bean.LinkFunctionInfo;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.request.AttributesRequest;
import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
@@ -50,6 +51,7 @@
import com.hdl.sdk.connect.bean.response.UpdateInfo;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
+import com.hdl.sdk.connect.callback.HDLLinkTCallBack;
import com.hdl.sdk.connect.cloud.CallBackListener;
import com.hdl.sdk.connect.cloud.CheckAppVersionListener;
import com.hdl.sdk.connect.cloud.HDLException;
@@ -81,8 +83,8 @@
private EventListener allTopicsListener;
private String testLightSid = "020101A19B485D02020100010101";
private String secret = "";
- private List<FunctionBean> devicesList = new ArrayList<>();
- private List<FunctionBean> roomDevicesList = new ArrayList<>();
+ private List<LinkFunctionInfo> devicesList = new ArrayList<>();
+ private List<LinkFunctionInfo> roomDevicesList = new ArrayList<>();
private List<SceneBean> sceneList = new ArrayList<>();
private List<SceneDetailBean> sceneDetailList = new ArrayList<>();
private List<SceneDetailBean> roomSceneList = new ArrayList<>();
@@ -92,8 +94,8 @@
tv.setText("寮�濮嬬敵璇疯澶囧瘑閽�...");
responseTv.setText("");
- String supplier = "HIK KNX";//鍘傚晢
- String mac = "FQ4895630";//璁惧鍞竴MAC鍦板潃
+ String supplier = "JINMAOYUN";//鍘傚晢
+ String mac = "f2c5d8bad48f";//璁惧鍞竴MAC鍦板潃
// String mac = editText.getText().toString();
String spk = "screen.touch";//浜у搧spk
@@ -228,7 +230,7 @@
selectnetwork();
checkIfCertified();
- //initDeviceInfo();//涓嶈蛋浠庢満鍏ョ綉鐨勬柟寮忎笉闇�瑕佸垵濮嬪寲
+ initDeviceInfo();//涓嶈蛋浠庢満鍏ョ綉鐨勬柟寮忎笉闇�瑕佸垵濮嬪寲锛岃蛋浠庢満鍏ョ綉鍒欓渶瑕佸垵濮嬪寲
registerAllTopicsListener();
HDLLink.getInstance().setDeleteNetworkListener(new DeleteNetworkListener() {
@Override
@@ -411,11 +413,12 @@
LinkResponse response = (LinkResponse) msg;
Log.i("onMessage", "response.getTopic():" + response.getTopic());
String topic = String.format(TopicConstant.GATEWAY_LOGIN,
- HDLLinkConfig.getInstance().getGatewayId())+ "_reply";;
+ HDLLinkConfig.getInstance().getGatewayId()) + "_reply";
+ ;
if ("/user/all/custom/gateway/broadcast_reply".equals(response.getTopic())) {
localSecret.setText("瀵嗛挜锛�" + HDLLinkConfig.getInstance().getLocalSecret());
- }else if (topic.equals(response.getTopic())){
+ } else if (topic.equals(response.getTopic())) {
//tcp杩炴帴鎴愬姛锛屽鐞嗕笟鍔¢�昏緫
}
}
@@ -473,8 +476,8 @@
infoBean.setDeviceName("榄旈暅");//璁惧鍚嶅瓧
infoBean.setDeviceModel("HDLSDK");//璁惧鍨嬪彿
infoBean.setAccessMode("WIFI");
- infoBean.setIPGateway("192.168.31.1");
- infoBean.setIPAddress("192.168.31.103");
+ infoBean.setIPGateway("192.168.1.1");
+ infoBean.setIPAddress("192.168.1.103");
infoBean.setGateway_type("screen.touch");
infoBean.setHw_version("HW2.0");
infoBean.setFw_version("Fw1.0");
@@ -507,7 +510,7 @@
//璁よ瘉鎻愪氦鍙傛暟鍑嗗
//姝e紡鏈嶅姟鍣�
- String spkStr = "screen.mirror";//浜у搧spk
+ String spkStr = "screen.touch";//浜у搧spk
String macStr = "f2c5d8bad48f";//璁惧鍞竴MAC鍦板潃
String mac_key = stringToMD5(stringToMD5(macStr + secret));
@@ -596,37 +599,23 @@
void getFunctionList() {
tv.setText("鑾峰彇璁惧鍒楄〃涓�...");
responseTv.setText("");
- HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() {
+ HDLLink.getInstance().getFunctionInfoList(new HDLLinkTCallBack<List<LinkFunctionInfo>>() {
+ @Override
+ public void onSuccess(List<LinkFunctionInfo> data) {
+ if (data != null && data.size() != 0) {
+ devicesList.clear();
+ devicesList.addAll(data);
+
+ tv.setText("鑾峰彇璁惧鍒楄〃鎴愬姛");
+ responseTv.setText(data.toString());
+ }
+ }
+
@Override
public void onError(HDLLinkException error) {
tv.setText(error.getMsg());
}
-
- @Override
- public void onSuccess(String data) {
- tv.setText("鑾峰彇璁惧鍒楄〃鎴愬姛");
- responseTv.setText(data);
-
- handelFunctionList(data);
- }
});
- }
-
- void handelFunctionList(String data) {
- try {
- final LinkResponse linkResponse = GsonConvert.getGson().fromJson(data, new TypeToken<LinkResponse>() {
- }.getType());
-
- final BaseLocalResponse<List<FunctionBean>> bean = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<FunctionBean>>>() {
- }.getType());
- devicesList.clear();
- devicesList.addAll(bean.getObjects());
-
- Log.d(TAG, "handelFunList-----> " + devicesList.toString());
- } catch (Exception e) {
- Log.e(TAG, "handelFunList: " + e.getMessage());
- }
-
}
/**
@@ -643,10 +632,12 @@
sids.add(testLightSid);
}
- HDLLink.getInstance().getFunctionAttribute(sids, new HDLLinkCallBack() {
+ HDLLink.getInstance().getFunctionAttributeInfo(sids, new HDLLinkTCallBack<List<LinkFunctionInfo>>() {
@Override
- public void onSuccess(String msg) {
- responseTv.setText(msg);
+ public void onSuccess(List<LinkFunctionInfo> data) {
+ if (data != null && data.size() != 0) {
+ responseTv.setText(data.toString());
+ }
}
@Override
@@ -707,7 +698,7 @@
request.setStatus(statusBeanList);
requestList.add(request);
- HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() {
+ HDLLink.getInstance().propertyDownDevice(requestList, new HDLLinkTCallBack<String>() {
@Override
public void onSuccess(String data) {
responseTv.setText(data);
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java
index e650391..89eedec 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java
@@ -45,7 +45,7 @@
}
String mac_Oid_GatewayId = topics[2];
- Log.d("panlili", "AllTopicManagerUtils.java:manager----->topic= " + topic);
+ //Log.d("panlili", "AllTopicManagerUtils.java:manager----->topic= " + topic);
if (!isLocalDevice(mac_Oid_GatewayId)) {
LogUtils.i("涓嶆槸褰撳墠璁惧鐨勭綉鍏矷d锛孖d鏄�" + mac_Oid_GatewayId);
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
index 2dd79d1..78b7d0f 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -2,20 +2,26 @@
import android.content.Context;
+import com.google.gson.reflect.TypeToken;
import com.hdl.hdlhttp.HxHttpConfig;
import com.hdl.sdk.common.event.DeleteNetworkListener;
import com.hdl.sdk.common.event.EventDispatcher;
import com.hdl.sdk.common.event.EventListener;
+import com.hdl.sdk.common.exception.HDLLinkException;
import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.common.utils.gson.GsonConvert;
+import com.hdl.sdk.connect.bean.LinkFunctionInfo;
+import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.bean.request.ListSidRequest;
import com.hdl.sdk.connect.bean.request.ListUploadRequest;
+import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
+import com.hdl.sdk.connect.callback.HDLLinkTCallBack;
import com.hdl.sdk.connect.cloud.CallBackListener;
import com.hdl.sdk.connect.cloud.CheckAppVersionListener;
-import com.hdl.sdk.connect.cloud.HdlCloudApi;
import com.hdl.sdk.connect.cloud.HdlCloudController;
import com.hdl.sdk.connect.cloud.listener.GatewayListener;
import com.hdl.sdk.connect.cloud.listener.SibichiListener;
@@ -265,6 +271,33 @@
}
/**
+ * 鑾峰彇璁惧鍒楄〃
+ */
+ public void getFunctionInfoList(HDLLinkTCallBack<List<LinkFunctionInfo>> callBack) {
+ getFunctionList(new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
+ }.getType());
+
+ final BaseLocalResponse<List<LinkFunctionInfo>> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<LinkFunctionInfo>>>() {
+ }.getType());
+ if (callBack != null) {
+ callBack.onSuccess(listBaseLocalResponse.getObjects());
+ }
+
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ if (callBack != null) {
+ callBack.onError(e);
+ }
+ }
+ });
+ }
+
+ /**
* 鑾峰彇璁惧鍔熻兘灞炴��
*
* @param sids
@@ -275,6 +308,35 @@
}
/**
+ * 鑾峰彇璁惧鍔熻兘灞炴��
+ *
+ * @param sids
+ * @param callBack
+ */
+ public void getFunctionAttributeInfo(List<String> sids, HDLLinkTCallBack<List<LinkFunctionInfo>> callBack) {
+ getFunctionAttribute(sids, new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
+ }.getType());
+
+ final BaseLocalResponse<List<LinkFunctionInfo>> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<LinkFunctionInfo>>>() {
+ }.getType());
+ if (callBack != null) {
+ callBack.onSuccess(listBaseLocalResponse.getObjects());
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ if (callBack != null) {
+ callBack.onError(e);
+ }
+ }
+ });
+ }
+
+ /**
* 璁惧鎺у埗
*
* @param request 鎺у埗鐘舵�佸弬鏁�
@@ -285,6 +347,35 @@
}
/**
+ * 璁惧鎺у埗
+ *
+ * @param request 鎺у埗鐘舵�佸弬鏁�
+ * @param callBack 缁撴灉鍥炶皟
+ */
+ public void propertyDownDevice(List<DeviceControlRequest> request, HDLLinkTCallBack<String> callBack) {
+ propertyDown(request, new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
+ }.getType());
+
+ final BaseLocalResponse<String> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<String>>() {
+ }.getType());
+ if (callBack != null) {
+ callBack.onSuccess(listBaseLocalResponse.getObjects());
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ if (callBack != null) {
+ callBack.onError(e);
+ }
+ }
+ });
+ }
+
+ /**
* 璇诲彇鐘舵��
*
* @param sids 璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id鍒楄〃
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/AttributesInfo.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/AttributesInfo.java
new file mode 100644
index 0000000..4c20b0b
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/AttributesInfo.java
@@ -0,0 +1,73 @@
+package com.hdl.sdk.connect.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AttributesInfo implements Serializable {
+
+ private String key;
+ private String data_type;
+ private List<String> value = new ArrayList<>();
+ private String max;
+ private String min;
+
+
+ public List<String> getValue() {
+ if (value == null) {
+ return new ArrayList<>();
+ }
+ return value;
+ }
+
+ public void setValue(@NonNull List<String> value) {
+ this.value = value;
+ }
+
+ public String getMax() {
+ return max == null ? "" : max;
+ }
+
+ public void setMax(String max) {
+ this.max = max;
+ }
+
+ public String getMin() {
+ return min == null ? "" : min;
+ }
+
+ public void setMin(String min) {
+ this.min = min;
+ }
+
+ @NonNull
+ public String getKey() {
+ return key == null ? "" : key;
+ }
+
+ public void setKey(@NonNull String key) {
+ this.key = key;
+ }
+
+ @NonNull
+ public String getData_type() {
+ return data_type == null ? "" : data_type;
+ }
+
+ public void setData_type(@NonNull String data_type) {
+ this.data_type = data_type;
+ }
+
+ @Override
+ public String toString() {
+ return "AttributesInfo{" +
+ "key='" + key + '\'' +
+ ", data_type='" + data_type + '\'' +
+ ", value=" + value +
+ ", max='" + max + '\'' +
+ ", min='" + min + '\'' +
+ '}';
+ }
+}
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkFunctionInfo.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkFunctionInfo.java
new file mode 100644
index 0000000..13555a2
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkFunctionInfo.java
@@ -0,0 +1,146 @@
+package com.hdl.sdk.connect.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class LinkFunctionInfo implements Serializable {
+ private String sid;//鍔熻兘鐨剆id
+ private String oid;//妯″潡鐨刼id
+ private String name;//鍔熻兘鍥炶矾鍚嶅瓧
+ private String spk;//spk
+ private String omodel;
+ private String src;
+ private String online;
+ private List<AttributesInfo> attributes = new ArrayList<>();//鍔熻兘灞炴�э紝闇�瑕佸崟鐙彂閫佸姛鑳藉睘鎬ц鍙栫殑鎸囦护璇诲洖鏉�
+ private List<StatusInfo> status = new ArrayList<>();//褰撳墠璁惧鐘舵�佸�硷紝璁惧鎺у埗鐨勬椂鍊欐墠鐢ㄥ埌
+
+ private boolean templateFlag = false;//妯℃澘鏍囪
+
+ /**
+ * 1:灞曠ず 2:涓嶅睍绀�
+ */
+ private String show;
+
+ public String getShow() {
+ return show == null ? "1" : show;
+ }
+
+ public void setShow(@NonNull String show) {
+ this.show = show;
+ }
+
+
+ public boolean isTemplateFlag() {
+ return templateFlag;
+ }
+
+ public void setTemplateFlag(boolean templateFlag) {
+ this.templateFlag = templateFlag;
+ }
+
+
+ @NonNull
+ public String getSid() {
+ return sid == null ? "" : sid;
+ }
+
+ public void setSid(@NonNull String sid) {
+ this.sid = sid;
+ }
+
+ @NonNull
+ public String getOid() {
+ return oid == null ? "" : oid;
+ }
+
+ public void setOid(@NonNull String oid) {
+ this.oid = oid;
+ }
+
+ @NonNull
+ public String getName() {
+ return name == null ? "" : name;
+ }
+
+ public void setName(@NonNull String name) {
+ this.name = name;
+ }
+
+ @NonNull
+ public String getSpk() {
+ return spk == null ? "" : spk;
+ }
+
+ public void setSpk(@NonNull String spk) {
+ this.spk = spk;
+ }
+
+ @NonNull
+ public String getOmodel() {
+ return omodel == null ? "" : omodel;
+ }
+
+ public void setOmodel(@NonNull String omodel) {
+ this.omodel = omodel;
+ }
+
+ @NonNull
+ public String getSrc() {
+ return src == null ? "" : src;
+ }
+
+ public void setSrc(@NonNull String src) {
+ this.src = src;
+ }
+
+ @NonNull
+ public String getOnline() {
+ return online == null ? "" : online;
+ }
+
+ public void setOnline(@NonNull String online) {
+ this.online = online;
+ }
+
+ public List<AttributesInfo> getAttributes() {
+ if (attributes == null) {
+ return new ArrayList<>();
+ }
+ return attributes;
+ }
+
+ public void setAttributes(List<AttributesInfo> attributes) {
+ this.attributes = attributes;
+ }
+
+ public List<StatusInfo> getStatus() {
+ if (status == null) {
+ return new ArrayList<>();
+ }
+ return status;
+ }
+
+ public void setStatus(List<StatusInfo> status) {
+ this.status = status;
+ }
+
+ @Override
+ public String toString() {
+ return "LinkFunctionInfo{" +
+ "sid='" + sid + '\'' +
+ ", oid='" + oid + '\'' +
+ ", name='" + name + '\'' +
+ ", spk='" + spk + '\'' +
+ ", omodel='" + omodel + '\'' +
+ ", src='" + src + '\'' +
+ ", online='" + online + '\'' +
+ ", attributes=" + attributes +
+ ", status=" + status +
+ ", templateFlag=" + templateFlag +
+ ", show='" + show + '\'' +
+ '}';
+ }
+}
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/StatusInfo.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/StatusInfo.java
new file mode 100644
index 0000000..1898576
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/StatusInfo.java
@@ -0,0 +1,39 @@
+
+package com.hdl.sdk.connect.bean;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+
+
+public class StatusInfo implements Serializable {
+
+ private String key;
+ private String value;
+
+ @NonNull
+ public String getKey() {
+ return key == null ? "" : key;
+ }
+
+ public void setKey(@NonNull String key) {
+ this.key = key;
+ }
+
+ @NonNull
+ public String getValue() {
+ return value == null ? "" : value;
+ }
+
+ public void setValue(@NonNull String value) {
+ this.value = value;
+ }
+
+ @Override
+ public String toString() {
+ return "StatusInfo{" +
+ "key='" + key + '\'' +
+ ", value='" + value + '\'' +
+ '}';
+ }
+}
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkTCallBack.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkTCallBack.java
new file mode 100644
index 0000000..d8a772d
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkTCallBack.java
@@ -0,0 +1,10 @@
+package com.hdl.sdk.connect.callback;
+
+/**
+ * 鏈湴閫氫俊閫氱敤CallBack
+ */
+public interface HDLLinkTCallBack<T> extends BaseCallBack{
+
+ void onSuccess(T data);
+
+}
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/LinkResponseUtils.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/LinkResponseUtils.java
new file mode 100644
index 0000000..5a3c1ee
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/LinkResponseUtils.java
@@ -0,0 +1,44 @@
+package com.hdl.sdk.connect.utils;
+
+import android.text.TextUtils;
+
+import com.google.gson.reflect.TypeToken;
+import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.common.utils.gson.GsonConvert;
+import com.hdl.sdk.connect.bean.LinkResponse;
+import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
+
+import java.lang.reflect.Type;
+
+public class LinkResponseUtils<T> {
+
+ public Type getType() {
+ return new TypeToken<BaseLocalResponse<T>>() {
+ }.getType();
+ }
+
+ /**
+ * 杞崲鎻愬彇LinkResponse閲岄潰鐨刼bjects
+ *
+ * @param msg
+ * @return
+ */
+ public static <T> T convertLinkResponse(Object msg, Type type) {
+ T bean = null;
+ if (msg != null && msg instanceof LinkResponse) {
+ LinkResponse linkResponse = (LinkResponse) msg;
+ String data = linkResponse.getData();
+ if (!TextUtils.isEmpty(data)) {
+ try {
+ final BaseLocalResponse<T> response = GsonConvert.getGson().fromJson(data, type);
+ if (response != null) {
+ bean = response.getObjects();
+ }
+ } catch (Exception e) {
+ LogUtils.e("convertLinkResponse catch:" + e.getMessage());
+ }
+ }
+ }
+ return bean;
+ }
+}
--
Gitblit v1.8.0