diff --git a/lib/services/files_service.dart b/lib/services/files_service.dart index caea7d7ae..22ca21037 100644 --- a/lib/services/files_service.dart +++ b/lib/services/files_service.dart @@ -44,10 +44,6 @@ class FilesService { List files, EditTimeSource source, ) async { - assert( - source == EditTimeSource.fileName, - "edit source ${source.name} is not supported yet", - ); final ListMatch result = files.splitMatch( (element) => element.isUploaded, ); @@ -55,11 +51,9 @@ class FilesService { // editTime For LocalFiles final List localOnlyFiles = result.unmatched; for (File localFile in localOnlyFiles) { - final timeResult = parseDateTimeFromFileNameV2( - basenameWithoutExtension(localFile.title ?? ""), - ); + final timeResult = _parseTime(localFile, source); if (timeResult != null) { - localFile.creationTime = timeResult.microsecondsSinceEpoch; + localFile.creationTime = timeResult; } } await _filesDB.insertMultiple(localOnlyFiles); @@ -73,13 +67,11 @@ class FilesService { fileIDToUpdateMetadata.containsKey(remoteFile.uploadedFileID)) { continue; } - final timeResult = parseDateTimeFromFileNameV2( - basenameWithoutExtension(remoteFile.title ?? ""), - ); + final timeResult = _parseTime(remoteFile, source); if (timeResult != null) { remoteFilesToUpdate.add(remoteFile); fileIDToUpdateMetadata[remoteFile.uploadedFileID!] = { - pubMagicKeyEditedTime: timeResult.microsecondsSinceEpoch, + pubMagicKeyEditedTime: timeResult!, }; } } @@ -91,6 +83,17 @@ class FilesService { ); } } + + int? _parseTime(File file, EditTimeSource source) { + assert( + source == EditTimeSource.fileName, + "edit source ${source.name} is not supported yet", + ); + final timeResult = parseDateTimeFromFileNameV2( + basenameWithoutExtension(file.title ?? ""), + ); + return timeResult?.microsecondsSinceEpoch; + } } enum EditTimeSource {