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);
|
}
|
|
}
|