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/socket/HDLAuthSocket.java        |    4 +-
 HDLSDK/.idea/gradle.xml                                                               |    1 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java |   58 +++++++++++++++-------------
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java                             |    1 
 4 files changed, 35 insertions(+), 29 deletions(-)

diff --git a/HDLSDK/.idea/gradle.xml b/HDLSDK/.idea/gradle.xml
index 83ca1a0..059ae1c 100644
--- a/HDLSDK/.idea/gradle.xml
+++ b/HDLSDK/.idea/gradle.xml
@@ -15,6 +15,7 @@
             <option value="$PROJECT_DIR$/hdl-connect" />
           </set>
         </option>
+        <option name="resolveModulePerSourceSet" value="false" />
       </GradleProjectSettings>
     </option>
   </component>
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 e22e886..3d1386e 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -41,6 +41,7 @@
 import com.hdl.sdk.connect.bean.request.ListSidRequest;
 import com.hdl.sdk.connect.bean.request.ListUploadRequest;
 import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
+import com.hdl.sdk.connect.bean.response.DeviceInfoResponse;
 import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
 import com.hdl.sdk.connect.bean.response.UpdateInfo;
 import com.hdl.sdk.connect.callback.HDLLinkCallBack;
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 71438aa..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,29 +208,30 @@
                     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)) {
+                } else if (response.getTopic().equals(updateLocalSecret) || response.getTopic().equals(TopicConstant.LINK_BROADCAST)) {
                     try {
                         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) {
@@ -239,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());
                     }
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 bd4045c..7145905 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
@@ -229,14 +229,14 @@
             public void onSucceed(Object msg) {
                 if (callBack == null) return;
                 callBack.onSuccess("涓婃姤鎴愬姛");
-                LogUtils.i("UploadGatewayInfo onSucceed = " + msg);
+//                LogUtils.i("UploadGatewayInfo onSucceed = " + msg);
             }
 
             @Override
             public void onFailure() {
                 if (callBack == null) return;
                 callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UPLOAD_GATEWAYINFO_FAILURE_ERROR));
-                LogUtils.i("UploadGatewayInfo onFailure");
+//                LogUtils.i("UploadGatewayInfo onFailure");
             }
         });
 

--
Gitblit v1.8.0