From 134209ad70f82051da3ce63471df0cc8f778e57d Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 05 三月 2025 14:30:19 +0800
Subject: [PATCH] 增加source屏扫码绑定住宅接口

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java |  126 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 22 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
index 5fb4298..892b6e6 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
@@ -3,7 +3,9 @@
 import android.text.TextUtils;
 
 import com.hdl.sdk.common.config.TopicConstant;
+import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.common.utils.SPUtils;
+import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
 import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
 
 
@@ -17,32 +19,46 @@
     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";
+    public static final String AUTHENTICATE_IS_DEVICEINFO_KEY = "auth_deviceinfo_key";
+
+    public static final String GATEWAY_REMOTEINFO_KEY = "gateway_remoteinfo_key";
+    private static final String GATEWAY_PARENTOID_KEY = "gateway_parentoiid_key";
 
     private String localSecret;//鏈湴鍔犲瘑瀵嗛挜
     private String gatewayId;
     private String ipAddress;
-    private boolean isLocalEncrypt;//缃戝叧鏄惁闇�瑕佸姞瀵嗛�氳
     private GatewaySearchBean currentGateway;//褰撳墠缃戝叧
+    private String networkName;
+    private String homeId;
+    private String parentOid;
+
+    private AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean;//褰撳墠璁惧鍩烘湰淇℃伅
+    private AuthenticateRequest.RequestBean requestBean;//褰撳墠璁惧鍩烘湰淇℃伅
+    private AuthenticateRequest.AuthBean authBean;//褰撳墠璁惧璁よ瘉淇℃伅
 
     /**
      * instance
      */
-    private volatile static HDLLinkConfig instance;
+    private static final HDLLinkConfig instance = new HDLLinkConfig();
+
+    private HDLLinkConfig() {
+        loadConfig();
+    }
 
     /**
      * getInstance
      *
      * @return AuthenticateConfig
      */
-    public static synchronized HDLLinkConfig getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkConfig.class) {
-                if (instance == null) {
-                    instance = new HDLLinkConfig();
-                    instance.loadConfig();
-                }
-            }
-        }
+    public static HDLLinkConfig getInstance() {
+//        if (instance == null) {
+//            synchronized (HDLLinkConfig.class) {
+//                if (instance == null) {
+//                    instance = new HDLLinkConfig();
+//                    instance.loadConfig();
+//                }
+//            }
+//        }
         return instance;
     }
 
@@ -53,11 +69,13 @@
         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(GATEWAY_REMOTEINFO_KEY);
+        SPUtils.remove(GATEWAY_PARENTOID_KEY);
     }
 
     /**
@@ -67,7 +85,8 @@
         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);
+        homeId = SPUtils.getString(GATEWAY_REMOTEINFO_KEY, "");
+        parentOid = SPUtils.getString(GATEWAY_PARENTOID_KEY, "");
     }
 
     /**
@@ -84,6 +103,14 @@
         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);
     }
 
     /**
@@ -93,9 +120,10 @@
      */
     public boolean checkIfCertified() {
         //localSecret涓嶄负绌哄苟涓旈暱搴︾瓑浜�16 缃戝叧id涓嶈兘涓虹┖
-        return !TextUtils.isEmpty(localSecret)
-                && localSecret.length() == 16
-                && !TextUtils.isEmpty(gatewayId);
+        return !TextUtils.isEmpty(gatewayId);
+//        return !TextUtils.isEmpty(localSecret)
+//                && localSecret.length() == 16
+//                && !TextUtils.isEmpty(gatewayId);
     }
 
     public void setLocalSecret(String localSecret) {
@@ -111,17 +139,33 @@
         return gatewayId;
     }
 
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
     public String getIpAddress() {
         return ipAddress;
     }
 
-    public boolean isLocalEncrypt() {
-        return isLocalEncrypt;
+    public void setIpAddress(String ipAddress) {
+        this.ipAddress = ipAddress;
     }
 
-    public void setLocalEncrypt(boolean localEncrypt) {
-        isLocalEncrypt = localEncrypt;
-        SPUtils.put(AUTHENTICATE_IS_LS_KEY, isLocalEncrypt);
+    public String getParentOid() {
+        return parentOid;
+    }
+
+    public void setParentOid(String parentOid) {
+        this.parentOid = parentOid;
+        SPUtils.put(GATEWAY_PARENTOID_KEY, parentOid);
+    }
+
+    public String getNetworkName() {
+        return networkName;
+    }
+
+    public void setNetworkName(String networkName) {
+        this.networkName = networkName;
     }
 
     public GatewaySearchBean getCurrentGateway() {
@@ -150,7 +194,8 @@
         return (!topicStr.contains(TopicConstant.GATEWAY_AUTH_BROADCAST) //缃戝叧骞挎挱鍏ョ綉鎸囦护
                 && !topicStr.contains(TopicConstant.DEIVCE_AUTH_REQUEST) //鍏ョ綉璁よ瘉
                 && !topicStr.contains(TopicConstant.GATEWAY_SEARCH) //鎼滅储缃戝叧涓婚
-                && isLocalEncrypt//鍚敤鍔犲瘑鏍囧織
+                && !topicStr.contains(TopicConstant.BROADCAST)
+                && !TextUtils.isEmpty(localSecret) //鏈夊瘑閽ュ氨鏄姞瀵�
         );
     }
 
@@ -164,4 +209,41 @@
         return String.format(topicStr, gatewayId);
     }
 
+    public AuthenticateRequest.AuthenticateDeviceInfoBean getDeviceInfoBean() {
+        AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = (AuthenticateRequest.AuthenticateDeviceInfoBean) SPUtils.getSerializableEntity(AUTHENTICATE_IS_DEVICEINFO_KEY);
+        if (infoBean == null) {
+            infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean();
+        }
+        return infoBean;
+    }
+
+    public void setDeviceInfoBean(AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean) {
+        this.deviceInfoBean = deviceInfoBean;
+        SPUtils.saveSerializableEntity(AUTHENTICATE_IS_DEVICEINFO_KEY, deviceInfoBean);
+    }
+
+    public AuthenticateRequest.RequestBean getRequestBean() {
+        return requestBean;
+    }
+
+    public void setRequestBean(AuthenticateRequest.RequestBean requestBean) {
+        this.requestBean = requestBean;
+    }
+
+    public AuthenticateRequest.AuthBean getAuthBean() {
+        return authBean;
+    }
+
+    public void setAuthBean(AuthenticateRequest.AuthBean authBean) {
+        this.authBean = authBean;
+    }
+
+    public String getHomeId() {
+        return homeId;
+    }
+
+    public void setHomeId(String homeId) {
+        this.homeId = homeId;
+        SPUtils.put(GATEWAY_REMOTEINFO_KEY, homeId);
+    }
 }

--
Gitblit v1.8.0