let Glide handle filetype and icon, to improve the scroll performance

This commit is contained in:
tibbi 2016-10-28 23:51:27 +02:00
parent 8f4dd6e282
commit 895ca43502
11 changed files with 2 additions and 12 deletions

View File

@ -2,7 +2,6 @@ package com.simplemobiletools.filemanager.adapters
import android.content.Context import android.content.Context
import android.content.res.Resources import android.content.res.Resources
import android.graphics.Bitmap
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -13,14 +12,11 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.extensions.formatSize import com.simplemobiletools.filemanager.extensions.formatSize
import com.simplemobiletools.filemanager.extensions.getColoredIcon
import com.simplemobiletools.filepicker.models.FileDirItem import com.simplemobiletools.filepicker.models.FileDirItem
import kotlinx.android.synthetic.main.list_item.view.* import kotlinx.android.synthetic.main.list_item.view.*
class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : BaseAdapter() { class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : BaseAdapter() {
private val mInflater: LayoutInflater private val mInflater: LayoutInflater
private val mFileBmp: Bitmap
private val mDirectoryBmp: Bitmap
private val mRes: Resources private val mRes: Resources
private val mContext: Context private val mContext: Context
@ -28,8 +24,6 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
mInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater mInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
mContext = context mContext = context
mRes = context.resources mRes = context.resources
mDirectoryBmp = mRes.getColoredIcon(R.color.lightGrey, R.mipmap.directory)
mFileBmp = mRes.getColoredIcon(R.color.lightGrey, R.mipmap.file)
} }
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
@ -47,14 +41,10 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
viewHolder.name.text = item.name viewHolder.name.text = item.name
if (item.isDirectory) { if (item.isDirectory) {
viewHolder.icon.setImageBitmap(mDirectoryBmp) Glide.with(mContext).load(R.mipmap.directory).diskCacheStrategy(getCacheStrategy(item)).centerCrop().crossFade().into(viewHolder.icon)
viewHolder.details.text = getChildrenCnt(item) viewHolder.details.text = getChildrenCnt(item)
} else { } else {
if (item.isImage() || item.isVideo()) { Glide.with(mContext).load(item.path).diskCacheStrategy(getCacheStrategy(item)).error(R.mipmap.file).centerCrop().crossFade().into(viewHolder.icon)
Glide.with(mContext).load(item.path).diskCacheStrategy(getCacheStrategy(item)).centerCrop().crossFade().into(viewHolder.icon)
} else {
viewHolder.icon.setImageBitmap(mFileBmp)
}
viewHolder.details.text = item.size.formatSize() viewHolder.details.text = item.size.formatSize()
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 B

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 452 B