package net.lacolaco.smileessence.view.page import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.bumptech.glide.Glide import kotlinx.android.synthetic.main.list_item_event.view.* import net.lacolaco.smileessence.R import net.lacolaco.smileessence.data.PageInfo import net.lacolaco.smileessence.entity.Event import net.lacolaco.smileessence.entity.User import net.lacolaco.smileessence.util.launchUi import net.lacolaco.smileessence.util.toCompactString import net.lacolaco.smileessence.view.DialogHelper import net.lacolaco.smileessence.view.dialog.UserDetailDialogFragment class EventsPageFragment : TimelinePageFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) world.addEventNotifier(this) { launchUi { adapter.sortedList.add(it) } } } override fun onBindItemView(item: Event, itemView: View) { Glide.with(view).load(item.source?.profileImageUrl ?: User.DEFAULT_PROFILE_IMAGE_URL) .into(itemView.imageview_status_icon) itemView.textview_status_header_username.text = item.title itemView.textview_status_text.text = item.body itemView.textview_status_footer.text = item.createdAt.toCompactString() itemView.setOnClickListener { if (item.source != null) DialogHelper.showDialog(activity, UserDetailDialogFragment.newInstance(item.source!!)) } } override fun onCreateItemView(parent: ViewGroup): View { val layoutInflater = LayoutInflater.from(parent.context) return layoutInflater.inflate(R.layout.list_item_event, parent, false) } }