From 7c8ce9b9a7d3fc1aaa4a621e86415b25ad10a34f Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 19 三月 2025 09:36:28 +0800
Subject: [PATCH] 添加source屏扫码流程
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java | 157 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 128 insertions(+), 29 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 426367b..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,8 +3,10 @@
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.GatewaySearchBean;
+import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
+import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
/**
@@ -13,34 +15,50 @@
* @Description : HDLLinkConfig
*/
public class HDLLinkConfig {
- private static final String Authenticate_LS_KEY = "auth_ls_key";
+ 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";
+ 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;
}
@@ -51,22 +69,29 @@
this.gatewayId = "";
this.ipAddress = "";
this.localSecret = "";
- SPUtils.remove(Authenticate_LS_KEY);
+ 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);
}
/**
* 鍔犺浇缂撳瓨
*/
- void loadConfig(){
- localSecret = SPUtils.getString(Authenticate_LS_KEY, "");
+ void loadConfig() {
+ localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, "");
gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, "");
ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, "");
+ homeId = SPUtils.getString(GATEWAY_REMOTEINFO_KEY, "");
+ parentOid = SPUtils.getString(GATEWAY_PARENTOID_KEY, "");
}
/**
* 淇濆瓨閰嶇疆
+ *
* @param localSecret
* @param gatewayId
* @param ipAddress
@@ -75,25 +100,35 @@
this.localSecret = localSecret;
this.gatewayId = gatewayId;
this.ipAddress = ipAddress;
- SPUtils.put(Authenticate_LS_KEY, localSecret);
+ 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);
}
/**
* 妫�娴嬫槸鍚﹀凡缁忚璇佽繃
+ *
* @return
*/
- public boolean checkIfCertified(){
+ 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) {
this.localSecret = localSecret;
- SPUtils.put(Authenticate_LS_KEY, localSecret);
+ SPUtils.put(AUTHENTICATE_LS_KEY, localSecret);
}
public String getLocalSecret() {
@@ -104,16 +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;
+ 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() {
@@ -122,29 +174,76 @@
public void setCurrentGateway(GatewaySearchBean currentGateway) {
this.currentGateway = currentGateway;
+ if (this.currentGateway != null && !TextUtils.isEmpty(this.currentGateway.getIp_address())) {
+ if (!this.ipAddress.equals(this.currentGateway.getIp_address())) {
+ //濡傛灉IP鍦板潃鏈夊彉鍖栧垯鏇存柊
+ this.ipAddress = this.currentGateway.getIp_address();
+ SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress);
+ }
+ }
}
/**
* 鍒ゆ柇褰撳墠涓婚鏁版嵁鏄惁闇�瑕佸姞瀵�
+ *
* @param topicStr 褰撳墠涓婚
* @return
*/
- public boolean ifNeedEncrypt(String topicStr){
+ public boolean ifNeedEncrypt(String topicStr) {
//杩囨护鐩稿叧闇�瑕佸姞瀵嗙殑涓婚
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) //鏈夊瘑閽ュ氨鏄姞瀵�
);
}
/**
* 鎷兼帴缃戝叧ID鑾峰彇瀹屾暣鐨勪富棰�
+ *
* @param topicStr
* @return
*/
- public String getFullTopic(String topicStr){
+ public String getFullTopic(String topicStr) {
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