From af2cbc2a24b3724e7fc3e6b42e134b21a3144c75 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 二月 2022 15:33:19 +0800 Subject: [PATCH] 过滤掉非json数据不传给三方使用 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 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..31e03b1 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,13 @@ package com.hdl.sdk.connect.protocol; +import android.annotation.TargetApi; +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 +18,7 @@ import com.hdl.sdk.socket.codec.ByteToMessageDecoder; import java.util.ArrayList; +import java.util.Base64; import java.util.List; /** @@ -111,6 +117,7 @@ } } + @Override protected synchronized LinkResponse decoder(Object msg) throws Exception { if (msg instanceof byte[]) { @@ -154,19 +161,28 @@ 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"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + LogUtils.e(Base64.getEncoder().encodeToString(body)); + else { + LogUtils.e(new String(body, "utf-8")); + } + } catch (Exception e) { + } } - - } else { - response.setData(new String(body, "utf-8")); } - LogUtils.i( "LinkMessageDecoder->decoder:" + response.getTopic() + "\r\n" + response.getData()); + + String bodyString = new String(body, "utf-8"); + response.setData(bodyString); + LogUtils.i( "鎺ユ敹鍒版暟鎹�:" + response.getTopic() + "\r\n" + response.getData()); + //闈炴甯告暟鎹紝杩斿洖 + if (!(bodyString.startsWith("{") || bodyString.startsWith("["))) { + continue; + } //瑙f瀽瀹屾垚,topic鍙戦�佷竴娆� EventDispatcher.getInstance().post(response.getTopic(), response); } -- Gitblit v1.8.0