New file |
| | |
| | | package com.hdl.linkpm.sdk.device.controller; |
| | | |
| | | 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.home.bean.QuestionListInfo; |
| | | import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils; |
| | | import com.hdl.linkpm.sdk.utils.HDLGsonUtils; |
| | | |
| | | import java.util.List; |
| | | |
| | | import io.reactivex.rxjava3.disposables.Disposable; |
| | | |
| | | /** |
| | | * Created by jlchen on 12/3/21. |
| | | * 设备相关的网络请求 |
| | | */ |
| | | public class HDLPMDeviceController { |
| | | /** |
| | | * instance |
| | | */ |
| | | private volatile static HDLPMDeviceController instance; |
| | | |
| | | /** |
| | | * getInstance |
| | | * |
| | | * @return HDLDeviceController |
| | | */ |
| | | public static synchronized HDLPMDeviceController getInstance() { |
| | | if (instance == null) { |
| | | synchronized (HDLPMDeviceController.class) { |
| | | if (instance == null) { |
| | | instance = new HDLPMDeviceController(); |
| | | } |
| | | } |
| | | } |
| | | return instance; |
| | | } |
| | | |
| | | /***************4.设备、功能增删改查管理***************/ |
| | | /** |
| | | * 设备基本信息列表(oid)全量添加 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param oidDeviceList 最新的设备Oid列表 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable fullAddDeviceOidList(String homeId, List<DeviceOidInfoBean> oidDeviceList, IDefaultCallBack callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.add("devices", HDLGsonUtils.toJsonArray(oidDeviceList)); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_OID_LIST_FULL_ADD); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 设备基本信息列表(oid)获取 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getDeviceOidList(String homeId, IResponseCallBack<List<DeviceOidInfoBean>> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_OID_LIST_GET); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<List<DeviceOidInfoBean>>() { |
| | | @Override |
| | | public void onResponse(List<DeviceOidInfoBean> response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 设备基本信息(oid)删除 |
| | | * 删除设备或者从网关等oid |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param oid 设备的oid |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable removeDeviceOid(String homeId, String oid, IDefaultCallBack callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("oid", oid); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_OID_REMOVE); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设备(功能)全量更新 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param gatewayId 网关Id |
| | | * @param functionList 最新的功能列表 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable fullAddFunctionList(String homeId, String gatewayId, List<FunctionInfoBaseBean> functionList, IDefaultCallBack callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("gatewayId", gatewayId); |
| | | json.add("devices", HDLGsonUtils.toJsonArray(functionList)); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_FUNCTION_LIST_FULL_ADD); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取产品分类树 |
| | | * |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getCategoryList(IResponseCallBack<List<CategoryInfo>> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_CATEGORY_LIST_ALLTREE); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<List<CategoryInfo>>() { |
| | | @Override |
| | | public void onResponse(List<CategoryInfo> response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取网关列表 |
| | | * |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getGatewayList(String homeId, IResponseCallBack<List<GatewayCloudBean>> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_LIST); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<List<GatewayCloudBean>>() { |
| | | @Override |
| | | public void onResponse(List<GatewayCloudBean> response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取类目下设备列表 |
| | | * |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getCategoryListByName(String productName, IResponseCallBack<List<ProductInfo>> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("productName", productName); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_CATEGORY_DEVICE_LIST); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<List<ProductInfo>>() { |
| | | @Override |
| | | public void onResponse(List<ProductInfo> response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取类目下设备列表 |
| | | * |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getCategoryListByCode(String categorySecondCode, IResponseCallBack<List<ProductInfo>> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("categorySecondCode", categorySecondCode); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_CATEGORY_DEVICE_LIST); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<List<ProductInfo>>() { |
| | | @Override |
| | | public void onResponse(List<ProductInfo> response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 设备(功能)列表获取 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param gatewayId 网关Id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getFunctionList(String homeId, String gatewayId, IResponseCallBack<FunctionInfoListBean> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("gatewayId", gatewayId); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_FUNCTION_LIST_GET); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<FunctionInfoListBean>() { |
| | | @Override |
| | | public void onResponse(FunctionInfoListBean response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 设备(功能)删除,支持批量 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param gatewayId 网关Id |
| | | * @param devices 云端设备ID集合 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable batchDeleteFunctionList(String homeId, String gatewayId, List<String> devices, IDefaultCallBack callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("gatewayId", gatewayId); |
| | | json.add("devices", HDLGsonUtils.toJsonArray(devices)); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_FUNCTION_BATCH_DELETE); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 控制设备 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param gatewayId 网关Id |
| | | * @param actions 动作 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable controlFunction(String homeId, String gatewayId, List<FunctionActionBean> actions, IDefaultCallBack callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("gatewayId", gatewayId); |
| | | json.add("actions", HDLGsonUtils.toJsonArray(actions)); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_FUNCTION_CONTROL); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取常见问题列表 |
| | | * |
| | | * @param languageType 0:中文 1:英文,可用值:CHINESE,ENGLISH |
| | | * @param pageNo 当前页 |
| | | * @param pageSize 页面大小 |
| | | * @param question 问题 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public Disposable getQuestionList(String languageType, String question, String pageNo, String pageSize, IResponseCallBack<QuestionListInfo> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("zoneType", languageType); |
| | | json.addProperty("question", question); |
| | | json.addProperty("pageNo", pageNo); |
| | | json.addProperty("pageSize", pageSize); |
| | | json.addProperty("softwareType", "DEBUGGING_TREASURE"); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_QUESTION_GET_LIST); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<QuestionListInfo>() { |
| | | @Override |
| | | public void onResponse(QuestionListInfo response) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(response); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 绑定毫米波设备 |
| | | * |
| | | * @param homeId 住宅Id |
| | | * @param name 设备名称 |
| | | * @param apk 产品spk |
| | | * @param oid 设备oid |
| | | * @param mac 设备mac |
| | | * @param sid 设备sid |
| | | * @param uidList 房间uid列表 |
| | | * @param callBack 回调 |
| | | * @return - |
| | | */ |
| | | public Disposable bindMillimeterDevice(String homeId, String name, String apk, String oid, String mac, String sid, List<String> uidList, IResponseCallBack<String> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("name", name); |
| | | json.addProperty("spk", apk); |
| | | json.addProperty("oid", oid); |
| | | json.addProperty("mac", mac); |
| | | json.addProperty("sid", sid); |
| | | if(uidList!=null) { |
| | | json.add("uids", HDLGsonUtils.toJsonArray(uidList)); |
| | | } |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_INDEPENDENT_REGISTER); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String str) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(str); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 解绑毫米波设备 |
| | | * |
| | | * @param homeId 住宅Id |
| | | * @param spk 产品spk |
| | | * @param mac 设备mac |
| | | * @param callBack 回调 |
| | | * @return - |
| | | */ |
| | | public Disposable unBindMillimeterDevice(String homeId, String spk, String mac, IResponseCallBack<String> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("spk", spk); |
| | | json.addProperty("mac", mac); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_INDEPENDENT_UNBIND); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String str) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(str); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取link功能列表 |
| | | * |
| | | * @param homeId 住宅Id |
| | | * @param spk spk(指定获取单个功能) |
| | | * @param callBack 回调 |
| | | * @return - |
| | | */ |
| | | public Disposable getDeviceList(String homeId, String spk, IResponseCallBack<FunctionInfoListBean> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | if(!TextUtils.isEmpty(spk)) { |
| | | json.addProperty("spk", spk); |
| | | } |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_FUNCTION_LIST_GET); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<FunctionInfoListBean>() { |
| | | @Override |
| | | public void onResponse(FunctionInfoListBean functionInfoListBean) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(functionInfoListBean); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取毫米波(获取设备远程通讯信息) |
| | | * |
| | | * @param homeId 住宅Id |
| | | * @param spk spk |
| | | * @param mac 设备mac |
| | | * @param callBack 回调 |
| | | * @return - |
| | | */ |
| | | public Disposable getDeviceRemoteInfo(String homeId, String spk,String mac, IResponseCallBack<String> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("spk", spk); |
| | | json.addProperty("mac", mac); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_REMOTEINFO_GET); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String str) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(str); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设备(功能)修改备注 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param deviceId 设备Id |
| | | * @param name 设备名称 |
| | | * @return callBack |
| | | */ |
| | | public Disposable rename(String homeId, long deviceId,String name, IResponseCallBack<String> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("deviceId", deviceId); |
| | | json.addProperty("name", name); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_RENAME); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String string) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(string); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设备(功能)绑定房间 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param deviceIds 设备id列表 |
| | | * @param roomIds 房间id列表 |
| | | * @return callBack |
| | | */ |
| | | public Disposable bindRoom(String homeId, List<String> deviceIds,List<String> roomIds, IResponseCallBack<String> callBack) { |
| | | JsonObject json = new JsonObject(); |
| | | JsonArray deviceIdsArray=new JsonArray(); |
| | | JsonArray roomIdsArray=new JsonArray(); |
| | | for (int i = 0; i < deviceIds.size(); i++) { |
| | | deviceIdsArray.add(deviceIdsArray.get(i)); |
| | | } |
| | | for (int i = 0; i < roomIds.size(); i++) { |
| | | roomIdsArray.add(roomIdsArray.get(i)); |
| | | } |
| | | json.addProperty("homeId", homeId); |
| | | json.add("deviceIds", deviceIdsArray); |
| | | json.add("roomIds", roomIdsArray); |
| | | String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_BINDROOM); |
| | | return HxHttp.builder() |
| | | .url(requestUrl) |
| | | .raw(json.toString()) |
| | | .build() |
| | | .post() |
| | | .subscribeWith(new HDLResponse<String>() { |
| | | @Override |
| | | public void onResponse(String string) { |
| | | if (callBack != null) { |
| | | callBack.onSuccess(string); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HDLExceptionSubmitUtils.submit(requestUrl,json,e); |
| | | if (callBack != null) { |
| | | callBack.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |