From 845bb16392e6b47ec31147d0e7c6ddc39537f2e7 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期三, 16 二月 2022 13:05:21 +0800
Subject: [PATCH] 解密有问题后不往上层发

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 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 56fcc58..0d20188 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
@@ -1,8 +1,12 @@
 package com.hdl.sdk.connect.protocol;
 
 
+import android.os.Build;
 import android.util.Log;
 
+import androidx.annotation.RequiresApi;
+
+import com.google.gson.internal.bind.DateTypeAdapter;
 import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.connect.config.HDLLinkConfig;
 import com.hdl.sdk.common.event.EventDispatcher;
@@ -13,6 +17,7 @@
 import com.hdl.sdk.socket.codec.ByteToMessageDecoder;
 
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 /**
@@ -111,6 +116,7 @@
         }
     }
 
+    @RequiresApi(api = Build.VERSION_CODES.O)
     @Override
     protected synchronized LinkResponse decoder(Object msg) throws Exception {
         if (msg instanceof byte[]) {
@@ -154,18 +160,22 @@
                 if (HDLLinkConfig.getInstance().ifNeedEncrypt(response.getTopic())) {
                     //闇�瑕佽В瀵�
                     byte[] bodyBytes = AesUtil.aesDecrypt(body, HDLLinkConfig.getInstance().getLocalSecret());
-//                        byte[] bodyBytes = AESUtils.decryptAES(body,AuthenticateConfig.getInstance().getLocalSecret());
                     if (bodyBytes != null) {
-                        response.setData(new String(bodyBytes, "utf-8"));
-//                            LogUtils.i("TAG", "瑙e瘑 涓婚锛�"+response.getTopic()+ " body: "+response.getData());
+                        body = bodyBytes;
                     } else {
-                        //瑙e瘑澶辫触锛岃繑鍥炲師鏁版嵁
-                        response.setData(new String(body, "utf-8"));
+                        try {
+                            LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + Base64.getEncoder().encodeToString(body));
+                        } catch (Exception e) {
+                        }
                     }
-
-                } else {
-                    response.setData(new String(body, "utf-8"));
                 }
+
+                String bodyString = new String(body, "utf-8");
+                //闈炴甯告暟鎹紝杩斿洖
+                if (!(bodyString.startsWith("{") || bodyString.startsWith("["))) {
+                    continue;
+                }
+                response.setData(bodyString);
                 LogUtils.i( "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData());
                 //瑙f瀽瀹屾垚,topic鍙戦�佷竴娆�
                 EventDispatcher.getInstance().post(response.getTopic(), response);

--
Gitblit v1.8.0