Skip to content

Commit faf721a

Browse files
committed
handle gif and video thumbnails too
1 parent 81a4dd0 commit faf721a

File tree

2 files changed

+8
-10
lines changed
  • app/src/main/kotlin/com/simplemobiletools/filemanager/adapters
  • library/src/main/kotlin/com/simplemobiletools/filepicker/models

2 files changed

+8
-10
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
5050
viewHolder.icon.setImageBitmap(mDirectoryBmp)
5151
viewHolder.details.text = getChildrenCnt(item)
5252
} else {
53-
if (item.isImage()) {
54-
Glide.with(mContext).load(item.path).diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().crossFade().into(viewHolder.icon)
53+
if (item.isImage() || item.isVideo()) {
54+
Glide.with(mContext).load(item.path).diskCacheStrategy(getCacheStrategy(item)).centerCrop().crossFade().into(viewHolder.icon)
5555
} else {
5656
viewHolder.icon.setImageBitmap(mFileBmp)
5757
}
@@ -61,6 +61,8 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
6161
return view
6262
}
6363

64+
private fun getCacheStrategy(item: FileDirItem) = if (item.isGif()) DiskCacheStrategy.NONE else DiskCacheStrategy.RESULT
65+
6466
private fun getChildrenCnt(item: FileDirItem): String {
6567
val children = item.children
6668
return mRes.getQuantityString(R.plurals.items, children, children)

library/src/main/kotlin/com/simplemobiletools/filepicker/models/FileDirItem.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,17 @@ class FileDirItem(val path: String, val name: String, val isDirectory: Boolean,
2222
return "FileDirItem{name=$name, isDirectory=$isDirectory, path=$path, children=$children, size=$size}"
2323
}
2424

25+
fun isGif() = name.toLowerCase().endsWith(".gif")
26+
fun isVideo() = getMimeType().startsWith("video")
27+
fun isAudio() = getMimeType().startsWith("audio")
28+
2529
fun isImage(): Boolean {
2630
val options = BitmapFactory.Options()
2731
options.inJustDecodeBounds = true
2832
BitmapFactory.decodeFile(path, options)
2933
return options.outWidth != -1 && options.outHeight != -1
3034
}
3135

32-
fun isVideo(): Boolean {
33-
return getMimeType().startsWith("video")
34-
}
35-
36-
fun isAudio(): Boolean {
37-
return getMimeType().startsWith("audio")
38-
}
39-
4036
fun getMimeType(): String {
4137
try {
4238
val retriever = MediaMetadataRetriever()

0 commit comments

Comments
 (0)