From 830e47a67026205b75f69e061d81783aa606a237 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期五, 23 九月 2022 16:23:26 +0800
Subject: [PATCH] tcp发送之前判断是否连接
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java | 81 +++++++++++++++++++++++++++-------------
1 files changed, 55 insertions(+), 26 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 a212728..bfe3d60 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;
@@ -21,27 +23,33 @@
private String localSecret;//鏈湴鍔犲瘑瀵嗛挜
private String gatewayId;
private String ipAddress;
- private boolean isLocalEncrypt;//缃戝叧鏄惁闇�瑕佸姞瀵嗛�氳
private GatewaySearchBean currentGateway;//褰撳墠缃戝叧
+
+ private AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean;//褰撳墠璁惧鍩烘湰淇℃伅
/**
* 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;
}
@@ -52,7 +60,6 @@
this.gatewayId = "";
this.ipAddress = "";
this.localSecret = "";
- this.isLocalEncrypt = false;
SPUtils.remove(AUTHENTICATE_LS_KEY);
SPUtils.remove(AUTHENTICATE_GATEWAYID_KEY);
SPUtils.remove(AUTHENTICATE_IPADDRESS_KEY);
@@ -62,15 +69,15 @@
/**
* 鍔犺浇缂撳瓨
*/
- void loadConfig(){
+ 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);
}
/**
* 淇濆瓨閰嶇疆
+ *
* @param localSecret
* @param gatewayId
* @param ipAddress
@@ -85,10 +92,18 @@
}
/**
+ * 閲嶆柊淇濆瓨
+ */
+ 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
@@ -107,18 +122,15 @@
public String getGatewayId() {
return gatewayId;
}
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId=gatewayId;
+ }
public String getIpAddress() {
return ipAddress;
}
-
- public boolean isLocalEncrypt() {
- return isLocalEncrypt;
- }
-
- public void setLocalEncrypt(boolean localEncrypt) {
- isLocalEncrypt = localEncrypt;
- SPUtils.put(AUTHENTICATE_IS_LS_KEY, isLocalEncrypt);
+ public void setIpAddress(String ipAddress){
+ this.ipAddress = ipAddress;
}
public GatewaySearchBean getCurrentGateway() {
@@ -127,29 +139,46 @@
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() {
+ return deviceInfoBean;
+ }
+
+ public void setDeviceInfoBean(AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean) {
+ this.deviceInfoBean = deviceInfoBean;
+ }
}
--
Gitblit v1.8.0