Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.52 KB | None | 0 0
  1. package android.sample.com.inratingapp.ui
  2.  
  3. import android.os.Bundle
  4. import androidx.appcompat.app.AppCompatActivity
  5. import androidx.databinding.DataBindingUtil
  6. import androidx.lifecycle.Observer
  7. import androidx.lifecycle.ViewModelProviders
  8. import androidx.recyclerview.widget.LinearLayoutManager
  9.  
  10. import kotlinx.android.synthetic.main.bookmarks.view.*
  11. import kotlinx.android.synthetic.main.commentators.view.*
  12. import kotlinx.android.synthetic.main.likers.view.*
  13. import kotlinx.android.synthetic.main.likers.view.recycler
  14. import kotlinx.android.synthetic.main.mentions.view.*
  15. import kotlinx.android.synthetic.main.reposters.view.*
  16. import kotlinx.android.synthetic.main.views.view.*
  17.  
  18. import android.sample.com.inratingapp.R
  19. import android.sample.com.inratingapp.viewmodels.PostViewModel
  20. import android.sample.com.inratingapp.databinding.ActivityMainBinding
  21. import android.sample.com.inratingapp.model.reaction.ReactionResponse
  22. import androidx.cardview.widget.CardView
  23.  
  24. class MainActivity : AppCompatActivity() {
  25.  
  26.     private val ID = 2729
  27.     private lateinit var viewModel: PostViewModel
  28.     private lateinit var binding: ActivityMainBinding
  29.  
  30.     override fun onCreate(savedInstanceState: Bundle?) {
  31.         super.onCreate(savedInstanceState)
  32.         binding = ActivityMainBinding.inflate(layoutInflater)
  33.         binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
  34.  
  35.         viewModel = ViewModelProviders.of(this).get(PostViewModel::class.java)
  36.  
  37.         viewModel.fetchPost(ID).observe(this, Observer {
  38.             binding.cardViews.views.text = it.views.toString()
  39.             binding.cardBookmarks.bookmarks.text = it.bookmarks.toString()
  40.         })
  41.  
  42.         viewModel.fetchLikers(ID).observe(this, Observer {
  43.             updateUI(binding.cardLikers, it)
  44.         })
  45.  
  46.         viewModel.fetchCommentators(ID).observe(this, Observer {
  47.             updateUI(binding.cardCommentators, it)
  48.         })
  49.  
  50.         viewModel.fetchMentions(ID).observe(this, Observer {
  51.            updateUI(binding.cardMentions, it)
  52.         })
  53.  
  54.         viewModel.fetchReposters(ID).observe(this, Observer {
  55.             updateUI(binding.cardReposters, it)
  56.         })
  57.  
  58.     }
  59.  
  60.     private fun updateUI(cardView: CardView, it: ReactionResponse) {
  61.         if(it.meta.total > 0) {
  62.             cardView.reposters.text = it.meta.total.toString()
  63.             cardView.recycler.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
  64.             cardView.recycler.adapter = UsersAdapter(it.data)
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement