From 14de918a79943e4961b09fa01ed320c6cad41f2e Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 28 六月 2023 17:14:51 +0800 Subject: [PATCH] Revert "Revert "Merge branch 'hxb' into wjc"" --- HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 211 insertions(+), 0 deletions(-) diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java new file mode 100644 index 0000000..195ea25 --- /dev/null +++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java @@ -0,0 +1,211 @@ +package com.hdl.sdk.link.core.config; + +import com.hdl.sdk.link.common.utils.LogUtils; +import com.hdl.sdk.link.common.utils.SPUtils; +import com.hdl.sdk.link.core.bean.request.AuthenticateRequest; +import com.hdl.sdk.link.core.bean.response.GatewaySearchBean; + +import androidx.annotation.NonNull; + + +/** + * Created by jlchen on 11/11/21. + * + * @Description : HDLLinkConfig + */ +public class HDLLinkConfig { + private static final String AUTHENTICATE_LS_KEY = "auth_ls_key"; + private static final String AUTHENTICATE_GATEWAYID_KEY = "auth_gatewayid_key"; + private static final String AUTHENTICATE_IPADDRESS_KEY = "auth_ipaddress_key"; + private static final String AUTHENTICATE_IS_LS_KEY = "auth_isls_key"; + private static final String AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY = "cloud_isencrypt_key"; + private static final String AUTHENTICATE_CLOUD_ENCRYPT_KEY = "cloud_encrypt_key"; + private static final String HOME_ID="home_id"; + + private String localSecret;//鏈湴鍔犲瘑瀵嗛挜 + private String gatewayId; + private String ipAddress; + private boolean isLocalEncrypt;//缃戝叧鏄惁闇�瑕佸姞瀵嗛�氳 + private String homeId; + private GatewaySearchBean currentGateway;//褰撳墠缃戝叧 + private String aesKey; + //浜戠缃戝叧鏄惁鍔犲瘑 + private boolean isCloudEncrypt = true; + + private AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean;//褰撳墠璁惧鍩烘湰淇℃伅 + + /** + * instance + */ + private volatile static HDLLinkConfig instance; + + /** + * getInstance + * + * @return AuthenticateConfig + */ + public static synchronized HDLLinkConfig getInstance() { + if (instance == null) { + synchronized (HDLLinkConfig.class) { + if (instance == null) { + instance = new HDLLinkConfig(); + instance.loadConfig(); + } + } + } + return instance; + } + + /** + * 娓呯┖缂撳瓨 + */ + public void clearConfig() { + this.gatewayId = ""; + this.ipAddress = ""; + this.localSecret = ""; + this.isLocalEncrypt = false; + this.homeId=""; + SPUtils.remove(AUTHENTICATE_LS_KEY); + SPUtils.remove(AUTHENTICATE_GATEWAYID_KEY); + SPUtils.remove(AUTHENTICATE_IPADDRESS_KEY); + SPUtils.remove(AUTHENTICATE_IS_LS_KEY); + SPUtils.remove(HOME_ID); + } + + /** + * 鍔犺浇缂撳瓨 + */ + void loadConfig() { + localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, ""); +// gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, ""); +// ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, ""); + isLocalEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_LS_KEY, false); + isCloudEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY, false); + aesKey = SPUtils.getString(AUTHENTICATE_CLOUD_ENCRYPT_KEY, ""); + homeId=SPUtils.getString(HOME_ID, ""); + } + + + + /** + * 淇濆瓨閰嶇疆 + * + * @param localSecret + * @param gatewayId + * @param ipAddress + */ + public void saveConfig(String localSecret, String gatewayId, String ipAddress) { + this.localSecret = localSecret; + this.gatewayId = gatewayId; + this.ipAddress = ipAddress; + SPUtils.put(AUTHENTICATE_LS_KEY, localSecret); + SPUtils.put(AUTHENTICATE_GATEWAYID_KEY, gatewayId); + SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress); + } + + /** + * 閲嶆柊淇濆瓨 + */ + public void reSaveConfig() { + this.saveConfig(this.localSecret, this.gatewayId, this.ipAddress); + } + + public String getAesKey() { + return aesKey == null ? "" : aesKey; + } + + public void setAesKey(@NonNull String aesKey) { + this.aesKey = aesKey; + SPUtils.put(AUTHENTICATE_CLOUD_ENCRYPT_KEY, aesKey); + } + + + public boolean isCloudEncrypt() { + return isCloudEncrypt; + } + + public void setCloudEncrypt(@NonNull boolean cloudEncrypt) { + isCloudEncrypt = cloudEncrypt; + SPUtils.put(AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY, cloudEncrypt); + } + + /** + * 妫�娴嬫槸鍚﹀凡缁忚璇佽繃 + * + * @return + */ + public boolean checkIfCertified() { + //localSecret涓嶄负绌哄苟涓旈暱搴︾瓑浜�16 缃戝叧id涓嶈兘涓虹┖ + return true;//!TextUtils.isEmpty(localSecret) + //&& localSecret.length() == 16 + //&& !TextUtils.isEmpty(gatewayId); + } + + public void setLocalSecret(String localSecret) { + this.localSecret = localSecret; + SPUtils.put(AUTHENTICATE_LS_KEY, localSecret); + } + + public String getLocalSecret() { + return localSecret; + } + + /** + * 褰撳墠浣忓畢缃戝叧Id,oid,mac + * @return + */ + public String getGatewayId() { + return gatewayId; + } + + /** + * 褰撳墠浣忓畢缃戝叧Id + * @param gatewayId + */ + public void setGatewayId(String gatewayId) { + this.gatewayId= gatewayId; + } + + public String getHomeId() { + return homeId; + } + + public void setHomeId(String homeId) { + this.homeId = homeId; + } + + public String getIpAddress() { + return ipAddress; + } + public void setIpAddress(String ipAddress){ + this.ipAddress = ipAddress; + } + + public boolean isLocalEncrypt() { + return isLocalEncrypt; + } + + public void setLocalEncrypt(boolean localEncrypt) { + isLocalEncrypt = localEncrypt; + SPUtils.put(AUTHENTICATE_IS_LS_KEY, isLocalEncrypt); + } + + + /** + * 鎷兼帴缃戝叧ID鑾峰彇瀹屾暣鐨勪富棰� + * + * @param topicStr + * @return + */ + public String getFullTopic(String topicStr) { + return String.format(topicStr, gatewayId); + } + + public AuthenticateRequest.AuthenticateDeviceInfoBean getDeviceInfoBean() { + return deviceInfoBean; + } + + public void setDeviceInfoBean(AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean) { + this.deviceInfoBean = deviceInfoBean; + } +} \ No newline at end of file -- Gitblit v1.8.0