Skip to content

Commit

Permalink
feat/add factory method for FileInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
sherlockvn committed Oct 17, 2023
1 parent 7b85a14 commit 670f3c8
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions lib/src/utils/models/file_info.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@

import 'dart:typed_data';

import 'package:equatable/equatable.dart';
import 'package:matrix/matrix.dart';
import 'package:mime/mime.dart';

class FileInfo with EquatableMixin {
Expand All @@ -23,6 +26,30 @@ class FileInfo with EquatableMixin {
'mimetype': mimeType,
'size': fileSize,
});


FileInfo fromMatrixFile(MatrixFile file) {
if (file.msgType == MessageTypes.Image) {
return ImageFileInfo(
fileName,
filePath,
fileSize,
width: file.info['w'],
height: file.info['h'],
);
} else if (file.msgType == MessageTypes.Video) {
return VideoFileInfo(
fileName,
filePath,
fileSize,
imagePlaceholderBytes: file.bytes ?? Uint8List(0),
width: file.info['w'],
height: file.info['h'],
duration: file.info['duration'],
);
}
return FileInfo(fileName, filePath, fileSize, readStream: readStream);
}

@override
List<Object?> get props => [fileName, filePath, fileSize, readStream];
Expand Down

0 comments on commit 670f3c8

Please sign in to comment.