mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-24 11:45:28 +00:00
Allow toggle to be manually slid on preference screens.
This commit is contained in:
committed by
Greyson Parrelli
parent
e83c2f1e05
commit
3ce68a7df8
@@ -209,8 +209,15 @@ class SwitchPreferenceViewHolder(itemView: View) : PreferenceViewHolder<SwitchPr
|
||||
|
||||
override fun bind(model: SwitchPreference) {
|
||||
super.bind(model)
|
||||
switchWidget.setOnCheckedChangeListener(null)
|
||||
|
||||
switchWidget.isEnabled = model.isEnabled
|
||||
switchWidget.isChecked = model.isChecked
|
||||
|
||||
switchWidget.setOnCheckedChangeListener { _, _ ->
|
||||
model.onClick()
|
||||
}
|
||||
|
||||
itemView.setOnClickListener {
|
||||
model.onClick()
|
||||
}
|
||||
|
||||
@@ -39,10 +39,12 @@ object NotificationProfilePreference {
|
||||
override fun bind(model: Model) {
|
||||
super.bind(model)
|
||||
itemView.setOnClickListener { model.onClick() }
|
||||
switchWidget.setOnCheckedChangeListener(null)
|
||||
switchWidget.visible = model.showSwitch
|
||||
switchWidget.isEnabled = model.isEnabled
|
||||
switchWidget.isChecked = model.isOn
|
||||
iconView.background.colorFilter = SimpleColorFilter(model.color.colorInt())
|
||||
switchWidget.setOnCheckedChangeListener { _, _ -> model.onClick() }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,18 +38,27 @@ object AsyncSwitch {
|
||||
|
||||
override fun bind(model: Model) {
|
||||
super.bind(model)
|
||||
switchWidget.setOnCheckedChangeListener(null)
|
||||
switchWidget.isEnabled = model.isEnabled
|
||||
switchWidget.isChecked = model.isChecked
|
||||
itemView.isEnabled = !model.isProcessing && model.isEnabled
|
||||
switcher.displayedChild = if (model.isProcessing) 1 else 0
|
||||
|
||||
itemView.setOnClickListener {
|
||||
fun onClick() {
|
||||
if (!model.isProcessing) {
|
||||
itemView.isEnabled = false
|
||||
switcher.displayedChild = 1
|
||||
model.onClick()
|
||||
}
|
||||
}
|
||||
|
||||
itemView.setOnClickListener {
|
||||
onClick()
|
||||
}
|
||||
|
||||
switchWidget.setOnCheckedChangeListener { _, _ ->
|
||||
onClick()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user