blob: 4913348d954b7b57bd10ac0313041f28a06df13c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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<Event, PageInfo.EventsPageInfo>() {
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)
}
}
|