From 6521c8e329665cc97f0714a9a094d2d823e23980 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期二, 19 九月 2023 13:52:41 +0800
Subject: [PATCH] 修复退网清除缓存异常

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java      |   17 +++++---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java |   21 ++++++++--
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java          |   21 ++++++----
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java                           |   18 +++++----
 4 files changed, 48 insertions(+), 29 deletions(-)

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 3d1386e..16d97f1 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -384,19 +384,21 @@
     void initDeviceInfo()
     {
         AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean();
-        infoBean.setDeviceMAC("AA00000000000100");
-        infoBean.setIPMAC("AA00000000000100");
-        infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧
-        infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿
+        infoBean.setDeviceMAC("f2c5d8bad48f");
+        infoBean.setIPMAC("f2c5d8bad48f");
+        infoBean.setDeviceName("榄旈暅");//璁惧鍚嶅瓧
+        infoBean.setDeviceModel("HDLSDK");//璁惧鍨嬪彿
         infoBean.setAccessMode("WIFI");
         infoBean.setIPGateway("192.168.1.1");
         infoBean.setIPAddress("192.168.1.116");
-        infoBean.setGateway_type("music.standard");
+        infoBean.setGateway_type("screen.touch");
         infoBean.setHw_version("HW2.0");
         infoBean.setFw_version("Fw1.0");
         infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍�
         infoBean.setSid("110105000000FE08110100000011");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍�
+        infoBean.setSupplier("JINMAOYUN");
         HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean);
+
     }
 
     /**
@@ -413,8 +415,8 @@
 
 //        姝e紡鏈嶅姟鍣�
         String spkStr = "screen.mirror";//浜у搧spk
-        String macStr = "AA00000000000100";//璁惧鍞竴MAC鍦板潃
-        String secret = "e186beeb7974998e";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
+        String macStr = "f2c5d8bad48f";//璁惧鍞竴MAC鍦板潃
+//        String secret = "e186beeb7974998e";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
 
         String mac_key = stringToMD5(stringToMD5(macStr + secret));
         String versionString = "HDL_V1.0.1";//
@@ -424,7 +426,7 @@
         //1.璁剧疆璁よ瘉淇℃伅
         AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean();
         requestBean.setMAC(macStr);
-        requestBean.setSupplier("WISE");
+        requestBean.setSupplier("JINMAOYUN");
         requestBean.setFirmwareVersion(versionString);
         requestBean.setHardwareModel("1956F");
         AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean();
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 c15ba93..1908d0a 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
@@ -22,7 +22,7 @@
 /**
  * Created by hxb on 2023/9/14.
  */
-public  class AllTopicManagerUtils {
+public class AllTopicManagerUtils {
 
     /**
      * 鍏ㄥ眬涓婚澶勭悊鏂规硶锛屽彲浠ュ鐞嗘墍鏈夋帴鏀跺埌鐨勬暟鎹�
@@ -138,6 +138,7 @@
 
     /**
      * 鏇存柊瀵嗛挜
+     *
      * @param body
      */
     private static void managerLinkBroadcast(String body) {
@@ -166,18 +167,28 @@
 
     /**
      * 閫�缃�
+     *
      * @param body
      */
-    private static void managerDeleteNofity(String body)
-    {
+    private static void managerDeleteNofity(String body) {
         try {
             DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(body, new TypeToken<DeviceDeleteResponse>() {
             }.getType());
 
-            if(deviceDeleteResponse==null||deviceDeleteResponse.getObjects()==null){
+            if (deviceDeleteResponse == null || deviceDeleteResponse.getObjects() == null) {
                 return;
             }
-            HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), null);
+            HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() {
+                @Override
+                public void onSuccess(String msg) {
+
+                }
+
+                @Override
+                public void onError(HDLLinkException e) {
+
+                }
+            });
         } catch (Exception e) {
             LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage());
         }
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index 6a3b624..3361024 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -155,7 +155,7 @@
                         LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress());
                         if (!TextUtils.isEmpty(bean.getSlave_mac())) {
                             if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) {
-                                LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�"+bean.getSlave_mac()+" 鏈満鐨勬槸"+request.getObjects().getDeviceMAC());
+                                LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�" + bean.getSlave_mac() + " 鏈満鐨勬槸" + request.getObjects().getDeviceMAC());
                                 return;
                             }
                         }
@@ -168,8 +168,8 @@
                         }
                     }
 
