Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.lanet.runner.ui.tasks.building_choose
- import android.arch.lifecycle.Observer
- import android.content.Intent
- import android.content.res.Resources
- import android.os.Bundle
- import android.support.v7.app.AppCompatActivity
- import android.view.MenuItem
- import android.view.ViewGroup
- import com.lanet.runner.R
- import com.lanet.runner.databinding.ActivityAddressChooseBinding
- import com.lanet.runner.models.entity.House
- import com.lanet.runner.ui.*
- import com.lanet.runner.ui.actions.ProgressActions
- @Suppress("UNCHECKED_CAST")
- class AddressChooseActivity : AppCompatActivity(),
- BaseActivityMethods,
- ProgressActions,
- ToolBarMethods {
- override lateinit var binding: ActivityAddressChooseBinding
- override lateinit var viewModel: AddressChooseActivityVM
- override val appResources: Resources get() = resources
- override val activity = this
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- initBinding()
- initViewModel()
- handleExtras(intent)
- initAdapters()
- setupToolbar()
- observe()
- }
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- super<AppCompatActivity>.onOptionsItemSelected(item)
- return super<ToolBarMethods>.onOptionsItemSelected(item)
- }
- private fun observe() {
- observe(viewModel.progressState) { toggleProgress() }
- viewModel.uiEvent.observe(this, Observer {
- setResult(RESULT_OK, it)
- finish()
- })
- }
- private fun initAdapters() {
- binding.streets.layoutManager = viewModel.lManager
- }
- override fun initViewModel() {
- viewModel = initViewModel(AddressChooseActivityVM::class.java)
- binding.viewModel = viewModel
- }
- override fun initBinding() {
- binding = setDataBindingContentView(R.layout.activity_address_choose)
- }
- private fun handleExtras(intent: Intent) {
- intent.extras?.apply {
- getParcelable<House>("house")?.let {
- viewModel.house = it
- }
- intent.getSerializableExtra("districtStreetCorrelationMap")?.let{
- viewModel.districtStreetCorrelationMap = it as HashMap<String, Map<String, String>>
- }
- intent.getSerializableExtra("streetHousesCorrelationMap")?.let{
- viewModel.streetHousesCorrelationMap = it as HashMap<String, Map<String, String>>
- }
- }
- }
- override fun getRootForProgressView(): ViewGroup? = binding.containerLayout.container
- override fun getToolbarTitle() : String = resources.getString(R.string.choose_building)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement