info: hide default media dates
This commit is contained in:
parent
964c7211a1
commit
949befe9cc
3 changed files with 9 additions and 12 deletions
|
@ -31,12 +31,12 @@ import deckers.thibault.aves.metadata.ExifInterfaceHelper.describeAll
|
|||
import deckers.thibault.aves.metadata.ExifInterfaceHelper.getSafeDateMillis
|
||||
import deckers.thibault.aves.metadata.ExifInterfaceHelper.getSafeInt
|
||||
import deckers.thibault.aves.metadata.MediaMetadataRetrieverHelper
|
||||
import deckers.thibault.aves.metadata.MediaMetadataRetrieverHelper.getSafeDateMillis
|
||||
import deckers.thibault.aves.metadata.MediaMetadataRetrieverHelper.getSafeDescription
|
||||
import deckers.thibault.aves.metadata.MediaMetadataRetrieverHelper.getSafeInt
|
||||
import deckers.thibault.aves.metadata.Metadata
|
||||
import deckers.thibault.aves.metadata.Metadata.getRotationDegreesForExifCode
|
||||
import deckers.thibault.aves.metadata.Metadata.isFlippedForExifCode
|
||||
import deckers.thibault.aves.metadata.Metadata.parseVideoMetadataDate
|
||||
import deckers.thibault.aves.metadata.MetadataExtractorHelper.getSafeBoolean
|
||||
import deckers.thibault.aves.metadata.MetadataExtractorHelper.getSafeDateMillis
|
||||
import deckers.thibault.aves.metadata.MetadataExtractorHelper.getSafeDescription
|
||||
|
@ -317,15 +317,7 @@ class MetadataHandler(private val context: Context) : MethodCallHandler {
|
|||
val retriever = StorageUtils.openMetadataRetriever(context, uri) ?: return metadataMap
|
||||
try {
|
||||
retriever.getSafeInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION) { metadataMap[KEY_ROTATION_DEGREES] = it }
|
||||
|
||||
val dateString = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DATE)
|
||||
if (dateString != null) {
|
||||
val dateMillis = parseVideoMetadataDate(dateString)
|
||||
// some entries have an invalid default date (19040101T000000.000Z) that is before Epoch time
|
||||
if (dateMillis > 0) {
|
||||
metadataMap[KEY_DATE_MILLIS] = dateMillis
|
||||
}
|
||||
}
|
||||
retriever.getSafeDateMillis(MediaMetadataRetriever.METADATA_KEY_DATE) { metadataMap[KEY_DATE_MILLIS] = it }
|
||||
|
||||
val locationString = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_LOCATION)
|
||||
if (locationString != null) {
|
||||
|
|
|
@ -133,11 +133,16 @@ object MediaMetadataRetrieverHelper {
|
|||
else -> value
|
||||
}
|
||||
}
|
||||
// hide `0` values
|
||||
// hide default or invalid values
|
||||
MediaMetadataRetriever.METADATA_KEY_COMPILATION,
|
||||
MediaMetadataRetriever.METADATA_KEY_DISC_NUMBER,
|
||||
MediaMetadataRetriever.METADATA_KEY_YEAR -> if (value != "0") value else null
|
||||
MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER -> if (value != "0/0") value else null
|
||||
MediaMetadataRetriever.METADATA_KEY_DATE -> {
|
||||
val dateMillis = Metadata.parseVideoMetadataDate(value)
|
||||
// some entries have an invalid default date (19040101T000000.000Z) that is before Epoch time
|
||||
if (dateMillis > 0) value else null
|
||||
}
|
||||
// hide
|
||||
MediaMetadataRetriever.METADATA_KEY_LOCATION,
|
||||
MediaMetadataRetriever.METADATA_KEY_MIMETYPE -> null
|
||||
|
|
|
@ -62,7 +62,7 @@ object Metadata {
|
|||
}
|
||||
|
||||
val date: Date = try {
|
||||
val parser = SimpleDateFormat("yyyyMMdd'T'HHmmss", Locale.US)
|
||||
val parser = SimpleDateFormat("yyyyMMdd'T'HHmmss", Locale.ROOT)
|
||||
parser.timeZone = timeZone ?: TimeZone.getTimeZone("GMT")
|
||||
parser.parse(dateString)
|
||||
} catch (e: ParseException) {
|
||||
|
|
Loading…
Reference in a new issue