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/HDLLink.java |  150 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 128 insertions(+), 22 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
index e84727d..b89fe9e 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -3,29 +3,29 @@
 import android.content.Context;
 
 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.utils.LogUtils;
-import com.hdl.sdk.common.utils.ThreadToolUtils;
-import com.hdl.sdk.connect.bean.request.DeviceAuthRequest;
+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.callback.HDLLinkCallBack;
 import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack;
 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.interceptor.EncryptInterceptor;
-import com.hdl.sdk.connect.cloud.interceptor.SmartHeaderInterceptor;
+import com.hdl.sdk.connect.cloud.listener.GatewayListener;
+import com.hdl.sdk.connect.cloud.listener.SibichiListener;
+import com.hdl.sdk.connect.config.HDLCloudConfig;
 import com.hdl.sdk.connect.config.HDLLinkConfig;
-import com.hdl.sdk.common.event.EventDispatcher;
-import com.hdl.sdk.common.event.EventListener;
-import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
 import com.hdl.sdk.connect.socket.HDLAuthSocket;
 import com.hdl.sdk.connect.socket.HDLSocket;
 
 import java.util.List;
-import java.util.concurrent.TimeUnit;
 
-import io.reactivex.rxjava3.disposables.Disposable;
 import okhttp3.logging.HttpLoggingInterceptor;
 
 /**
@@ -40,6 +40,7 @@
     private static final HDLLink instance = new HDLLink();
 
     private String appKey, appSecret;
+    public DeleteNetworkListener listener;
 
     /**
      * getInstance
@@ -92,6 +93,15 @@
         EventDispatcher.getInstance().removeAllTopicsListener(listener);
     }
 
+    /**
+     * 娉ㄥ唽閫�缃戜富棰樼殑鐩戝惉
+     *
+     * @param listener
+     */
+    public synchronized void setDeleteNetworkListener(DeleteNetworkListener listener) {
+        this.listener = listener;
+    }
+
     /***********************涓夋柟璁惧鍜岀綉鍏抽�氫俊涔嬪墠鐨勮璇佹祦绋�****************************/
     /**
      * 妫�娴嬫槸鍚﹀凡缁忚璇佽繃
@@ -105,6 +115,10 @@
 
     public void selectNetwork(String networkName) {
         HDLLinkConfig.getInstance().setNetworkName(networkName);
+    }
+
+    public String getParentOid() {
+        return HDLLinkConfig.getInstance().getParentOid();
     }
 
     /**
@@ -140,6 +154,7 @@
      */
     public void UploadDeviceAuth(String mac, String result, String message, String auth_code, HDLLinkCallBack callBack) {
         HDLSocket.getInstance().UploadDeviceAuth(mac, result, message, auth_code, callBack);
+
     }
 
     /**
@@ -150,23 +165,59 @@
      * @param spk      璁惧spk
      * @param callBack 缁撴灉鍥炶皟
      */
