TF-523: open composer and open file

This commit is contained in:
ManhNTX
2022-10-05 07:11:22 +07:00
committed by Dat H. Pham
parent cde7fe8fb4
commit be0f20b2cd
@@ -950,41 +950,74 @@ class ComposerController extends BaseController {
} }
} }
List<InlineImage> covertListSharedMediaFileToFile(List<SharedMediaFile> value) { File _covertSharedMediaFileToFile(SharedMediaFile sharedMediaFile) {
return File(
Platform.isIOS
? sharedMediaFile.type == SharedMediaType.FILE
? sharedMediaFile.path.toString().replaceAll('file:/', '')
: sharedMediaFile.path
: sharedMediaFile.path,
);
}
FileInfo _covertFileToFileInfo(File file) {
return FileInfo(
file.path.split('/').last,
file.path,
file.existsSync() ? file.lengthSync() : 0,
);
}
List<InlineImage> covertListSharedMediaFileToInlineImage(List<SharedMediaFile> value) {
List<File> newFiles = List.empty(growable: true); List<File> newFiles = List.empty(growable: true);
if (value.isNotEmpty) { if (value.isNotEmpty) {
for (var element in value) { for (var element in value) {
newFiles.add(File( newFiles.add(_covertSharedMediaFileToFile(element));
Platform.isIOS
? element.type == SharedMediaType.FILE
? element.path.toString().replaceAll('file:/', '')
: element.path
: element.path,
));
} }
} }
final List<InlineImage> listInlineImage = newFiles.map( final List<InlineImage> listInlineImage = newFiles.map(
(e) => InlineImage( (e) => InlineImage(
ImageSource.local, ImageSource.local,
fileInfo: FileInfo( fileInfo: _covertFileToFileInfo(e),
e.path.split('/').last,
e.path,
e.existsSync() ? e.lengthSync() : 0,
)
) )
).toList(); ).toList();
return listInlineImage; return listInlineImage;
} }
void _getEmailContentAction(ComposerArguments arguments) async { List<FileInfo> covertListSharedMediaFileToFileInfo(List<SharedMediaFile> value) {
if(arguments.listSharedMediaFile != null && arguments.listSharedMediaFile!.isNotEmpty){ List<File> newFiles = List.empty(growable: true);
final listInlineImage = covertListSharedMediaFileToFile(arguments.listSharedMediaFile!); if (value.isNotEmpty) {
for (var e in listInlineImage) { for (var element in value) {
_uploadInlineAttachmentsAction(e.fileInfo!); newFiles.add(_covertSharedMediaFileToFile(element));
} }
} }
if(arguments.emailContents != null && arguments.emailContents!.isNotEmpty){
final List<FileInfo> listFileInfo = newFiles.map(
(e) => _covertFileToFileInfo(e),
).toList();
return listFileInfo;
}
void _getEmailContentAction(ComposerArguments arguments) async {
final listSharedMediaFile = arguments.listSharedMediaFile;
if(listSharedMediaFile != null && listSharedMediaFile.isNotEmpty) {
final listImageSharedMediaFile = listSharedMediaFile.where((element) => element.type == SharedMediaType.IMAGE);
final listFileAttachmentSharedMediaFile = listSharedMediaFile.where((element) => element.type != SharedMediaType.IMAGE);
if (listImageSharedMediaFile.isNotEmpty) {
final listInlineImage = covertListSharedMediaFileToInlineImage(arguments.listSharedMediaFile!);
for (var e in listInlineImage) {
_uploadInlineAttachmentsAction(e.fileInfo!);
}
}
if (listFileAttachmentSharedMediaFile.isNotEmpty) {
final listFile = covertListSharedMediaFileToFileInfo(arguments.listSharedMediaFile!);
_uploadAttachmentsAction(listFile);
}
}
if(arguments.emailContents != null && arguments.emailContents!.isNotEmpty) {
_emailContents = arguments.emailContents; _emailContents = arguments.emailContents;
emailContentsViewState.value = Right(GetEmailContentSuccess(_emailContents!,[],[])); emailContentsViewState.value = Right(GetEmailContentSuccess(_emailContents!,[],[]));
} else { } else {