I have set in a SearchView:
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String) = false
override fun onQueryTextChange(newText: String): Boolean {
filterSet.apply {
clear()
addAll(searchSet.filter {
if (newText.isEmpty()) true
else it.name.contains(newText, true)
})
}; return false
}
}
SonarLint says true
(before else
) is unnecessary, why?
How else can it be done?
You don't need to have if and else in the filter, your code can be as below:
// line to change
if (newText.isEmpty()) true
else it.name.contains(newText, true)
// line to change
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String) = false
override fun onQueryTextChange(newText: String): Boolean {
searchSet.filter { newText.isEmpty() || it.name.contains(newText, true) }
return false
}
}