From 3b47201d878ba8ff973b84baf15942475688e964 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期五, 15 十二月 2023 16:04:28 +0800
Subject: [PATCH] 合并第一个版本
---
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java | 839 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 836 insertions(+), 3 deletions(-)
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java
index f8d8c8c..db9a046 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java
@@ -2,6 +2,7 @@
import android.content.Context;
import android.text.TextUtils;
+import android.widget.Toast;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -9,10 +10,14 @@
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
+import com.hdl.linkpm.sdk.core.exception.HDLLinkCopyException;
+import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils;
import com.hdl.sdk.link.bean.GatewayLocationBean;
+import com.hdl.sdk.link.bean.LinkGroupControlCreateBean;
import com.hdl.sdk.link.bean.LinkIrDeviceBean;
import com.hdl.sdk.link.bean.LinkOtaBean;
import com.hdl.sdk.link.bean.LinkSidNameBean;
+import com.hdl.sdk.link.bean.MMWAreaBean;
import com.hdl.sdk.link.common.config.TopicConstant;
import com.hdl.sdk.link.common.exception.HDLLinkCode;
import com.hdl.sdk.link.common.exception.HDLLinkException;
@@ -91,7 +96,7 @@
return instance;
}
- private Context context;
+ private static Context context;
public void init(Context context) {
@@ -118,6 +123,26 @@
return true;
else
return false;
+ }
+
+ public static void showToast(String msg){
+// runOnUiThread(new Runnable() {
+// @Override
+// public void run() {
+// try {
+// if (toast == null) {
+// toast = Toast.makeText(HDLGlobal.getInstance().getContext(), message, Toast.LENGTH_SHORT);
+// } else {
+// toast.setText(message);
+// }
+// toast.show();
+// } catch (Exception ignored) {
+//
+// }
+// }
+//
+// });
+ Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
/**
@@ -233,6 +258,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -277,6 +303,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -321,6 +348,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -365,6 +393,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -407,6 +436,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -417,6 +447,39 @@
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
}
}
+ }
+
+ public void controlDevice(Object object, String gatewayId, String ipAddress, String mac, boolean encrypt, HDLLinkTCallBack<String> callBack) {
+ if (null == callBack) {
+ return;
+ }
+
+ String time = String.valueOf(System.currentTimeMillis());
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("id", IdUtils.getUUId());
+ jsonObject.put("time_stamp", time);
+ List<Object> stringList = new ArrayList<>();
+ stringList.add(object);
+ jsonObject.put("objects", stringList);
+ String topic = String.format(TopicConstant.PROPERTY_DOWN, gatewayId);
+ LinkRequest request = new LinkRequest(topic, jsonObject.toString(), encrypt);
+ new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("controlDevice onSuccess");
+ callBack.onSuccess("");
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true, mac).send();
}
/**
@@ -448,6 +511,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -489,6 +553,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -528,6 +593,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -538,6 +604,36 @@
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
}
}
+ }
+
+ public void sidNameChange(List<LinkSidNameBean> bean, String gatewayId, String ipaddress, boolean isLocalEncrypt, HDLLinkTCallBack<String> callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<LinkSidNameBean>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(bean);
+ String topic = String.format(TopicConstant.EDIT_FUNCTION, gatewayId);
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), isLocalEncrypt);
+ new HDLConnectHelper(ipaddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("sidNameChange onSuccess");
+ callBack.onSuccess("");
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
}
/**
@@ -567,6 +663,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -577,6 +674,39 @@
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
}
}
+ }
+
+ /**
+ * sid缁戝畾鎴块棿
+ */
+ public void sidBindUid(List<LinkSidUidBean> bean, String gatewayId, String ipaddress, boolean isLocalEncrypt, HDLLinkTCallBack<String> callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<LinkSidUidBean>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(bean);
+ String topic = String.format(TopicConstant.SID_BIND_ROOM, gatewayId);
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), isLocalEncrypt);
+ new HDLConnectHelper(ipaddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("sidBindUid onSuccess");
+ callBack.onSuccess("Success");
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
}
/**
@@ -606,6 +736,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -645,6 +776,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -685,6 +817,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -725,6 +858,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -773,6 +907,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -813,6 +948,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -862,6 +998,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -913,6 +1050,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -953,6 +1091,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -993,6 +1132,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1033,6 +1173,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1076,6 +1217,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1120,6 +1262,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1164,6 +1307,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1208,6 +1352,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1262,6 +1407,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1315,6 +1461,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1368,6 +1515,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1409,6 +1557,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1450,6 +1599,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1491,6 +1641,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1543,6 +1694,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1595,6 +1747,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1636,6 +1789,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1697,6 +1851,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1741,6 +1896,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1754,6 +1910,230 @@
}
}
+
+ /**
+ * 鏈嶅姟璋冪敤
+ *
+ * @param topic 涓婚
+ * @param callBack 鍥炶皟
+ */
+ public void serviceDown(String topic, JSONArray jsonArray, String ipAddress, boolean encrypt, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(jsonArray);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
+ new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ }
+
+ /**
+ * 鏈嶅姟璋冪敤
+ *
+ * @param topic 涓婚
+ * @param callBack 鍥炶皟
+ */
+ public void serviceDown(String topic, JSONArray jsonArray, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(jsonArray);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+
+ /**
+ * 鏈嶅姟鐘舵�佽幏鍙�
+ *
+ * @param topic 涓婚
+ * @param callBack 鍥炶皟
+ */
+ public void serviceRead(String topic, JSONArray jsonArray, String ipAddress, boolean encrypt, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(jsonArray);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
+ new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ }
+
+ /**
+ * 鏈嶅姟鐘舵�佽幏鍙�
+ *
+ * @param topic 涓婚
+ * @param callBack 鍥炶皟
+ */
+ public void serviceRead(String topic, JSONArray jsonArray, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(jsonArray);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ /**
+ * 鑾峰彇姣背娉㈠尯鍩�
+ *
+ * @param sid 璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id
+ * @param callBack 鍥炶皟
+ */
+ public void getMillimeterArea(String sid, HDLLinkTCallBack<List<MMWAreaBean>> callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ List<PropertyReadRequest> list = new ArrayList<>();
+ list.add(new PropertyReadRequest(sid));
+ data.setObjects(list);
+
+ String topic = String.format(TopicConstant.MMW_AREA_GET, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ Type type = new TypeToken<BaseLocalResponse<List<MMWAreaBean>>>() {
+ }.getType();
+ List<MMWAreaBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
/**
* 璇诲彇鐘舵��
@@ -1787,12 +2167,20 @@
public void onSucceed(Object msg) {
if (msg instanceof LinkResponse) {
LogUtils.i("propertyRead onSuccess");
- callBack.onSuccess(msg.toString());
+ Type type = new TypeToken<BaseLocalResponse<String>>() {
+ }.getType();
+ String list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
}
}
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1804,6 +2192,58 @@
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
}
}
+ }
+
+ /**
+ * 璇诲彇鐘舵��
+ *
+ * @param sids 璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id鍒楄〃
+ * @param callBack 鍥炶皟
+ */
+ public void propertyRead(List<String> sids, String gatewayId, String ipAddress, String mac, boolean encrypt, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ List<PropertyReadRequest> list = new ArrayList<>();
+ for (String s : sids) {
+ list.add(new PropertyReadRequest(s));
+ }
+ data.setObjects(list);
+
+ String topic = String.format(TopicConstant.PROPERTY_READ, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
+ new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("propertyRead onSuccess");
+ Type type = new TypeToken<BaseLocalResponse<String>>() {
+ }.getType();
+ String list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true, mac).send();
}
/**
@@ -1845,6 +2285,105 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ public void getSceneListaa(HDLLinkTCallBack<List<LinkSceneBean>> callBack) {
+ if (null == callBack) {
+ return;
+ }
+
+ if (!TextUtils.isEmpty("18FE8588AC73E526")) {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+
+ String topic = String.format(TopicConstant.SCENE_LIST_GET, "18FE8588AC73E526");
+
+ LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper("192.168.1.100", request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneList onSuccess");
+ if (callBack != null) {
+ Type type = new TypeToken<BaseLocalResponse<List<LinkSceneBean>>>() {
+ }.getType();
+ List<LinkSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
+
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ public void getSceneListAiks(GatewayBean bean, HDLLinkTCallBack<List<LinkSceneBean>> callBack) {
+ if (null == callBack) {
+ return;
+ }
+
+ if (!TextUtils.isEmpty(bean.getDevice_mac())) {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+
+ String topic = String.format(TopicConstant.SCENE_LIST_GET, bean.getDevice_mac());
+
+ LinkRequest request = new LinkRequest(topic, jsonObject.toString(), false);
+ new HDLConnectHelper(bean.getIp_address(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneList onSuccess");
+ if (callBack != null) {
+ Type type = new TypeToken<BaseLocalResponse<List<LinkSceneBean>>>() {
+ }.getType();
+ List<LinkSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
+
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1896,6 +2435,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1944,6 +2484,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -1956,6 +2497,244 @@
}
}
}
+
+ /**
+ * 鍦烘櫙鎺у埗
+ *
+ * @param sids 鍦烘櫙sid鍒楄〃
+ * @param callBack 鍥炶皟
+ */
+ public void controlAiksScene(GatewayBean bean, List<String> sids, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String device_mac = bean.getDevice_mac();
+ if (!TextUtils.isEmpty(device_mac)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ List<PropertyReadRequest> list = new ArrayList<>();
+ for (String s : sids) {
+ list.add(new PropertyReadRequest(s));
+ }
+ data.setObjects(list);
+ String topic = String.format(TopicConstant.SCENE_CONTROL, device_mac);
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), false);
+ new HDLConnectHelper(bean.getIp_address(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("controlScene onSuccess");
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ /**
+ * 缇ゆ帶澧炲垹
+ */
+ public void groupControlEdit(List<LinkGroupControlCreateBean> list, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<LinkGroupControlCreateBean>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(list);
+ String topic = String.format(TopicConstant.GROUPCONTROL_EDIT, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneDetail onSuccess");
+ if (callBack != null) {
+ callBack.onSuccess(msg.toString());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ /**
+ * 缇ゆ帶鎺у埗
+ */
+ public void groupControlControl(JSONObject object, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ List<JSONObject> objectList = new ArrayList<>();
+ objectList.add(object);
+ data.setObjects(objectList);
+ String topic = String.format(TopicConstant.GROUPCONTROL_CONTROL, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneDetail onSuccess");
+ if (callBack != null) {
+ callBack.onSuccess(msg.toString());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ /**
+ * 缇ゆ帶鍒犻櫎
+ */
+ public void groupControlDelete(JSONObject object, HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ List<JSONObject> objectList = new ArrayList<>();
+ objectList.add(object);
+ data.setObjects(objectList);
+ String topic = String.format(TopicConstant.GROUPCONTROL_DELETE, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneDetail onSuccess");
+ if (callBack != null) {
+ callBack.onSuccess(msg.toString());
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ HDLLinkLocalSdk.showToast(hdlLinkCode.getMsg());
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
+ /**
+ * 缇ゆ帶鍒楄〃鑾峰彇
+ */
+ public void getGroupControlList(List<JSONObject> list, HDLLinkTCallBack<List<LinkGroupControlCreateBean>> callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+ data.setObjects(list);
+ String topic = String.format(TopicConstant.GROUPCONTROL_LIST_GET, gatewayId);
+
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ LogUtils.i("getSceneDetail onSuccess");
+ if (callBack != null) {
+ Type type = new TypeToken<BaseLocalResponse<List<LinkGroupControlCreateBean>>>() {
+ }.getType();
+ List<LinkGroupControlCreateBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
+ if (list == null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
+ } else {
+ callBack.onSuccess(list);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
/**
* 閫氱敤UDP鍙戦�佹寚浠�
@@ -2042,6 +2821,9 @@
HDLLinkLocalGateway.getInstance().refreshGateway(callBack);
}
+ public void refreshGateway(GatewayCallBack callBack,List<String> spks) {
+ HDLLinkLocalGateway.getInstance().refreshGateway(callBack,spks);
+ }
/**
* 鑾峰彇褰撳墠浣忓畢缂撳瓨鐨勬墍鏈夌綉鍏筹紝涓�鑸槸璋冭瘯杞欢浣跨敤锛屼笁鏂逛笉鐢ㄨ皟璇曟鏂规硶
* 濡傛灉涔嬪墠杩樻病鏈夎鍙栬繃缃戝叧锛屽厛璋冪敤鏂规硶refreshGatewayByHome璇诲彇涓�娆�
@@ -2090,6 +2872,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -2133,6 +2916,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -2145,6 +2929,51 @@
}
}
}
+
+ /**
+ * 鍏ㄩ噺鏇存柊鎴块棿鍒楄〃
+ *
+ * @param callBack
+ */
+ public void getGatewaylist(HDLLinkCallBack callBack) {
+ if (null == callBack) {
+ return;
+ }
+ String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
+ if (!TextUtils.isEmpty(gatewayId)) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<JSONObject> senData = new BaseLocalResponse<>();
+ senData.setId(IdUtils.getUUId());
+ senData.setTime_stamp(time);
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("device_mac", "0C811A93EA13F1F5");
+ senData.setObjects(jsonObject);
+ String topic = String.format(TopicConstant.GATEWAY_INFO, gatewayId);
+ LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(senData), HDLLinkConfig.getInstance().isLocalEncrypt());
+ new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (msg instanceof LinkResponse) {
+ callBack.onSuccess(msg.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
+
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
+ }
+ }
+ }, true).send();
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
+ }
+ }
+ }
+
/**
* 鑾峰彇鎴块棿缁戝畾鍏崇郴
@@ -2185,6 +3014,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
@@ -2230,6 +3060,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -2272,6 +3103,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
@@ -2287,7 +3119,7 @@
/**
* 鍒氬垰缁戝畾缃戝叧鐨勬椂鍊欒缃綉鍏崇粡绾害 涓嶉渶瑕佸姞瀵�
*/
- public void gatewayLocation(String mGatewayId, String longitude, String lat, boolean isEncrypt,HDLLinkTCallBack<String> callBack) {
+ public void gatewayLocation(String mGatewayId, String longitude, String lat, boolean isEncrypt, HDLLinkTCallBack<String> callBack) {
if (null == callBack) {
return;
}
@@ -2314,6 +3146,7 @@
@Override
public void onFailure(HDLLinkCode hdlLinkCode) {
+ HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
if (callBack != null) {
callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
}
--
Gitblit v1.8.0