-                }catch (Exception e){
-                    LogUtils.e("鍏ョ綉楠岃瘉寮傚父",e.getMessage());
+                } catch (Exception e) {
+                    LogUtils.e("鍏ョ綉楠岃瘉寮傚父", e.getMessage());
                 }
             }
         });
@@ -196,6 +196,7 @@
 
         final GatewayInfoRequest request = new GatewayInfoRequest();
         AuthenticateRequest.AuthenticateDeviceInfoBean authenticateDeviceInfoBean = HDLLinkConfig.getInstance().getDeviceInfoBean();
+        if (authenticateDeviceInfoBean == null) return;
         request.setDevice_model(authenticateDeviceInfoBean.getDeviceModel());
         request.setDevice_mac(authenticateDeviceInfoBean.getDeviceMAC());
         request.setDevice_name(authenticateDeviceInfoBean.getDeviceName());
@@ -207,7 +208,9 @@
 
         if (authenticateDeviceInfoBean.getSupplier() == null) {
             AuthenticateRequest.RequestBean requestBean = HDLLinkConfig.getInstance().getRequestBean();
-            request.setSupplier(requestBean.getSupplier());
+            if (requestBean != null) {
+                request.setSupplier(requestBean.getSupplier());
+            }
         }
 
         request.setHw_version(authenticateDeviceInfoBean.getHw_version());
@@ -255,19 +258,19 @@
                             String localSecret = "";
                             String gatewayId = "";
                             String ipAddress = "";
-                            String homeId="";
+                            String homeId = "";
                             if (bean.getAuth() != null) {
                                 localSecret = bean.getAuth().getLocalSecret();
                             }
                             if (bean.getObjects() != null) {
                                 gatewayId = bean.getObjects().getGatewayID();
                                 ipAddress = bean.getObjects().getIPAddress();
-                                homeId=bean.getObjects().getHomeId();
+                                homeId = bean.getObjects().getHomeId();
                             }
                             if (ipAddress == null) {
                                 ipAddress = bean.getIp_address();
                             }
-                            if(!TextUtils.isEmpty(homeId)){
+                            if (!TextUtils.isEmpty(homeId)) {
                                 HDLLinkConfig.getInstance().setHomeId(homeId);
                             }
                             HDLLinkConfig.getInstance().setAuthBean(request.getAuth());
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
index 14f9b6e..7331819 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -701,8 +701,8 @@
     /**
      * 涓婃姤Sid鍒楄〃
      *
-     * @param requestList  sid鍒楄〃
-     * @param callBack 鍥炶皟
+     * @param requestList sid鍒楄〃
+     * @param callBack    鍥炶皟
      */
     public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
         if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
@@ -949,14 +949,13 @@
 //        String replyTopic = topic + "_reply";
 
         try {
-            sendMsg(message.getSendBytes(), topic, callBack, new SendListener() {
+            sendMsg(message.getSendBytes(), topic, null, new SendListener() {
                 @Override
                 public void onSucceed() {
+                    HDLLinkConfig.getInstance().clearConfig();
                     if (callBack == null) return;
                     try {
                         callBack.onSuccess("閫�缃戞垚鍔�");
-                        HDLLinkConfig.getInstance().clearConfig();
-
                     } catch (Exception e) {
                         callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
                     }
@@ -995,7 +994,11 @@
     public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
         try {
             LinkRequest message = new LinkRequest(topic, bodyStr);
+            if (topic != null && topic.endsWith("_reply")) {
+                callBack = null;
+            }
             String replyTopic = topic + "_reply";
+            HDLLinkCallBack finalCallBack = callBack;
             sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
                 @Override
                 public void onSucceed() {
@@ -1004,8 +1007,8 @@
 
                 @Override
                 public void onError() {
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+                    if (finalCallBack != null) {
+                        finalCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
                     }
                 }
             });
@@ -1116,8 +1119,9 @@
 
     /**
      * 鍥炲缃戝叧閰嶇疆鍛戒护
+     *
      * @param mac_Oid_GatewayId
-     * @param msgId 娑堟伅Id
+     * @param msgId             娑堟伅Id
      * @param callBack
      */
     public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) {
@@ -1135,7 +1139,6 @@
         String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId);
         LinkRequest message = new LinkRequest(topic,
                 GsonConvert.getGson().toJson(data));
-
 
 
         try {

--
Gitblit v1.8.0