2020-05-04 03:52:47 +02:00
|
|
|
package net.accelf.yuito
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
import android.view.View
|
|
|
|
import android.widget.TextView
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
import com.keylesspalace.tusky.R
|
|
|
|
import com.keylesspalace.tusky.entity.Instance
|
|
|
|
import com.mikepenz.materialdrawer.model.AbstractDrawerItem
|
|
|
|
import com.uber.autodispose.SingleSubscribeProxy
|
2020-09-07 15:57:59 +02:00
|
|
|
import kotlinx.android.synthetic.main.item_drawer_footer.view.*
|
2020-05-04 03:52:47 +02:00
|
|
|
|
|
|
|
class FooterDrawerItem : AbstractDrawerItem<FooterDrawerItem, FooterDrawerItem.ViewHolder>() {
|
2020-09-07 15:57:59 +02:00
|
|
|
override val type = R.id.instanceData
|
2020-05-04 03:52:47 +02:00
|
|
|
|
2020-09-07 15:57:59 +02:00
|
|
|
override val layoutRes = R.layout.item_drawer_footer
|
2020-05-04 03:52:47 +02:00
|
|
|
|
|
|
|
private lateinit var context: Context
|
|
|
|
private lateinit var instanceData: TextView
|
|
|
|
|
|
|
|
override fun bindView(holder: ViewHolder, payloads: List<Any>) {
|
|
|
|
super.bindView(holder, payloads)
|
|
|
|
context = holder.itemView.context
|
|
|
|
instanceData = holder.instanceData
|
|
|
|
holder.itemView.setPadding(0, 0, 0, 0)
|
|
|
|
instanceData.setTextColor(instanceData.hintTextColors)
|
|
|
|
}
|
|
|
|
|
2020-09-07 15:57:59 +02:00
|
|
|
override fun getViewHolder(v: View) = ViewHolder(v)
|
2020-05-04 03:52:47 +02:00
|
|
|
|
|
|
|
fun setSubscribeProxy(subscribeProxy: SingleSubscribeProxy<Instance>) {
|
|
|
|
subscribeProxy.subscribe(
|
|
|
|
{ instance ->
|
|
|
|
instanceData.text = String.format("%s\n%s\n%s", instance.title, instance.uri, instance.version)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
instanceData.text = context.getString(R.string.instance_data_failed)
|
|
|
|
}
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
class ViewHolder internal constructor(internal val view: View): RecyclerView.ViewHolder(view) {
|
2020-09-07 15:57:59 +02:00
|
|
|
internal val instanceData = view.instanceData
|
2020-05-04 03:52:47 +02:00
|
|
|
}
|
|
|
|
}
|