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/core/utils/mqtt/MqttRecvClient.java |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
index 6c5a295..09cc1e0 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
@@ -7,6 +7,7 @@
 
 import com.hdl.sdk.link.common.utils.LogUtils;
 import com.hdl.sdk.link.core.bean.LinkPacket;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 import com.hdl.sdk.link.core.bean.eventbus.EventBindMiniRemoteSuccessInfo;
 import com.hdl.sdk.link.core.bean.eventbus.EventNotifyRefreshGatewayAesKeyInfo;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
@@ -149,16 +150,16 @@
             connOpts.setCleanSession(true);
             connOpts.setKeepAliveInterval(10);
             connOpts.setAutomaticReconnect(true);
-            connOpts.setConnectionTimeout(10);
+            connOpts.setConnectionTimeout(60);
             connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1_1);
             sampleClient.setCallback(new MqttCallbackExtended() {
                 public void connectComplete(boolean reconnect, String serverURI) {
-                    LogUtils.d(TAG, "mqtt杩炴帴鎴愬姛");
+                    LogUtils.d(TAG, "connect success");
                     checkAndsubscribeAllTopics("");
                 }
 
                 public void connectionLost(Throwable throwable) {
-                    LogUtils.d(TAG, "mqtt杩炴帴鏂紑");
+                    LogUtils.d(TAG, "杩炴帴鏂紑");
                     lastTopicFilters.clear();
                 }
 
@@ -208,6 +209,11 @@
                 return;
             }
             LogUtils.d(TAG, "缃戝叧閲嶈繛mqtt绉橀挜鏇存柊閫氱煡->" + topic);
+
+            BaseEventBus baseEventBus=new BaseEventBus();
+            baseEventBus.setTopic(topic);
+            EventBus.getDefault().post(baseEventBus);
+
             EventNotifyRefreshGatewayAesKeyInfo eventNotifyRefreshGatewayAesKeyInfo = new EventNotifyRefreshGatewayAesKeyInfo();
             eventNotifyRefreshGatewayAesKeyInfo.setGatewayId(topics[2]);
             EventBus.getDefault().post(eventNotifyRefreshGatewayAesKeyInfo);
@@ -224,8 +230,9 @@
         GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(cloudsGatewayId);
         if (cloudsGatewayId.equals(HDLLinkConfig.getInstance().getHomeId())) {
             aes = getHomeAES();
-        } else if (gatewayBean != null && HDLConnectHelper.getGatewayTypeList().contains(gatewayBean.getGatewayType())) {
-            //閫嗗彉鍣╩qtt涓撶敤绉橀挜
+        }
+        else if (gatewayBean != null && HDLConnectHelper.getGatewayTypeList().contains(gatewayBean.getGatewayType())) {
+            //姣背娉qtt涓撶敤绉橀挜銆侀�嗗彉鍣╩qtt涓撶敤绉橀挜
             aes = gatewayBean.getAesKey();
         } else {
             aes = HDLLinkConfig.getInstance().getAesKey();
@@ -283,7 +290,10 @@
      * @param sendTopic 璇锋眰涓婚
      */
     public synchronized void checkAndsubscribeAllTopics(String sendTopic) {
-        if (null != sampleClient && !sampleClient.isConnected()) {
+        if (null == sampleClient) {
+            return;
+        }
+        if (null != sampleClient && sampleClient.isConnected() == false) {
             return;
         }
         try {
@@ -384,6 +394,9 @@
      * 鍒囨崲浣忓畢鐨勬椂鍊欒闃呰鍏ㄩ儴鍙栨秷
      */
     public void removeAllTopic() {
+        if (null == sampleClient) {
+            return;
+        }
         if (null != sampleClient && sampleClient.isConnected() == false) {
             return;
         }

--
Gitblit v1.8.0