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