hxb
2023-09-18 e7e494c6d168ea2942e1c6fa1c9c7808f4c12184
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
@@ -198,73 +198,6 @@
                response.setData(bodyString);
                LogUtils.i("接收到数据:" + response.getTopic() + "\r\n" + response.getData());
                String updateLocalSecret = String.format(TopicConstant.LINK_BROADCAST, HDLLinkConfig.getInstance().getGatewayId());
                String deleteNetwork = "";
                if (HDLLinkConfig.getInstance().getDeviceInfoBean() != null) {
                    deleteNetwork = String.format(TopicConstant.DELETE_NOTIFY, HDLLinkConfig.getInstance().getDeviceInfoBean().getOID());
                }
                if (response.getTopic().equals("/user/all/custom/gateway/search")) {
                    HDLAuthSocket.getInstance().UploadGatewayInfo(new HDLLinkCallBack() {
                        @Override
                        public void onSuccess(String msg) {
//                            LogUtils.i("UploadGatewayInfo onSucceed");
                        }
                        @Override
                        public void onError(HDLLinkException e) {
//                            LogUtils.i("UploadGatewayInfo onError");
                        }
                    });
                } 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 (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) {
                        LogUtils.i("LinkMessageDecoder.java:getLocalSecret----->e= " + e.getMessage());
                    }
                } else if (response.getTopic().equals(deleteNetwork)) {
                    try {
                        DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceDeleteResponse>() {
                        }.getType());
                        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();
                                    }
                                }
                            });
                        }
                    } catch (Exception e) {
                        LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage());
                    }
                }
                //非正常数据,返回
                if (!((bodyString.startsWith("{") && bodyString.endsWith("}"))
                        || (bodyString.startsWith("[") && bodyString.endsWith("]")))) {