From 84bb9a10e795b8839d9770eeb37aab71bf22e107 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期一, 29 九月 2025 10:13:18 +0800 Subject: [PATCH] 代码优化 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 204 insertions(+), 28 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 d1aa555..78b7d0f 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 @@ -2,31 +2,36 @@ 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.utils.LogUtils; -import com.hdl.sdk.common.utils.ThreadToolUtils; -import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; -import com.hdl.sdk.connect.bean.request.DeviceControlRequest; -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.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.config.HDLLinkConfig; 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.HdlCloudController; +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.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; /** @@ -118,6 +123,10 @@ HDLLinkConfig.getInstance().setNetworkName(networkName); } + public String getParentOid() { + return HDLLinkConfig.getInstance().getParentOid(); + } + /** * 寮�濮嬬洃鍚拰鍙戣捣鍏ョ綉鍙婅璇佽姹� * @@ -151,6 +160,7 @@ */ public void UploadDeviceAuth(String mac, String result, String message, String auth_code, HDLLinkCallBack callBack) { HDLSocket.getInstance().UploadDeviceAuth(mac, result, message, auth_code, callBack); + } /** @@ -161,23 +171,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, String url) { + + HDLCloudConfig.getInstance().init(context, appKey, appSecret, 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); } /** @@ -218,20 +264,76 @@ } /** - * 鑾峰彇鍔熻兘鍒楄〃 + * 鑾峰彇璁惧鍒楄〃 */ public void getFunctionList(HDLLinkCallBack callBack) { HDLSocket.getInstance().getFunctionList(callBack); } /** - * 鑾峰彇鍔熻兘灞炴�� + * 鑾峰彇璁惧鍒楄〃 + */ + 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 * @param callBack */ public void getFunctionAttribute(List<String> sids, HDLLinkCallBack callBack) { HDLSocket.getInstance().getFunctionAttribute(sids, callBack); + } + + /** + * 鑾峰彇璁惧鍔熻兘灞炴�� + * + * @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); + } + } + }); } /** @@ -242,6 +344,35 @@ */ public void propertyDown(List<DeviceControlRequest> request, HDLLinkCallBack callBack) { HDLSocket.getInstance().propertyDown(request, callBack); + } + + /** + * 璁惧鎺у埗 + * + * @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); + } + } + }); } /** @@ -292,6 +423,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