SharedMedia: Fix handling of video media type

This commit is contained in:
Neeraj Gupta 2021-09-20 17:33:34 +05:30
parent ccbcef0b6d
commit be8019f338
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1

View file

@ -49,26 +49,31 @@ Future<List<File>> convertIncomingSharedMediaToFile(
var enteFile = File(); var enteFile = File();
// fileName: img_x.jpg // fileName: img_x.jpg
enteFile.title = basename(media.path); enteFile.title = basename(media.path);
var ioFile = dartio.File(media.path); var ioFile = dartio.File(media.path);
ioFile = ioFile.renameSync(Configuration.instance.getSharedMediaCacheDirectory() + ioFile = ioFile.renameSync(
"/" + Configuration.instance.getSharedMediaCacheDirectory() +
enteFile.title); "/" +
enteFile.title);
enteFile.localID = kSharedMediaIdentifier + enteFile.title; enteFile.localID = kSharedMediaIdentifier + enteFile.title;
enteFile.collectionID = collectionID; enteFile.collectionID = collectionID;
enteFile.fileType = FileType.image; enteFile.fileType =
media.type == SharedMediaType.IMAGE ? FileType.image : FileType.video;
var exifMap = await readExifFromFile(ioFile); if (enteFile.fileType == FileType.image) {
if (exifMap != null && final exifMap = await readExifFromFile(ioFile);
exifMap["Image DateTime"] != null && if (exifMap != null &&
'0000:00:00 00:00:00' != exifMap["Image DateTime"].toString()) { exifMap["Image DateTime"] != null &&
try { '0000:00:00 00:00:00' != exifMap["Image DateTime"].toString()) {
final exifTime = try {
_exifDateFormat.parse(exifMap["Image DateTime"].toString()); final exifTime =
enteFile.creationTime = exifTime.microsecondsSinceEpoch; _exifDateFormat.parse(exifMap["Image DateTime"].toString());
} catch (e) { enteFile.creationTime = exifTime.microsecondsSinceEpoch;
//ignore } catch (e) {
//ignore
}
} }
} else if (enteFile.fileType == FileType.video) {
enteFile.duration = media.duration ?? 0;
} }
if (enteFile.creationTime == null || enteFile.creationTime == 0) { if (enteFile.creationTime == null || enteFile.creationTime == 0) {
final parsedDateTime = final parsedDateTime =