SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/ViewHolderHeaderProfileDire...

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()
}
}