Skip to main content

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