handle gif and video thumbnails too

This commit is contained in:
tibbi 2016-10-16 19:30:00 +02:00
parent 81a4dd0621
commit faf721a9b1
2 changed files with 8 additions and 10 deletions

View File

@ -50,8 +50,8 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
viewHolder.icon.setImageBitmap(mDirectoryBmp)
viewHolder.details.text = getChildrenCnt(item)
} else {
if (item.isImage()) {
Glide.with(mContext).load(item.path).diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().crossFade().into(viewHolder.icon)
if (item.isImage() || item.isVideo()) {
Glide.with(mContext).load(item.path).diskCacheStrategy(getCacheStrategy(item)).centerCrop().crossFade().into(viewHolder.icon)
} else {
viewHolder.icon.setImageBitmap(mFileBmp)
}
@ -61,6 +61,8 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
return view
}
private fun getCacheStrategy(item: FileDirItem) = if (item.isGif()) DiskCacheStrategy.NONE else DiskCacheStrategy.RESULT
private fun getChildrenCnt(item: FileDirItem): String {
val children = item.children
return mRes.getQuantityString(R.plurals.items, children, children)

View File

@ -22,6 +22,10 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean,
return "FileDirItem{name=$name, isDirectory=$isDirectory, path=$path, children=$children, size=$size}"
}
fun isGif() = name.toLowerCase().endsWith(".gif")
fun isVideo() = getMimeType().startsWith("video")
fun isAudio() = getMimeType().startsWith("audio")
fun isImage(): Boolean {
val options = BitmapFactory.Options()
options.inJustDecodeBounds = true
@ -29,14 +33,6 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean,
return options.outWidth != -1 && options.outHeight != -1
}
fun isVideo(): Boolean {
return getMimeType().startsWith("video")
}
fun isAudio(): Boolean {
return getMimeType().startsWith("audio")
}
fun getMimeType(): String {
try {
val retriever = MediaMetadataRetriever()