Skip to content

Commit 926a524

Browse files
authored
Merge pull request #192 from AppDevNext/NotifyItemInserted
Use notifyItemInserted instead of notifyDataSetChanged
2 parents 84a26da + 24b702f commit 926a524

1 file changed

Lines changed: 11 additions & 16 deletions

File tree

LogcatCoreLib/src/main/java/info/hannes/logcat/base/LogListAdapter.kt

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ import java.util.*
1414

1515
class LogListAdapter(private var completeLogs: MutableList<String>, filter: String) : RecyclerView.Adapter<LogListAdapter.LogViewHolder>() {
1616

17-
private var currentFilter: Array<out String>? = null
18-
var filterLogs: List<String> = ArrayList()
17+
private lateinit var currentFilter: Array<out String>
18+
var filterLogs = mutableListOf<String>()
1919

2020
init {
2121
setFilter(filter)
2222
}
2323

2424
fun setItems(newItems: MutableList<String>) {
2525
completeLogs = newItems
26-
setFilter(*currentFilter!!)
26+
setFilter(*currentFilter)
2727
notifyDataSetChanged()
2828
}
2929

@@ -41,25 +41,20 @@ class LogListAdapter(private var completeLogs: MutableList<String>, filter: Stri
4141
}
4242
}
4343
include
44-
}
44+
}.toMutableList()
4545
notifyDataSetChanged()
4646
}
4747

48-
fun addLine(addLine: String) {
49-
50-
completeLogs.add(completeLogs.size, addLine)
48+
fun addLine(line: String) {
49+
completeLogs.add(completeLogs.size, line)
5150

52-
filterLogs = completeLogs.filter { line ->
53-
var include = false
54-
currentFilter?.let {
55-
for (filter in it) {
56-
if (!include && line.contains(filter))
57-
include = true
51+
currentFilter.let {
52+
for (filter in it)
53+
if (line.contains(filter)) {
54+
filterLogs.add(filterLogs.size, line)
55+
notifyItemInserted(filterLogs.size - 1)
5856
}
59-
}
60-
include
6157
}
62-
notifyDataSetChanged()
6358
}
6459

6560
/**

0 commit comments

Comments
 (0)