From 4b80fbd26b7d1463073845be1dc9df0d50e241c8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 16 Oct 2016 19:07:38 +0200 Subject: [PATCH] simplify some property getting --- .../filemanager/dialogs/PropertiesDialog.kt | 12 +++---- .../filepicker/models/FileDirItem.kt | 36 +++++++++---------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt index 1122eb8b..b7d8c57e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/PropertiesDialog.kt @@ -43,19 +43,19 @@ class PropertiesDialog : DialogFragment() { } else if (mItem.isImage()) { properties_resolution_label.visibility = View.VISIBLE properties_resolution.visibility = View.VISIBLE - properties_resolution.text = mItem.imageResolution - } else if (mItem.isAudio(context)) { + properties_resolution.text = mItem.getImageResolution() + } else if (mItem.isAudio()) { properties_duration_label.visibility = View.VISIBLE properties_duration.visibility = View.VISIBLE - properties_duration.text = mItem.getDuration(context) - } else if (mItem.isVideo(context)) { + properties_duration.text = mItem.getDuration() + } else if (mItem.isVideo()) { properties_duration_label.visibility = View.VISIBLE properties_duration.visibility = View.VISIBLE - properties_duration.text = mItem.getDuration(context) + properties_duration.text = mItem.getDuration() properties_resolution_label.visibility = View.VISIBLE properties_resolution.visibility = View.VISIBLE - properties_resolution.text = mItem.getVideoResolution(context) + properties_resolution.text = mItem.getVideoResolution() } val file = File(mItem.path) diff --git a/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt b/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt index 75114581..0210426f 100644 --- a/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt +++ b/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt @@ -1,11 +1,8 @@ package com.simplemobiletools.filepicker.models -import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactory import android.media.MediaMetadataRetriever -import android.net.Uri -import java.io.File import java.util.* class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, val children: Int, val size: Long) : @@ -32,18 +29,18 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, return options.outWidth != -1 && options.outHeight != -1 } - fun isVideo(context: Context): Boolean { - return getMimeType(context).startsWith("video") + fun isVideo(): Boolean { + return getMimeType().startsWith("video") } - fun isAudio(context: Context): Boolean { - return getMimeType(context).startsWith("audio") + fun isAudio(): Boolean { + return getMimeType().startsWith("audio") } - fun getMimeType(context: Context): String { + fun getMimeType(): String { try { val retriever = MediaMetadataRetriever() - retriever.setDataSource(context, Uri.fromFile(File(path))) + retriever.setDataSource(path) return retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE) } catch (ignored: Exception) { @@ -51,18 +48,18 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, return "" } - fun getDuration(context: Context): String { + fun getDuration(): String { val retriever = MediaMetadataRetriever() - retriever.setDataSource(context, Uri.fromFile(File(path))) + retriever.setDataSource(path) val time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION) val timeInMillisec = java.lang.Long.parseLong(time) return getFormattedDuration((timeInMillisec / 1000).toInt()) } - fun getVideoResolution(context: Context): String { + fun getVideoResolution(): String { try { val retriever = MediaMetadataRetriever() - retriever.setDataSource(context, Uri.fromFile(File(path))) + retriever.setDataSource(path) val width = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH) val height = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT) return "$width x $height" @@ -72,14 +69,13 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, return "" } - val imageResolution: String - get () { - val bitmap: Bitmap? = BitmapFactory.decodeFile(path) - if (bitmap == null) - return "" + fun getImageResolution(): String { + val bitmap: Bitmap? = BitmapFactory.decodeFile(path) + if (bitmap == null) + return "" - return "${bitmap.width} x ${bitmap.height}" - } + return "${bitmap.width} x ${bitmap.height}" + } private fun getFormattedDuration(duration: Int): String { val sb = StringBuilder(8)