{IDO文件传输接口说明}
1.功能概述
提供传输单个/多个文件的能力,文件包括(固件包,图库包,字库包,语言包,BT升级包,表盘,通讯录,AGPS,GPS,消息图标,运动图标,EPO升级包,提示音文件,血压校准文件)。 提供获取文件传输进度,传输状态,当前文件传输类型能力。
2.接口能力
1.查询传输状态:
1.1 功能概括:
无
1.2 API ID:
bool get isTransmitting;
1.3 API参数说明:
@Param:isTransmitting 传输标志,false:空闲,true:传输中
2.查询当前传输中的文件类型:
2.1 功能概括:
无
2.2 API ID:
FileTransType? get transFileType;
2.3 API参数说明:
@Param:transFileType 文件类型
////TODO
3.监听当前上传的文件类型:
3.1 功能概括:
监听方法,文件开始传输、传输完成及失败都会回调此处。
3.2 API ID:
StreamSubscription listenTransFileTypeChanged(void Function(FileTransType? fileType) func);
3.3 API参数说明:
@Param:fileType 正在上传的文件类型,null表示无文件在上传。
////TODO
4.传输单个文件:
4.1 功能概括:
提供传输文件、获取文件传输状态、获取传输进度、获取传输错误码及取消传输单个文件的能力。
4.2 API ID:
Stream<bool> transferSingle(
{required BaseFileModel fileItem,
required CallbackFileTransStatusSingle funcStatus,
required CallbackFileTransProgressSingle funcProgress,
CallbackFileTransErrorCode? funError,
bool cancelPrevTranTask});
4.3 API参数说明:
4.3.1 @Param:fileItem 文件配置信息,包括:
class BaseFileModel{
final FileTransType fileType; /// 文件类型
final String filePath; /// 文件绝对地址
final String fileName; /// 文件名
int? fileSize; /// 文件大小
int? originalFileSize; /// 原始文件大小(压缩前),暂时只用于表盘
}
4.3.2 @Param:funcStatus 传输的状态,包括:
typedef CallbackFileTransStatusSingle = void Function(FileTransStatus status);
enum FileTransStatus {
none = 0,
invalid = 1, /// 无效类型
notExists = 2, /// 文件不存在
busy = 3, /// 存在传输任务
config = 4, /// 配置
beforeOpt = 5, /// 传输前操作
trans = 6, /// 传输中
finished = 7, /// 传输完成
onFastSynchronizing = 8, /// 快速配置中,不支持文件传输
error = 9, /// 传输失败
}
4.3.3 @Param:funcProgress 传输进度。
4.3.4 @Param:funError 传输错误码,包括:
typedef CallbackFileTransErrorCode = void Function(
int index, int errorCode, int errorCodeFromDevice, int finishingTime);
@Param:index 当前传输的文件索引。
@Param:errorCode C库返回的错误码。
@Param:errorCodeFromDevice 固件返回的错误码,当errorCode是24、25,该值等于errorCode。
@Param:finishingTime 固件预计整理时长,当errorCode是24、25的时候,才会返回值,其它情况都是0。
4.3.5 @Param:cancelPrevTranTask 取消存在的上传任务 默认为false。
5.传输多个文件:
5.1 功能概括:
提供传输多个文件、获取文件传输状态、获取传输进度、获取传输错误码及取消传输单个文件的能力。
5.2 API ID:
Stream<List<bool>> transferMultiple(
{required List<BaseFileModel> fileItems,
required CallbackFileTransStatusMultiple funcStatus,
required CallbackFileTransProgressMultiple funcProgress,
CallbackFileTransErrorCode? funError,
bool cancelPrevTranTask});
5.3 API参数说明:
5.3.1 @Param:fileItem 文件配置信息,包括:
class BaseFileModel{
final FileTransType fileType; /// 文件类型
final String filePath; /// 文件绝对地址
final String fileName; /// 文件名
int? fileSize; /// 文件大小
int? originalFileSize; /// 原始文件大小(压缩前),暂时只用于表盘
}
5.3.2 @Param:funcStatus 传输的状态,包括:
typedef CallbackFileTransStatusMultiple = void Function(int index, FileTransStatus status);
enum FileTransStatus {
none = 0,
invalid = 1, /// 无效类型
notExists = 2, /// 文件不存在
busy = 3, /// 存在传输任务
config = 4, /// 配置
beforeOpt = 5, /// 传输前操作
trans = 6, /// 传输中
finished = 7, /// 传输完成
onFastSynchronizing = 8, /// 快速配置中,不支持文件传输
error = 9, /// 传输失败
}
5.3.3 @Param:funcProgress 传输进度,包括:
typedef CallbackFileTransProgressMultiple = void Function(int currentIndex,
int totalCount, double currentProgress, double totalProgress);
@Param:currentIndex 当前传输的文件索引(0 ~ totalCount-1。
@Param:totalCount 要传的文件数(>= 1)。
@Param:currentProgress 当前文件传输进度(0 ~ 1.0)
@Param:totalProgress 总进度(0 ~ 1.0)
5.3.4 @Param:funError 传输错误码,包括:
typedef CallbackFileTransErrorCode = void Function(
int index, int errorCode, int errorCodeFromDevice, int finishingTime);
@Param:index 当前传输的文件索引。
@Param:errorCode C库返回的错误码。
@Param:errorCodeFromDevice 固件返回的错误码,当errorCode是24、25,该值等于errorCode。
@Param:finishingTime 固件预计整理时长,当errorCode是24、25的时候,才会返回值,其它情况都是0。