562935844@qq.com
2023-09-15 d49e1c7813b25c2bd9701b7bb70dc2add4505030
更新密钥增加判空
4个文件已修改
64 ■■■■ 已修改文件
HDLSDK/.idea/gradle.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/.idea/gradle.xml
@@ -15,6 +15,7 @@
            <option value="$PROJECT_DIR$/hdl-connect" />
          </set>
        </option>
        <option name="resolveModulePerSourceSet" value="false" />
      </GradleProjectSettings>
    </option>
  </component>
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;
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());
                    }
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");
            }
        });