From faf721a9b17f3f5eee1176fc0d995d44092a0a89 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 16 Oct 2016 19:30:00 +0200 Subject: [PATCH] handle gif and video thumbnails too --- .../filemanager/adapters/ItemsAdapter.kt | 6 ++++-- .../filepicker/models/FileDirItem.kt | 12 ++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt index 5ec363a2..ee75ffb7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -50,8 +50,8 @@ class ItemsAdapter(context: Context, private val mItems: List) : 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) : 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) 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 0210426f..c4fbeb24 100644 --- a/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt +++ b/library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt @@ -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()