New file |
| | |
| | | package com.hdl.linkpm.sdk.ota; |
| | | |
| | | import com.google.gson.JsonObject; |
| | | import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack; |
| | | import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; |
| | | import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.DeviceFirmwareBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.DownloadUrlBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.FirmwareBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.GatewayDriverBean; |
| | | import com.hdl.linkpm.sdk.ota.controller.HDLPMOtaController; |
| | | |
| | | import java.util.List; |
| | | |
| | | import io.reactivex.rxjava3.disposables.Disposable; |
| | | import okhttp3.ResponseBody; |
| | | |
| | | |
| | | /** |
| | | * Created by jlchen on 12/17/21. |
| | | * OTA 网关、设备固件查询和下载相关管理 |
| | | */ |
| | | public class HDLLinkPMOta { |
| | | |
| | | //instance |
| | | private volatile static HDLLinkPMOta instance; |
| | | |
| | | /** |
| | | * getInstance |
| | | * |
| | | * @return HDLLinkPMOta |
| | | */ |
| | | public static synchronized HDLLinkPMOta getInstance() { |
| | | if (instance == null) { |
| | | synchronized (HDLLinkPMOta.class) { |
| | | if (instance == null) { |
| | | instance = new HDLLinkPMOta(); |
| | | } |
| | | } |
| | | } |
| | | return instance; |
| | | } |
| | | |
| | | /** |
| | | * 原生设备获取固件升级包下载地址 |
| | | * |
| | | * @param firmwareVersionId 固件版本Id |
| | | * @return |
| | | */ |
| | | public void getNativeDeviceFirmwareDownloadUrl(String firmwareVersionId, IResponseCallBack<DownloadUrlBean> callBack) { |
| | | HDLPMOtaController.getInstance().getNativeDeviceFirmwareDownloadUrl(firmwareVersionId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * Link设备驱动列表获取 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param oid 网关设备oid |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getGatewayDrivers(String homeId, String oid, IResponseCallBack<List<GatewayDriverBean>> callBack) { |
| | | HDLPMOtaController.getInstance().getGatewayDrivers(homeId, oid, callBack); |
| | | } |
| | | /** |
| | | * Link网关驱动->获取存储在云端的驱动分页列表 |
| | | * |
| | | * @param driveCode 驱动编号或驱动名称 |
| | | * @param osImageId 驱动类型id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getCloudGatewayDrivers(String driveCode, String osImageId, IResponseCallBack<CloudGatewayDriversBean> callBack) { |
| | | HDLPMOtaController.getInstance().getCloudGatewayDrivers(driveCode, osImageId, callBack); |
| | | } |
| | | /** |
| | | * Link网关驱动升级OTA命令下发 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param oid 网关设备oid |
| | | * @param driverVersionId 驱动版本id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void upgradeGatewayDriver(String homeId, String oid, String driverVersionId, IDefaultCallBack callBack) { |
| | | HDLPMOtaController.getInstance().upgradeGatewayDriver(homeId, oid, driverVersionId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 获取IARCC三方固件分页 |
| | | * @param json 请求数据 |
| | | * @param callBack 回调 |
| | | * @return |
| | | */ |
| | | public void getACIARCCFirmware(String json, IResponseCallBack<List<FirmwareBean>> callBack) { |
| | | HDLPMOtaController.getInstance().getACIARCCFirmware(json, callBack); |
| | | } |
| | | /** |
| | | * 获取IARCC三方固件分类 |
| | | * @param json 请求数据 |
| | | * @param callBack 回调 |
| | | * @return |
| | | */ |
| | | public void getACIARCCFirmwareList(String json, IResponseCallBack<List<FirmwareBean>> callBack) { |
| | | HDLPMOtaController.getInstance().getACIARCCFirmwareList(json, callBack); |
| | | } |
| | | /** |
| | | * 下载IARCC固件 |
| | | * @param requestUrl 请求地址 |
| | | * @param callBack 回调 |
| | | * @return |
| | | */ |
| | | public void downloadCloudACIARCCFirmware(String requestUrl, IResponseCallBack<ResponseBody> callBack) { |
| | | HDLPMOtaController.getInstance().downloadCloudACIARCCFirmware(requestUrl, callBack); |
| | | } |
| | | /** |
| | | * LINK设备获取驱动升级包下载地址 |
| | | * |
| | | * @param driverVersionId 驱动版本Id |
| | | * @return |
| | | */ |
| | | public void getLinkDeviceDriverDownloadUrl(String driverVersionId, IResponseCallBack<DownloadUrlBean> callBack) { |
| | | HDLPMOtaController.getInstance().getLinkDeviceDriverDownloadUrl(driverVersionId, callBack); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取设备固件列表获取 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param deviceOidId oid云端id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getDeviceFirmwares(String homeId, String deviceOidId, IResponseCallBack<List<DeviceFirmwareBean>> callBack) { |
| | | HDLPMOtaController.getInstance().getDeviceFirmwares(homeId, deviceOidId, callBack); |
| | | } |
| | | /** |
| | | /** |
| | | * 获取设备固件列表获取->获取存储在云端的固件分页列表 |
| | | * |
| | | * @param hardwareModel 硬件型号 |
| | | * @param osImageId 系统镜像id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getCloudDeviceFirmwares(String hardwareModel, String osImageId, IResponseCallBack<List<CloudDeviceFirmwaresBean>> callBack) { |
| | | HDLPMOtaController.getInstance().getCloudDeviceFirmwares(hardwareModel, osImageId, callBack); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Link设备固件升级OTA命令下发 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param deviceOidId 设备id |
| | | * @param firmwareVersionId 固件版本id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void upgradeDeviceFirmware(String homeId, String deviceOidId, String firmwareVersionId, IDefaultCallBack callBack) { |
| | | HDLPMOtaController.getInstance().upgradeDeviceFirmware(homeId, deviceOidId, firmwareVersionId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * LINK设备获取固件升级包下载地址 |
| | | * |
| | | * @param firmwareVersionId 固件版本Id |
| | | * @return |
| | | */ |
| | | public void getLinkDeviceFirmwareDownloadUrl(String firmwareVersionId, IResponseCallBack<DownloadUrlBean> callBack) { |
| | | HDLPMOtaController.getInstance().getLinkDeviceFirmwareDownloadUrl(firmwareVersionId, callBack); |
| | | } |
| | | |
| | | } |