From 6d908915d558ec457db8a50b03ed8746f4e73a48 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com <562935844@qq.com> Date: 星期五, 28 六月 2024 14:53:35 +0800 Subject: [PATCH] 代码优化 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java | 142 ++++++++++++++++++++++++++--------------------- 1 files changed, 78 insertions(+), 64 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java index 99db1bb..1908d0a 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java @@ -19,12 +19,10 @@ import com.hdl.sdk.connect.socket.HDLSocket; import com.hdl.sdk.connect.utils.AesUtil; -import java.time.chrono.IsoChronology; - /** * Created by hxb on 2023/9/14. */ -public class AllTopicManagerUtils { +public class AllTopicManagerUtils { /** * 鍏ㄥ眬涓婚澶勭悊鏂规硶锛屽彲浠ュ鐞嗘墍鏈夋帴鏀跺埌鐨勬暟鎹� @@ -33,7 +31,7 @@ */ public static void manager(LinkResponse linkResponse) { try { - if(linkResponse==null){ + if (linkResponse == null) { return; } String topic = linkResponse.getTopic(); @@ -48,65 +46,20 @@ String mac_Oid_GatewayId = topics[2]; - if(!isLocalDevice(mac_Oid_GatewayId)){ - LogUtils.i("涓嶆槸褰撳墠璁惧鐨勭綉鍏矷d锛孖d鏄�"+mac_Oid_GatewayId); + if (!isLocalDevice(mac_Oid_GatewayId)) { + LogUtils.i("涓嶆槸褰撳墠璁惧鐨勭綉鍏矷d锛孖d鏄�" + mac_Oid_GatewayId); //闈炲綋鍓嶈澶囩殑鏁版嵁 return; } - if(isSameTopic(TopicConstant.GATEWAY_EDIT_REMOTE,topic)){ + if (isSameTopic(TopicConstant.GATEWAY_EDIT_REMOTE, topic)) { gatewayRemoteEditRequest(mac_Oid_GatewayId, linkResponse.getData()); - } - else if(isSameTopic(TopicConstant.GATEWAY_SEARCH,topic)){ + } else if (isSameTopic(TopicConstant.GATEWAY_SEARCH, topic)) { HDLAuthSocket.getInstance().UploadGatewayInfo(null); - } - else if(isSameTopic(TopicConstant.LINK_BROADCAST,topic)){ - try { - DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<DeviceInfoResponse>() { - }.getType()); - - if(deviceInfoResponse==null||deviceInfoResponse.getObjects()==null){ - return; - } - 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(isSameTopic(TopicConstant.DELETE_NOTIFY,topic)){ - try { - DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(linkResponse.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); - } - } - - @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()); - } + } else if (isSameTopic(TopicConstant.LINK_BROADCAST, topic)) { + managerLinkBroadcast(linkResponse.getData()); + } else if (isSameTopic(TopicConstant.DELETE_NOTIFY, topic)) { + managerDeleteNofity(linkResponse.getData()); } } catch (Exception e) { @@ -116,6 +69,7 @@ /** * 鏄惁褰撳墠鐨勮澶� + * * @param mac_Oid_GatewayId * @return */ @@ -126,18 +80,19 @@ String mac = HDLLinkConfig.getInstance().getDeviceInfoBean().getDeviceMAC(); String oid = HDLLinkConfig.getInstance().getDeviceInfoBean().getOID(); String gatewayId = HDLLinkConfig.getInstance().getGatewayId(); - String all="all"; + String all = "all"; - return mac_Oid_GatewayId.equals(mac) || mac_Oid_GatewayId.equals(oid) || mac_Oid_GatewayId.equals(gatewayId)||mac_Oid_GatewayId.toLowerCase().equals(all); + return mac_Oid_GatewayId.equals(mac) || mac_Oid_GatewayId.equals(oid) || mac_Oid_GatewayId.equals(gatewayId) || mac_Oid_GatewayId.toLowerCase().equals(all); } /** * 鏄惁鐩稿悓涓婚 + * * @param targetTopic 鐩爣鐨勪富棰� * @param sourceTopic 鎺ユ敹鐨勪富棰� * @return */ - private static boolean isSameTopic(String targetTopic,String sourceTopic) { + private static boolean isSameTopic(String targetTopic, String sourceTopic) { if (TextUtils.isEmpty(targetTopic) || TextUtils.isEmpty(sourceTopic)) { return false; } @@ -148,11 +103,11 @@ return false; } for (int i = 0; i < targetTopics.length; i++) { - if(i==2){ + if (i == 2) { //杩欎釜浣嶇疆涓嶅尮閰嶏紝鏄綉鍏砳d continue; } - if (!targetTopics[i] .equals( sourceTopics[i])) { + if (!targetTopics[i].equals(sourceTopics[i])) { return false; } } @@ -161,9 +116,10 @@ /** * 缃戝叧淇℃伅閰嶇疆 + * * @param body */ - private static void gatewayRemoteEditRequest(String mac_Oid_GatewayId,String body) { + private static void gatewayRemoteEditRequest(String mac_Oid_GatewayId, String body) { if (TextUtils.isEmpty(body)) { return; } @@ -179,4 +135,62 @@ HDLSocket.getInstance().gatewayRemoteEditReply(mac_Oid_GatewayId, gatewayRemoteEditRequest.getId(), null); } -} + + /** + * 鏇存柊瀵嗛挜 + * + * @param body + */ + private static void managerLinkBroadcast(String body) { + try { + DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(body, new TypeToken<DeviceInfoResponse>() { + }.getType()); + + if (deviceInfoResponse == null || deviceInfoResponse.getObjects() == null) { + return; + } + 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()); + } + } + + /** + * 閫�缃� + * + * @param body + */ + private static void managerDeleteNofity(String body) { + try { + DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(body, new TypeToken<DeviceDeleteResponse>() { + }.getType()); + + if (deviceDeleteResponse == null || deviceDeleteResponse.getObjects() == null) { + return; + } + HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + + } + + @Override + public void onError(HDLLinkException e) { + + } + }); + } catch (Exception e) { + LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage()); + } + } +} \ No newline at end of file -- Gitblit v1.8.0