panlili2024
2025-08-26 4a42989853dd83c0519d0684383430006b7e9625
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -2,20 +2,26 @@
import android.content.Context;
import com.google.gson.reflect.TypeToken;
import com.hdl.hdlhttp.HxHttpConfig;
import com.hdl.sdk.common.event.DeleteNetworkListener;
import com.hdl.sdk.common.event.EventDispatcher;
import com.hdl.sdk.common.event.EventListener;
import com.hdl.sdk.common.exception.HDLLinkException;
import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.common.utils.gson.GsonConvert;
import com.hdl.sdk.connect.bean.LinkFunctionInfo;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.bean.request.ListSidRequest;
import com.hdl.sdk.connect.bean.request.ListUploadRequest;
import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
import com.hdl.sdk.connect.callback.HDLLinkTCallBack;
import com.hdl.sdk.connect.cloud.CallBackListener;
import com.hdl.sdk.connect.cloud.CheckAppVersionListener;
import com.hdl.sdk.connect.cloud.HdlCloudApi;
import com.hdl.sdk.connect.cloud.HdlCloudController;
import com.hdl.sdk.connect.cloud.listener.GatewayListener;
import com.hdl.sdk.connect.cloud.listener.SibichiListener;
@@ -265,6 +271,33 @@
    }
    /**
     * 获取设备列表
     */
    public void getFunctionInfoList(HDLLinkTCallBack<List<LinkFunctionInfo>> callBack) {
        getFunctionList(new HDLLinkCallBack() {
            @Override
            public void onSuccess(String msg) {
                LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
                }.getType());
                final BaseLocalResponse<List<LinkFunctionInfo>> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<LinkFunctionInfo>>>() {
                }.getType());
                if (callBack != null) {
                    callBack.onSuccess(listBaseLocalResponse.getObjects());
                }
            }
            @Override
            public void onError(HDLLinkException e) {
                if (callBack != null) {
                    callBack.onError(e);
                }
            }
        });
    }
    /**
     * 获取设备功能属性
     *
     * @param sids
@@ -275,6 +308,35 @@
    }
    /**
     * 获取设备功能属性
     *
     * @param sids
     * @param callBack
     */
    public void getFunctionAttributeInfo(List<String> sids, HDLLinkTCallBack<List<LinkFunctionInfo>> callBack) {
        getFunctionAttribute(sids, new HDLLinkCallBack() {
            @Override
            public void onSuccess(String msg) {
                LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
                }.getType());
                final BaseLocalResponse<List<LinkFunctionInfo>> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<LinkFunctionInfo>>>() {
                }.getType());
                if (callBack != null) {
                    callBack.onSuccess(listBaseLocalResponse.getObjects());
                }
            }
            @Override
            public void onError(HDLLinkException e) {
                if (callBack != null) {
                    callBack.onError(e);
                }
            }
        });
    }
    /**
     * 设备控制
     *
     * @param request  控制状态参数
@@ -285,6 +347,35 @@
    }
    /**
     * 设备控制
     *
     * @param request  控制状态参数
     * @param callBack 结果回调
     */
    public void propertyDownDevice(List<DeviceControlRequest> request, HDLLinkTCallBack<String> callBack) {
        propertyDown(request, new HDLLinkCallBack() {
            @Override
            public void onSuccess(String msg) {
                LinkResponse linkResponse = GsonConvert.getGson().fromJson(msg, new TypeToken<LinkResponse>() {
                }.getType());
                final BaseLocalResponse<String> listBaseLocalResponse = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<String>>() {
                }.getType());
                if (callBack != null) {
                    callBack.onSuccess(listBaseLocalResponse.getObjects());
                }
            }
            @Override
            public void onError(HDLLinkException e) {
                if (callBack != null) {
                    callBack.onError(e);
                }
            }
        });
    }
    /**
     * 读取状态
     *
     * @param sids     请求参数 指定读取的设备sid列表