From 99bc815e07e39354f51421b77f4012ffd35594d8 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 28 六月 2023 18:03:00 +0800
Subject: [PATCH] 2023年06月28日18:02:58
---
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