From d49e1c7813b25c2bd9701b7bb70dc2add4505030 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期五, 15 九月 2023 17:36:31 +0800
Subject: [PATCH] 更新密钥增加判空

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java |   55 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 30 insertions(+), 25 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 4e2cbb0..15bc3bc 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
@@ -172,6 +172,7 @@
                 }
                 LinkResponse response = new LinkResponse();
                 response.setSource_ipAddress(ipaddress);
+                Log.d("panlili", "----->source_ipAddress= " + ipaddress);
                 response.setTopic(topic);
                 if (HDLLinkConfig.getInstance().ifNeedEncrypt(response.getTopic())) {
                     //闇�瑕佽В瀵�
@@ -207,12 +208,12 @@
                     HDLAuthSocket.getInstance().UploadGatewayInfo(new HDLLinkCallBack() {
                         @Override
                         public void onSuccess(String msg) {
-                            LogUtils.i("UploadGatewayInfo onSucceed");
+//                            LogUtils.i("UploadGatewayInfo onSucceed");
                         }
 
                         @Override
                         public void onError(HDLLinkException e) {
-                            LogUtils.i("UploadGatewayInfo onError");
+//                            LogUtils.i("UploadGatewayInfo onError");
                         }
                     });
                 } else if (response.getTopic().equals(updateLocalSecret) || response.getTopic().equals(TopicConstant.LINK_BROADCAST)) {
@@ -220,15 +221,17 @@
                         DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceInfoResponse>() {
                         }.getType());
 
-                        if (!TextUtils.isEmpty(deviceInfoResponse.getObjects().getLocalSecret())) {
-                            byte[] baseBytes = Base64.decode(deviceInfoResponse.getObjects().getLocalSecret(), Base64.NO_WRAP);
-                            String mackey = "";
-                            if (!TextUtils.isEmpty(SPUtils.getString("auth_mackey_key", ""))) {
-                                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", "鏇存柊瀵嗛挜----->localSecret= " + localSecret);
-                                HDLLinkConfig.getInstance().setLocalSecret(localSecret);
+                        if (deviceInfoResponse != null && deviceInfoResponse.getObjects() != null) {
+                            if (!TextUtils.isEmpty(deviceInfoResponse.getObjects().getLocalSecret())) {
+                                byte[] baseBytes = Base64.decode(deviceInfoResponse.getObjects().getLocalSecret(), Base64.NO_WRAP);
+                                String mackey = "";
+                                if (!TextUtils.isEmpty(SPUtils.getString("auth_mackey_key", ""))) {
+                                    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", "鏇存柊瀵嗛挜----->localSecret= " + localSecret);
+                                    HDLLinkConfig.getInstance().setLocalSecret(localSecret);
+                                }
                             }
                         }
                     } catch (Exception e) {
@@ -238,23 +241,25 @@
                     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");
-                                if (HDLLink.getInstance().listener != null) {
-                                    HDLLink.getInstance().listener.onSuccess(msg);
+                        if (deviceDeleteResponse != null && deviceDeleteResponse.getObjects() != null) {
+                            HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() {
+                                @Override
+                                public void onSuccess(String msg) {
+                                    LogUtils.i("deleteNetwork onSucceed");
+                                    if (HDLLink.getInstance().listener != null) {
+                                        HDLLink.getInstance().listener.onSuccess(msg);
+                                    }
                                 }
-                            }
 
-                            @Override
-                            public void onError(HDLLinkException e) {
-                                LogUtils.i("deleteNetwork onError");
-                                if (HDLLink.getInstance().listener != null) {
-                                    HDLLink.getInstance().listener.onFailure();
+                                @Override
+                                public void onError(HDLLinkException e) {
+                                    LogUtils.i("deleteNetwork onError");
+                                    if (HDLLink.getInstance().listener != null) {
+                                        HDLLink.getInstance().listener.onFailure();
+                                    }
                                 }
-                            }
-                        });
+                            });
+                        }
                     } catch (Exception e) {
                         LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage());
                     }

--
Gitblit v1.8.0