Skip to content

Commit

Permalink
TW-2215 Fix generate thumbnail error
Browse files Browse the repository at this point in the history
  • Loading branch information
hoangdat committed Feb 11, 2025
1 parent a7e2b24 commit 0d6ce46
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions lib/presentation/extensions/send_file_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,19 +85,24 @@ extension SendFileExtension on Room {

final tempDir = await getTemporaryDirectory();

Logs().d(
'sendFileEventMobile::File Path: ${fileInfo.filePath} - mimeType: ${fileInfo.mimeType}');
if (TwakeMimeTypeExtension.heicMimeTypes.contains(fileInfo.mimeType) &&
fileInfo is ImageFileInfo) {
try {
final oldFilePath = fileInfo.filePath;
fileInfo = await convertHeicToJpgImage(fileInfo);
File(oldFilePath).delete();
} catch (e) {
Logs().e('sendFileEvent::Error while converting heic to jpg', e);
Logs().e('sendFileEventMobile::Error while converting heic to jpg', e);
}

final formattedDateTime = DateTime.now().getFormattedCurrentDateTime();
final fileName = _generateThumbnailFileName(formattedDateTime, fileInfo);
final targetPath = await _createThumbnailFile(tempDir, fileName);
Logs().d(
'sendFileEventMobile::Thumbnail target File Path: ${targetPath.path} - file name: $fileName',
);
await _generateThumbnail(
fileInfo as ImageFileInfo,
targetPath: targetPath.path,
Expand All @@ -119,12 +124,12 @@ extension SendFileExtension on Room {
.create();
File? tempThumbnailFile;
File? tempEncryptedThumbnailFile;
if (thumbnail != null) {
if (msgType == MessageTypes.Image || msgType == MessageTypes.Video) {
tempThumbnailFile = await File(
'${tempDir.path}/$formattedDateTime${fileInfo.fileName}_thumbnail.jpg',
'${tempDir.path}/${formattedDateTime}_${fileInfo.fileName}_thumbnail.jpg',
).create();
tempEncryptedThumbnailFile = await File(
'${tempDir.path}/$formattedDateTime${fileInfo.fileName}_encrypted_thumbnail',
'${tempDir.path}/${formattedDateTime}_${fileInfo.fileName}_encrypted_thumbnail',
).create();
}

Expand Down Expand Up @@ -625,6 +630,8 @@ extension SendFileExtension on Room {
required StreamController<Either<Failure, Success>>? uploadStreamController,
}) async {
try {
Logs().d(
'SendFileExtension::_generateThumbnail originalFile: ${originalFile.filePath} - targetPath: $targetPath');
uploadStreamController?.add(const Right(GeneratingThumbnailState()));

final result = await FlutterImageCompress.compressAndGetFile(
Expand Down

0 comments on commit 0d6ce46

Please sign in to comment.