70 lines
1.7 KiB
Kotlin
70 lines
1.7 KiB
Kotlin
|
package jp.juggler.subwaytooter
|
||
|
|
||
|
import android.view.View
|
||
|
import android.widget.CheckBox
|
||
|
import android.widget.CompoundButton
|
||
|
import android.widget.RadioButton
|
||
|
|
||
|
internal class ViewHolderHeaderProfileDirectory(
|
||
|
arg_activity : ActMain,
|
||
|
viewRoot : View
|
||
|
) : ViewHolderHeaderBase(arg_activity, viewRoot), CompoundButton.OnCheckedChangeListener {
|
||
|
|
||
|
private val rbOrderActive : RadioButton = viewRoot.findViewById(R.id.rbOrderActive)
|
||
|
private val rbOrderNew : RadioButton = viewRoot.findViewById(R.id.rbOrderNew)
|
||
|
private val cbResolve : CheckBox = viewRoot.findViewById(R.id.cbResolve)
|
||
|
|
||
|
private var busy = false
|
||
|
|
||
|
init {
|
||
|
rbOrderActive.setOnCheckedChangeListener(this)
|
||
|
rbOrderNew.setOnCheckedChangeListener(this)
|
||
|
cbResolve.setOnCheckedChangeListener(this)
|
||
|
}
|
||
|
|
||
|
override fun showColor() {
|
||
|
val c = column.getContentColor()
|
||
|
rbOrderActive.setTextColor(c)
|
||
|
rbOrderNew.setTextColor(c)
|
||
|
cbResolve.setTextColor(c)
|
||
|
}
|
||
|
|
||
|
override fun bindData(column : Column) {
|
||
|
super.bindData(column)
|
||
|
|
||
|
busy = true
|
||
|
try {
|
||
|
cbResolve.isChecked = column.search_resolve
|
||
|
|
||
|
if(column.search_query == "new") {
|
||
|
rbOrderNew.isChecked = true
|
||
|
} else {
|
||
|
rbOrderActive.isChecked = true
|
||
|
}
|
||
|
} finally {
|
||
|
busy = false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
override fun onViewRecycled() {
|
||
|
|
||
|
}
|
||
|
|
||
|
override fun onCheckedChanged(buttonView : CompoundButton?, isChecked : Boolean) {
|
||
|
buttonView ?: return
|
||
|
|
||
|
if(busy) return
|
||
|
|
||
|
if( buttonView is RadioButton && !isChecked ) return
|
||
|
|
||
|
when(buttonView.id) {
|
||
|
R.id.rbOrderActive -> column.search_query = "active"
|
||
|
R.id.rbOrderNew -> column.search_query = "new"
|
||
|
R.id.cbResolve -> column.search_resolve = isChecked
|
||
|
}
|
||
|
|
||
|
activity.app_state.saveColumnList()
|
||
|
column.startLoading()
|
||
|
}
|
||
|
}
|