V2TimMessageDownloadElemParam constructor
V2TimMessageDownloadElemParam(- {required V2TimMessage message,
- int? imageType,
- bool? isSnapshot}
)
Implementation
V2TimMessageDownloadElemParam({
required this.message,
this.imageType,
this.isSnapshot,
}) {
fileUUID = '';
downloadType = _downloadImage;
downloadUrl = '';
switch (message.elemType) {
case MessageElemType.V2TIM_ELEM_TYPE_IMAGE:
int requiredType = imageType ?? V2TIM_IMAGE_TYPE.V2TIM_IMAGE_TYPE_ORIGIN;
for (V2TimImage? image in message.imageElem?.imageList ?? []) {
if (image?.type != null && image?.type == requiredType) {
fileUUID = '${requiredType}_${image?.uuid ?? ''}';
downloadType = _downloadImage;
downloadUrl = image?.url ?? '';
downloadElement = image;
break;
}
}
break;
case MessageElemType.V2TIM_ELEM_TYPE_VIDEO:
bool requiredSnapshot = isSnapshot ?? false;
if (requiredSnapshot) {
fileUUID = message.videoElem?.snapshotUUID ?? '';
downloadType = _downloadImage;
downloadUrl = message.videoElem?.snapshotUrl ?? '';
} else {
fileUUID = message.videoElem?.UUID ?? '';
downloadType = _downloadVideo;
downloadUrl = message.videoElem?.videoUrl ?? '';
}
downloadElement = message.videoElem;
break;
case MessageElemType.V2TIM_ELEM_TYPE_SOUND:
fileUUID = message.soundElem?.UUID ?? '';
downloadType = _downloadSound;
downloadUrl = message.soundElem?.url ?? '';
downloadElement = message.soundElem;
break;
case MessageElemType.V2TIM_ELEM_TYPE_FILE:
fileUUID = message.fileElem?.UUID ?? '';
downloadType = _downloadFile;
downloadUrl = message.fileElem?.url ?? '';
downloadElement = message.fileElem;
break;
default:
downloadElement = null;
print('invalid message type');
}
}