OTA升级管理器
class OTAUpgradeManger
描述: 升级管理类
class OTAUpgradeManger private constructor() : IOTAUpgradeManager {
/**
*使用键和值检查响应 bean hashmap
*/
val mutableMap = ObservableMap<String, CheckResponseBean.Data>()
/**
* OTA应用地图
*/
val mutableAppMap = ObservableMap<String, CheckResponseBean.Data>()
/**
* TFC 卡片响应bean 存储
*/
var mTFCardMutableMap = ObservableMap<String, CheckResponseBean.Data>()
/**
* OTA版本状态
*/
val mutableNewOTAVersion = MutableLiveData<Boolean>()
/**
* 新应用版本状态
*/
val mutableNewAppVersion = MutableLiveData<Boolean>()
/**
* 产品信息哈希图
*/
var productInfoMap: MutableMap<String, RegisterProductBean> = mutableMapOf()
/**
* 固件对话框显示状态
*/
var isFirmwareDialogShowing = MutableLiveData<Boolean>()
/**
* 应用程序对话框显示状态
*/
var isAppDialogShowing = MutableLiveData<Boolean>()
/**
* 传入升级标志
*/
var isInUpgrade: Boolean = false
/**
* gnd升级管理器
*/
var mGndUpgradeManger: UpgradeManger = UpgradeManger().init(UpgradeClientTypeEnum.CLIENT_TYPE_GND)
/**
* 无人机版本持有人实时数据
*/
private val mDroneVersionLiveData = MutableLiveData<String>()
/**
* 应用类型
*/
var mAppType : String = "Enterprise"
/**
* 无人机类型
*/
var mDroneType : String = "ModelX"
/**
* 遥控型
*/
var mRemoteType : String = "RC79"
}
method initProductType
fun initProductType(appType : String, droneType : String, remoteType : String)
描述: 使用所有默认值初始化产品类型
输入参数: appType:应用程序类型 droneType:无人机类型 remoteType:远程类型
输出参数: 无。
相关参数: 无。
method getUpgradeManger
fun getUpgradeManger(clientType: UpgradeClientTypeEnum): UpgradeManger
描述: 获取升级 OTA 的客户端类型
输入参数: clientType:传递客户端时间升级类型
输出参数: 使用客户端匹配升级管理器对象
相关参数: 无。
method detectRemoteVersionInfo
fun detectRemoteVersionInfo()
描述: 使用第一个远程设备状态设置检测远程信息
输入参数: 无。
输出参数: 无。
相关参数: 无。
method updateDroneVersion
fun updateDroneVersion(version: String)
描述: 更新无人机版本
输入参数: version:无人机版
输出参数: 无。
相关参数: 无。
method detectRemoteUpdateInfo
fun detectRemoteUpdateInfo()
描述: 检测应用程序更新信息状态设置
输入参数: 无。
输出参数: 无。
相关参数: 无。
method waitDroneVersion
suspend fun waitDroneVersion(): String?
描述: 无人机版本返回暂停功能
输入参数: 无。
输出参数: 无人机版本回归
相关参数: 无。
method observeDroneVersion
private fun observeDroneVersion(observer: Observer<String>)
描述: 添加观察者
输入参数: observer:无人机版观察
输出参数: 无。
相关参数: 无。
method removeObserver
private fun removeObserver(observer: Observer<String>)
描述: 移除观察者
输入参数: observer:无人机版观察
输出参数: 无。
相关参数: 没有任何。
method detectAppUpdateInfo
fun detectAppUpdateInfo()
描述: 删除应用更新信息
输入参数: 无。
输出参数: 无。
相关参数: 没有任何。
method checkProducts
private fun checkProducts(pkg_ver: String, product_model: String, product_sn: String)
描述: 用一些数据检查产品
输入参数: pkg_ver: 包版本 product_model:产品型号数据 product_sn:产品序列号
输出参数: 无。
相关参数: 没有任何。
method checkProducts
fun checkProducts(checkProsRequestBean: CheckProsRequestBean)
描述: 使用请求模型检查产品
输入参数: checkProsRequestBean:产品请求模型
输出参数: 无。
相关参数: 没有任何。
method notifyUpdateNotAvailable
fun notifyUpdateNotAvailable()
描述:通知更新不可用
输入参数: 无。
输出参数: 无。
相关参数: 没有任何。
method notifyUpdateAvailable
fun notifyUpdateAvailable()
描述: 通知更新可用
输入参数: 无。
输出参数: 无。
相关参数: 没有任何。
method downloadFile
fun downloadFile(url: String, fileName: String, downloadCallback: FileTransmitListener<File>): S3DownloadInterceptor
描述: 从 url 下载文件
输入参数: url:该特定文件的 url fileName:要下载的文件名 downloadCallback:通过对象下载回调
输出参数: 下载异常返回
相关参数: 没有任何。
method downloadAppFile
fun downloadAppFile(url: String, fileName: String, downloadCallback: FileTransmitListener<File>): S3DownloadInterceptor
描述: 从 url 下载应用程序文件
输入参数: url:该特定文件的 url fileName:要下载的文件名 downloadCallback:通过对象下载回调
输出参数: 无。
相关参数: 没有任何。
/**
* OTA软件检测监听器
*/
interface OTASoftwareDetect {
/**
* 新的软件检测方法
* @param displayNewSoftware 布尔数据传递 true/false
*/
fun onNewSoftwareDetected(displayNewSoftware: Boolean)
}