-    public void applyDeviceSecret(Context context, String appKey, String appSecret, String supplier, String mac, String spk, CallBackListener callBack) {
+    public void applyDeviceSecret(String supplier, String mac, String spk, CallBackListener callBack) {
         LogUtils.i("鐢宠璁惧瀵嗛挜");
-        HxHttpConfig.getInstance().init(context, HdlCloudApi.BASE_CHINA_URL)
-                .addInterceptor(
-                        new EncryptInterceptor(),
-                        new SmartHeaderInterceptor());
-        this.appKey = appKey;
-        this.appSecret = appSecret;
+        HdlCloudController.applyDeviceSecret(supplier, mac, spk, callBack);
+    }
+
+    /**
+     * 妫�娴嬫洿鏂�
+     *
+     * @param versionCode 褰撳墠鐗堟湰
+     * @param appCode     appCode
+     * @param listener    缁撴灉鍥炶皟
+     */
+    public void checkAppVersion(String versionCode, String appCode, CheckAppVersionListener listener) {
+        LogUtils.i("妫�娴嬫洿鏂�");
+        HdlCloudController.checkAppVersion(versionCode, appCode, listener);
+    }
+
+    /**
+     * 鍒濆鍖栦簯绔�
+     */
+    public void initCloud(Context context, String appKey, String appSecret) {
+
+        HDLCloudConfig.getInstance().init(context, appKey, appSecret, HdlCloudApi.BASE_CHINA_URL);
+
+        HxHttpConfig.getInstance().ignoreSSL();
 
         HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
         httpLoggingInterceptor.level(HttpLoggingInterceptor.Level.BODY);
+        HxHttpConfig.getInstance().addInterceptor(httpLoggingInterceptor);
 
-        HxHttpConfig.getInstance()
-                //.addInterceptor(new HttpCacheInterceptor())
-                .addInterceptor(httpLoggingInterceptor).ignoreSSL();
+    }
 
-        HdlCloudController.applyDeviceSecret(supplier, mac, spk, callBack);
+    /**
+     * 鑾峰彇鎬濆繀椹皌oken
+     *
+     * @param homeId   homeId
+     * @param clientId clientId
+     * @param listener 缁撴灉鍥炶皟
+     */
+    public void getSibichiToken(String homeId, String clientId, SibichiListener listener) {
+        LogUtils.i("鑾峰彇鎬濆繀椹皌oken");
+        HdlCloudController.getSibichiToken(homeId, clientId, listener);
+    }
+
+    /**
+     * 鑾峰彇涓荤綉鍏充俊鎭�
+     *
+     * @param homeId   homeId
+     * @param listener 缁撴灉鍥炶皟
+     */
+    public void syncMainGateway(String homeId, GatewayListener listener) {
+        LogUtils.i("鑾峰彇涓荤綉鍏充俊鎭�");
+        HdlCloudController.syncMainGateway(homeId, listener);
     }
 
     /**
@@ -207,14 +258,14 @@
     }
 
     /**
-     * 鑾峰彇鍔熻兘鍒楄〃
+     * 鑾峰彇璁惧鍒楄〃
      */
     public void getFunctionList(HDLLinkCallBack callBack) {
         HDLSocket.getInstance().getFunctionList(callBack);
     }
 
     /**
-     * 鑾峰彇鍔熻兘灞炴��
+     * 鑾峰彇璁惧鍔熻兘灞炴��
      *
      * @param sids
      * @param callBack
@@ -251,6 +302,16 @@
     }
 
     /**
+     * 鍦烘櫙璇︽儏
+     *
+     * @param sids     鍦烘櫙sid鍒楄〃
+     * @param callBack 鍥炶皟
+     */
+    public void getScene(List<String> sids, HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().getScene(sids, callBack);
+    }
+
+    /**
      * 鍦烘櫙鎺у埗
      *
      * @param sids     鍦烘櫙sid鍒楄〃
@@ -271,6 +332,51 @@
     }
 
     /**
+     * 涓婃姤sid鍒楄〃
+     *
+     * @param requestList sid鍒楄〃
+     * @param callBack    鍥炶皟
+     */
+    public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().UploadSidList(requestList, callBack);
+    }
+
+    /**
+     * 鑾峰彇鎴块棿鍒楄〃
+     */
+    public void getRoomList(HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().getRoomList(callBack);
+    }
+
+    /**
+     * 鎴块棿缁戝畾鍏崇郴鍒楄〃鑾峰彇
+     *
+     * @param uid      鎴块棿uid鍒楄〃
+     * @param callBack 鍥炶皟
+     */
+    public void getRoomBindList(List<String> uid, HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().getRoomBindList(uid, callBack);
+    }
+
+    /**
+     * 鑾峰彇鑷姩鍖栧垪琛�
+     */
+    public void getLogicList(HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().getLogicList(callBack);
+    }
+
+    /**
+     * 饩冨姩鍖栧惎饨ょ饨�
+     *
+     * @param sid      鑷姩鍖杝id
+     * @param enable   true=鍚饯 false=绂佲饯
+     * @param callBack 鍥炶皟
+     */
+    public void editEnableLogic(String sid, boolean enable, HDLLinkCallBack callBack) {
+        HDLSocket.getInstance().editEnableLogic(sid, enable, callBack);
+    }
+
+    /**
      * 閫氱敤UDP鍙戦�佹寚浠�
      * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
      *

--
Gitblit v1.8.0