Skip to content

Commit ccb2f00

Browse files
committed
convert ItemsAdapter to kotlin
1 parent bb371a3 commit ccb2f00

File tree

2 files changed

+78
-98
lines changed

2 files changed

+78
-98
lines changed

app/src/main/java/com/simplemobiletools/filemanager/adapters/ItemsAdapter.java

Lines changed: 0 additions & 98 deletions
This file was deleted.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package com.simplemobiletools.filemanager.adapters
2+
3+
import android.content.Context
4+
import android.content.res.Resources
5+
import android.graphics.Bitmap
6+
import android.view.LayoutInflater
7+
import android.view.View
8+
import android.view.ViewGroup
9+
import android.widget.BaseAdapter
10+
import android.widget.ImageView
11+
import android.widget.TextView
12+
import com.simplemobiletools.filemanager.R
13+
import com.simplemobiletools.filemanager.Utils
14+
import com.simplemobiletools.filemanager.models.FileDirItem
15+
import kotlinx.android.synthetic.main.list_item.view.*
16+
17+
class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : BaseAdapter() {
18+
private val mInflater: LayoutInflater
19+
private val mFileBmp: Bitmap
20+
private val mDirectoryBmp: Bitmap
21+
private val mRes: Resources
22+
23+
init {
24+
mInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
25+
26+
mRes = context.resources
27+
mDirectoryBmp = Utils.getColoredIcon(mRes, R.color.lightGrey, R.mipmap.directory)
28+
mFileBmp = Utils.getColoredIcon(mRes, R.color.lightGrey, R.mipmap.file)
29+
}
30+
31+
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
32+
var view = convertView
33+
val viewHolder: ViewHolder
34+
if (view == null) {
35+
view = mInflater.inflate(R.layout.list_item, parent, false)
36+
viewHolder = ViewHolder(view)
37+
view!!.tag = viewHolder
38+
} else {
39+
viewHolder = view.tag as ViewHolder
40+
}
41+
42+
val item = mItems[position]
43+
viewHolder.name.text = item.name
44+
45+
if (item.isDirectory) {
46+
viewHolder.icon.setImageBitmap(mDirectoryBmp)
47+
viewHolder.details.text = getChildrenCnt(item)
48+
} else {
49+
viewHolder.icon.setImageBitmap(mFileBmp)
50+
viewHolder.details.text = Utils.getFormattedSize(item)
51+
}
52+
53+
return view
54+
}
55+
56+
private fun getChildrenCnt(item: FileDirItem): String {
57+
val children = item.children
58+
return mRes.getQuantityString(R.plurals.items, children, children)
59+
}
60+
61+
override fun getCount(): Int {
62+
return mItems.size
63+
}
64+
65+
override fun getItem(position: Int): Any {
66+
return mItems[position]
67+
}
68+
69+
override fun getItemId(position: Int): Long {
70+
return 0
71+
}
72+
73+
internal class ViewHolder(view: View) {
74+
val name: TextView = view.item_name
75+
val icon: ImageView = view.item_icon
76+
val details: TextView = view.item_details
77+
}
78+
}

0 commit comments

Comments
 (0)