panlili2024
2024-11-14 b1569b789eef12cf5d4252620ca7e7d2d9c8b93a
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -1,16 +1,12 @@
package com.hdl.sdk.connect.socket;
import static com.hdl.sdk.connect.config.HDLLinkConfig.AUTHENTICATE_IS_DEVICEINFO_KEY;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.RequiresApi;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.sdk.common.HDLSdk;
import com.hdl.sdk.common.config.TopicConstant;
import com.hdl.sdk.common.event.EventDispatcher;
import com.hdl.sdk.common.event.EventListener;
@@ -18,34 +14,29 @@
import com.hdl.sdk.common.exception.HDLLinkException;
import com.hdl.sdk.common.utils.IdUtils;
import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.common.utils.SPUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.common.utils.gson.GsonConvert;
import com.hdl.sdk.connect.HDLLink;
import com.hdl.sdk.connect.bean.LinkRequest;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.LoginRequest;
import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
import com.hdl.sdk.connect.bean.request.BroadcastRequest;
import com.hdl.sdk.connect.bean.request.DeviceAuthRequest;
import com.hdl.sdk.connect.bean.request.GatewayInfoRequest;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest2;
import com.hdl.sdk.connect.bean.request.ListSidRequest;
import com.hdl.sdk.connect.bean.request.ListUploadRequest;
import com.hdl.sdk.connect.bean.response.AuthenticateResponse;
import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse;
import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest;
import com.hdl.sdk.connect.bean.LinkRequest;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
import com.hdl.sdk.connect.bean.response.DeviceInfoResponse;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.connect.protocol.LinkMessageDecoder;
import com.hdl.sdk.connect.protocol.LinkMessageEncoder;
import com.hdl.sdk.connect.utils.AesUtil;
import com.hdl.sdk.socket.SocketBoot;
import com.hdl.sdk.socket.SocketOptions;
import com.hdl.sdk.socket.client.IHeartbeat;
@@ -55,7 +46,6 @@
import com.hdl.sdk.socket.listener.SendListener;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -110,9 +100,12 @@
                while (true) {
                    try {
                        Thread.sleep(5000);
//                        LogUtils.i("checkIfCertified=" + HDLLink.getInstance().checkIfCertified() + " getTcp().connected=" + getTcp().connected);
                        try {
                            if (!HDLLink.getInstance().checkIfCertified() || (!TextUtils.isEmpty(getTcpIp()) && getTcp().connected)) {
                            if (!HDLLink.getInstance().checkIfCertified()) {
                                continue;
                            }
                            if (!TextUtils.isEmpty(getTcpIp()) && getTcp().connected) {
                                continue;
                            }
                        } catch (Exception e) {
@@ -473,8 +466,8 @@
        }
    }
    public synchronized SocketBoot  getTcp() throws RuntimeException {
        String gatewayIpAddress=getTcpIp();
    public synchronized SocketBoot getTcp() throws RuntimeException {
        String gatewayIpAddress = getTcpIp();
        if (TextUtils.isEmpty(gatewayIpAddress)) {
            LogUtils.e("请搜索网关");
            throw new RuntimeException("请搜索网关");
@@ -664,7 +657,7 @@
            data.setTime_stamp(time);
            //2023.10.18修改,上报oid列表增加parentOid
            if (request!=null && !TextUtils.isEmpty(HDLLinkConfig.getInstance().getParentOid())) {
            if (request != null && !TextUtils.isEmpty(HDLLinkConfig.getInstance().getParentOid())) {
                request.setParentOid(HDLLinkConfig.getInstance().getParentOid());
            }