[Extensions] Add trigger extension instead of using performClick on checkboxes.

This commit is contained in:
Kacper Ziubryniewicz 2020-01-05 23:42:35 +01:00
parent 1e6952c86a
commit 31a293c5c0
2 changed files with 7 additions and 7 deletions

View File

@ -23,6 +23,7 @@ import android.util.LongSparseArray
import android.util.SparseArray import android.util.SparseArray
import android.util.TypedValue import android.util.TypedValue
import android.view.View import android.view.View
import android.widget.CheckBox
import android.widget.CompoundButton import android.widget.CompoundButton
import android.widget.TextView import android.widget.TextView
import androidx.annotation.* import androidx.annotation.*
@ -506,7 +507,7 @@ fun CharSequence.asSpannable(vararg spans: Any, substring: String? = null, ignor
spans.forEach { spans.forEach {
spannable.setSpan(it, index, index + substring.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) spannable.setSpan(it, index, index + substring.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
} }
index = indexOf(substring, startIndex = index + 1, ignoreCase = ignoreCase); index = indexOf(substring, startIndex = index + 1, ignoreCase = ignoreCase)
} }
} }
return spannable return spannable
@ -841,7 +842,7 @@ fun Int.toColorStateList(): ColorStateList {
this this
) )
return ColorStateList(states, colors); return ColorStateList(states, colors)
} }
fun SpannableStringBuilder.appendText(text: CharSequence): SpannableStringBuilder { fun SpannableStringBuilder.appendText(text: CharSequence): SpannableStringBuilder {
@ -888,3 +889,5 @@ fun String.base64Decode(): ByteArray {
fun String.base64DecodeToString(): String { fun String.base64DecodeToString(): String {
return Base64.decode(this, Base64.DEFAULT).toString(Charset.defaultCharset()) return Base64.decode(this, Base64.DEFAULT).toString(Charset.defaultCharset())
} }
fun CheckBox.trigger() { isChecked = !isChecked }

View File

@ -9,13 +9,10 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import pl.szczodrzynski.edziennik.App import pl.szczodrzynski.edziennik.*
import pl.szczodrzynski.edziennik.R
import pl.szczodrzynski.edziennik.data.api.* import pl.szczodrzynski.edziennik.data.api.*
import pl.szczodrzynski.edziennik.data.db.modules.profiles.Profile import pl.szczodrzynski.edziennik.data.db.modules.profiles.Profile
import pl.szczodrzynski.edziennik.databinding.RowLoginProfileListItemBinding import pl.szczodrzynski.edziennik.databinding.RowLoginProfileListItemBinding
import pl.szczodrzynski.edziennik.joinNotNullStrings
import pl.szczodrzynski.edziennik.onClick
class LoginSummaryProfileAdapter( class LoginSummaryProfileAdapter(
val context: Context, val context: Context,
@ -68,7 +65,7 @@ class LoginSummaryProfileAdapter(
) )
b.root.onClick { b.root.onClick {
b.checkBox.performClick() b.checkBox.trigger()
} }
b.checkBox.setOnCheckedChangeListener { _, isChecked -> b.checkBox.setOnCheckedChangeListener { _, isChecked ->
item.isSelected = isChecked item.isSelected = isChecked