aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/page/EventsPageFragment.kt
blob: 24a5be3386de497f2dd22085107ddcd78ac0bf8c (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
42
43
44
45
46
47
48
49
50
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.item_status_base.view.*
import net.lacolaco.smileessence.R
import net.lacolaco.smileessence.data.PageInfo
import net.lacolaco.smileessence.entity.Event
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) { adapter.sortedList.add(it) }
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View {
        return inflater.inflate(R.layout.page_fragment_timeline, container, false)
    }

    override fun onBindItemView(item: Event, itemView: View) {
        Glide.with(view).load(item.source.profileImageUrl).into(itemView.imageview_status_icon)
        itemView.source_user_protected.visibility =
                if (item.source.isProtected)
                    View.VISIBLE
                else
                    View.INVISIBLE
        itemView.textview_status_header_username.text = item.formattedString
        itemView.textview_status_header_name.visibility = View.INVISIBLE
        itemView.textview_status_text.text = item.targetObject?.text ?: ""
        itemView.textview_status_footer.text = item.createdAt.toCompactString()
        itemView.imageview_status_favorited.visibility = View.INVISIBLE
        itemView.tweet_favorite_count.visibility = View.INVISIBLE
        itemView.imageview_status_retweeted.visibility = View.INVISIBLE
        itemView.tweet_retweet_count.visibility = View.INVISIBLE
        itemView.setOnClickListener {
            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_status, parent, false)
    }
}