562935844@qq.com
2023-09-15 d49e1c7813b25c2bd9701b7bb70dc2add4505030
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());
                    }