fix some data consistency issues when fetching recycle bin items

This commit is contained in:
tibbi 2018-06-27 15:39:38 +02:00
parent ed8fa63ce8
commit e0f8d311ba
1 changed files with 23 additions and 18 deletions

View File

@ -211,25 +211,30 @@ class MediaFetcher(val context: Context) {
if (size <= 0L || (doExtraCheck && !file.exists())) if (size <= 0L || (doExtraCheck && !file.exists()))
continue continue
val lastModified = file.lastModified()
var dateTaken = lastModified
if (getProperDateTaken) {
dateTaken = dateTakens.remove(filename) ?: lastModified
}
val type = when {
isImage -> TYPE_IMAGES
isVideo -> TYPE_VIDEOS
isGif -> TYPE_GIFS
else -> TYPE_RAWS
}
val path = file.absolutePath val path = file.absolutePath
val isFavorite = favoritePaths.contains(path) if (folder == RECYCLE_BIN) {
val deletedTS = if (folder == RECYCLE_BIN) deletedMedia.firstOrNull { it.path == path }?.deletedTS ?: 0L else 0L deletedMedia.firstOrNull { it.path == path }?.apply {
val medium = Medium(null, filename, path, file.parent, lastModified, dateTaken, size, type, isFavorite, deletedTS) media.add(this)
media.add(medium) }
} else {
val lastModified = file.lastModified()
var dateTaken = lastModified
if (getProperDateTaken) {
dateTaken = dateTakens.remove(filename) ?: lastModified
}
val type = when {
isImage -> TYPE_IMAGES
isVideo -> TYPE_VIDEOS
isGif -> TYPE_GIFS
else -> TYPE_RAWS
}
val isFavorite = favoritePaths.contains(path)
val medium = Medium(null, filename, path, file.parent, lastModified, dateTaken, size, type, isFavorite, 0L)
media.add(medium)
}
} }
return media return media
} }