From d723fee177238df0dbab80eb788876ebd154927d Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 24 十月 2024 11:55:46 +0800 Subject: [PATCH] Update HDLLoginInterceptor.java --- HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/device/HDLLinkPMDevice.java | 272 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 272 insertions(+), 0 deletions(-) diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/device/HDLLinkPMDevice.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/device/HDLLinkPMDevice.java new file mode 100644 index 0000000..f579697 --- /dev/null +++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/device/HDLLinkPMDevice.java @@ -0,0 +1,272 @@ +package com.hdl.linkpm.sdk.device; + +import android.text.TextUtils; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.hdl.hdlhttp.HxHttp; +import com.hdl.linkpm.sdk.core.api.HDLCloudHomeApi; +import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack; +import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.linkpm.sdk.core.response.HDLResponse; +import com.hdl.linkpm.sdk.device.bean.CategoryInfo; +import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; +import com.hdl.linkpm.sdk.device.bean.FunctionActionBean; +import com.hdl.linkpm.sdk.device.bean.FunctionInfoBaseBean; +import com.hdl.linkpm.sdk.device.bean.FunctionInfoListBean; +import com.hdl.linkpm.sdk.device.bean.GatewayCloudBean; +import com.hdl.linkpm.sdk.device.bean.ProductInfo; +import com.hdl.linkpm.sdk.device.controller.HDLPMDeviceController; +import com.hdl.linkpm.sdk.home.bean.QuestionInfo; +import com.hdl.linkpm.sdk.home.bean.QuestionListInfo; +import com.hdl.linkpm.sdk.utils.HDLGsonUtils; + +import java.util.List; + +import io.reactivex.rxjava3.disposables.Disposable; + +/** + * Created by jlchen on 12/2/21. + */ +public class HDLLinkPMDevice { + //instance + private volatile static HDLLinkPMDevice instance; + + /** + * getInstance + * + * @return HDLLinkDevice + */ + public static synchronized HDLLinkPMDevice getInstance() { + if (instance == null) { + synchronized (HDLLinkPMDevice.class) { + if (instance == null) { + instance = new HDLLinkPMDevice(); + } + } + } + return instance; + } + + /***************4.璁惧銆佸姛鑳藉鍒犳敼鏌ョ鐞�***************/ + /** + * 璁惧鍩烘湰淇℃伅鍒楄〃(oid)鍏ㄩ噺娣诲姞 + * + * @param homeId 浣忓畢id + * @param oidDeviceList 鏈�鏂扮殑璁惧Oid鍒楄〃 + * @param callBack + * @return + */ + public void fullAddDeviceOidList(String homeId, List<DeviceOidInfoBean> oidDeviceList, IDefaultCallBack callBack) { + HDLPMDeviceController.getInstance().fullAddDeviceOidList(homeId, oidDeviceList, callBack); + } + + /** + * 璁惧鍩烘湰淇℃伅鍒楄〃(oid)鑾峰彇 + * + * @param homeId 浣忓畢id + * @param callBack + * @return + */ + public void getDeviceOidList(String homeId, IResponseCallBack<List<DeviceOidInfoBean>> callBack) { + HDLPMDeviceController.getInstance().getDeviceOidList(homeId, callBack); + } + + /** + * 璁惧缃戝叧鍒楄〃 + * + * @param homeId 浣忓畢id + * @param callBack + * @return + */ + public void getGatewayList(String homeId, IResponseCallBack<List<GatewayCloudBean>> callBack) { + HDLPMDeviceController.getInstance().getGatewayList(homeId, callBack); + } + + + /** + * 璁惧鍩烘湰淇℃伅(oid)鍒犻櫎 + * 鍒犻櫎璁惧鎴栬�呬粠缃戝叧绛塷id + * + * @param homeId 浣忓畢id + * @param oid 璁惧鐨刼id + * @param callBack + * @return + */ + public void removeDeviceOid(String homeId, String oid, IDefaultCallBack callBack) { + HDLPMDeviceController.getInstance().removeDeviceOid(homeId, oid, callBack); + } + + /** + * 璁惧锛堝姛鑳斤級鍏ㄩ噺鏇存柊 + * + * @param homeId 浣忓畢id + * @param gatewayId 缃戝叧Id + * @param functionList 鏈�鏂扮殑鍔熻兘鍒楄〃 + * @param callBack + * @return + */ + public void fullAddFunctionList(String homeId, String gatewayId, List<FunctionInfoBaseBean> functionList, IDefaultCallBack callBack) { + HDLPMDeviceController.getInstance().fullAddFunctionList(homeId, gatewayId, functionList, callBack); + } + + /** + * 鑾峰彇绫荤洰 + * + * @param callBack + * @return + */ + public void getCategoryAllTree(IResponseCallBack<List<CategoryInfo>> callBack) { + HDLPMDeviceController.getInstance().getCategoryList(callBack); + } + + /** + * 鑾峰彇绫荤洰涓嬭澶囧垪琛ㄦ牴鎹悕瀛� + * + * @param callBack + * @return + */ + public void getCategoryListByName(String productName, IResponseCallBack<List<ProductInfo>> callBack) { + HDLPMDeviceController.getInstance().getCategoryListByName(productName, callBack); + } + + /** + * 鑾峰彇绫荤洰涓嬭澶囧垪琛ㄦ牴鎹被鐩� + * + * @param callBack + * @return + */ + public void getCategoryListByCode(String categorySecondCode, IResponseCallBack<List<ProductInfo>> callBack) { + HDLPMDeviceController.getInstance().getCategoryListByCode(categorySecondCode, callBack); + } + + /** + * 璁惧锛堝姛鑳斤級鍒楄〃鑾峰彇 + * + * @param homeId 浣忓畢id + * @param gatewayId 缃戝叧Id + * @param callBack + * @return + */ + public void getFunctionList(String homeId, String gatewayId, IResponseCallBack<FunctionInfoListBean> callBack) { + HDLPMDeviceController.getInstance().getFunctionList(homeId, gatewayId, callBack); + } + + /** + * 璁惧锛堝姛鑳斤級鍒犻櫎锛屾敮鎸佹壒閲� + * + * @param homeId 浣忓畢id + * @param gatewayId 缃戝叧Id + * @param devices 浜戠璁惧ID闆嗗悎 + * @param callBack + * @return + */ + public void batchDeleteFunctionList(String homeId, String gatewayId, List<String> devices, IDefaultCallBack callBack) { + HDLPMDeviceController.getInstance().batchDeleteFunctionList(homeId, gatewayId, devices, callBack); + } + + /** + * 鎺у埗璁惧 + * + * @param homeId 浣忓畢id + * @param gatewayId 缃戝叧Id + * @param actions 鍔ㄤ綔 + * @param callBack + * @return + */ + public void controlFunction(String homeId, String gatewayId, List<FunctionActionBean> actions, IDefaultCallBack callBack) { + HDLPMDeviceController.getInstance().controlFunction(homeId, gatewayId, actions, callBack); + } + + + /** + * 缁戝畾姣背娉㈣澶� + * + * @param homeId 浣忓畢Id + * @param name 璁惧鍚嶇О + * @param spk 浜у搧spk + * @param oid 璁惧oid + * @param mac 璁惧mac + * @param sid 璁惧sid + * @param uidList 鎴块棿uid鍒楄〃 + * @param callBack 鍥炶皟 + */ + public void bindMillimeterDevice(String homeId, String name, String spk, String oid, String mac, String sid, List<String> uidList, IResponseCallBack<String> callBack) { + HDLPMDeviceController.getInstance().bindMillimeterDevice(homeId, name, spk, oid, mac, sid, uidList, callBack); + } + + /** + * 瑙g粦姣背娉㈣澶� + * + * @param homeId 浣忓畢Id + * @param spk 浜у搧spk + * @param mac 璁惧mac + * @param callBack 鍥炶皟 + */ + public void unBindMillimeterDevice(String homeId, String spk, String mac, IResponseCallBack<String> callBack) { + HDLPMDeviceController.getInstance().unBindMillimeterDevice(homeId, spk, mac, callBack); + } + + /** + * 鑾峰彇link鍔熻兘鍒楄〃 + * + * @param homeId 浣忓畢Id + * @param spk spk + * @param callBack 鍥炶皟 + */ + public void getDeviceList(String homeId, String spk, IResponseCallBack<FunctionInfoListBean> callBack) { + HDLPMDeviceController.getInstance().getDeviceList(homeId, spk, callBack); + } + + /** + * 鑾峰彇姣背娉�(鑾峰彇璁惧杩滅▼閫氳淇℃伅) + * + * @param homeId 浣忓畢Id + * @param spk spk + * @param mac 璁惧mac + * @param callBack 鍥炶皟 + */ + public void getDeviceRemoteInfo(String homeId, String spk, String mac, IResponseCallBack<String> callBack) { + HDLPMDeviceController.getInstance().getDeviceRemoteInfo(homeId, spk, mac, callBack); + } + + /** + * 璁惧锛堝姛鑳斤級淇敼澶囨敞 + * + * @param homeId 浣忓畢id + * @param deviceId 璁惧Id + * @param name 璁惧鍚嶇О + */ + public void rename(String homeId, long deviceId,String name, IResponseCallBack<String> callBack) { + HDLPMDeviceController.getInstance().rename( homeId, deviceId, name, callBack); + } + + + /** + * 璁惧锛堝姛鑳斤級缁戝畾鎴块棿 + * + * @param homeId 浣忓畢id + * @param deviceIds 璁惧id鍒楄〃 + * @param roomIds 鎴块棿id鍒楄〃 + */ + public void bindRoom(String homeId, List<String> deviceIds,List<String> roomIds, IResponseCallBack<String> callBack) { + HDLPMDeviceController.getInstance().bindRoom( homeId, deviceIds, roomIds, callBack); + } + + + + /** + * 鑾峰彇甯歌闂鍒楄〃 + * + * @param languageType 0:涓枃 1:鑻辨枃,鍙敤鍊�:CHINESE,ENGLISH + * @param pageNo 褰撳墠椤� + * @param pageSize 椤甸潰澶у皬 + * @param question 闂 + * @param callBack + * @return + */ + public void getQuestionList(String languageType, String question, String pageNo, String pageSize, IResponseCallBack<QuestionListInfo> callBack) { + HDLPMDeviceController.getInstance().getQuestionList(languageType, question, pageNo, pageSize, callBack); + } +} -- Gitblit v1.8.0