mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2025-02-22 06:24:44 +01:00
[Extensions] Add trigger extension instead of using performClick on checkboxes.
This commit is contained in:
parent
1e6952c86a
commit
31a293c5c0
@ -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 }
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user