From 2574334327d47d5b0d62e1e9fe442a493bbcf2bd Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期二, 11 四月 2023 15:52:54 +0800 Subject: [PATCH] 新增接收主机退网delete/notify主题处理 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java index e5eebc8..a227a2a 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java @@ -17,6 +17,7 @@ import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.bean.LinkResponse; import com.hdl.sdk.connect.bean.request.AuthenticateRequest; +import com.hdl.sdk.connect.bean.response.DeviceDeleteResponse; import com.hdl.sdk.connect.bean.response.DeviceInfoResponse; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.config.HDLLinkConfig; @@ -194,7 +195,11 @@ response.setData(bodyString); LogUtils.i("鎺ユ敹鍒版暟鎹�:" + response.getTopic() + "\r\n" + response.getData()); - String receivetopic = String.format(TopicConstant.LINK_BROADCAST, HDLLinkConfig.getInstance().getGatewayId()); + String updateLocalSecret = String.format(TopicConstant.LINK_BROADCAST, HDLLinkConfig.getInstance().getGatewayId()); + String deleteNetwork = ""; + if (HDLLinkConfig.getInstance().getDeviceInfoBean() != null) { + deleteNetwork = String.format(TopicConstant.DELETE_NOTIFY, HDLLinkConfig.getInstance().getDeviceInfoBean().getOID()); + } if (response.getTopic().equals("/user/all/custom/gateway/search")) { HDLAuthSocket.getInstance().UploadGatewayInfo(new HDLLinkCallBack() { @@ -208,7 +213,7 @@ LogUtils.i("UploadGatewayInfo onError"); } }); - } else if (response.getTopic().equals(receivetopic)) { + } else if (response.getTopic().equals(updateLocalSecret)) { try { DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceInfoResponse>() { }.getType()); @@ -220,13 +225,30 @@ mackey = SPUtils.getString("auth_mackey_key", ""); byte[] bodyBytes = AesUtil.aesDecrypt(baseBytes, mackey.substring(mackey.length() - 16)); String localSecret = new String(bodyBytes, "utf-8"); - Log.d("panlili", "LinkMessageDecoder.java:----->localSecret= " + localSecret); HDLLinkConfig.getInstance().setLocalSecret(localSecret); } } } catch (Exception e) { LogUtils.i("LinkMessageDecoder.java:getLocalSecret----->e= " + e.getMessage()); } + } else if (response.getTopic().equals(deleteNetwork)) { + try { + DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceDeleteResponse>() { + }.getType()); + HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + LogUtils.i("deleteNetwork onSucceed"); + } + + @Override + public void onError(HDLLinkException e) { + LogUtils.i("deleteNetwork onError"); + } + }); + } catch (Exception e) { + LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage()); + } } //闈炴甯告暟鎹紝杩斿洖 -- Gitblit v1.8.0