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 | 162 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 131 insertions(+), 31 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 0e30ae9..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,23 +2,30 @@ 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.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.connect.socket.HDLAuthSocket; import com.hdl.sdk.connect.socket.HDLSocket; @@ -164,51 +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; - - HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(); - httpLoggingInterceptor.level(HttpLoggingInterceptor.Level.BODY); - - HxHttpConfig.getInstance() - //.addInterceptor(new HttpCacheInterceptor()) - .addInterceptor(httpLoggingInterceptor).ignoreSSL(); - HdlCloudController.applyDeviceSecret(supplier, mac, spk, callBack); } /** * 妫�娴嬫洿鏂� * - * @param appKey appKey - * @param appSecret appSecret * @param versionCode 褰撳墠鐗堟湰 * @param appCode appCode * @param listener 缁撴灉鍥炶皟 */ - public void checkAppVersion(Context context, String appKey, String appSecret, String versionCode, String appCode, CheckAppVersionListener listener) { + public void checkAppVersion(String versionCode, String appCode, CheckAppVersionListener listener) { LogUtils.i("妫�娴嬫洿鏂�"); - HxHttpConfig.getInstance().init(context, HdlCloudApi.BASE_CHINA_URL) - .addInterceptor( - new EncryptInterceptor(), - new SmartHeaderInterceptor()); - this.appKey = appKey; - this.appSecret = appSecret; + 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.checkAppVersion(versionCode, appCode, listener); + /** + * 鑾峰彇鎬濆繀椹皌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); } /** @@ -256,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 @@ -266,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 鎺у埗鐘舵�佸弬鏁� @@ -276,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 璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id鍒楄〃 -- Gitblit v1.8.0