SharedMedia: Fix handling of video media type
This commit is contained in:
parent
ccbcef0b6d
commit
be8019f338
|
@ -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 =
|
||||||
|
|
Loading…
Reference in a new issue