package org.ntlab.leftoverrecipe.activity import android.content.Intent import android.databinding.DataBindingUtil import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.support.v7.widget.LinearLayoutManager import android.view.View import kotlinx.android.synthetic.main.activity_search.* import org.ntlab.leftoverrecipe.R import org.ntlab.leftoverrecipe.adapter.SearchListAdapter import org.ntlab.leftoverrecipe.api.recipe.RecipeApiResponse import org.ntlab.leftoverrecipe.contract.SearchListViewContract import org.ntlab.leftoverrecipe.databinding.ActivitySearchBinding import org.ntlab.leftoverrecipe.viewmodel.SearchViewModel class SearchActivity : AppCompatActivity(), SearchListViewContract { var adapter: SearchListAdapter? = null var viewModel: SearchViewModel? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_search) val binding = DataBindingUtil.setContentView<ActivitySearchBinding>(this, R.layout.activity_search) viewModel = SearchViewModel(this, this as SearchListViewContract) binding.viewModel = viewModel setupViews() supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.title = "" } override fun onSupportNavigateUp(): Boolean { finish() overridePendingTransition(0, 0); return super.onNavigateUp() } fun setupViews() { searchListView.layoutManager = LinearLayoutManager(this) adapter = SearchListAdapter(this, this as SearchListViewContract) searchListView.adapter = adapter } override fun onPostResume() { super.onPostResume() } override fun showRecipe(response: RecipeApiResponse) { adapter?.setItemAndRefresh(response.result!!) } override fun startDetailActivity(recipeData: RecipeApiResponse.RecipeData) { val intent = Intent(this@SearchActivity, DetailRecipeActivity::class.java) intent.putExtra("recipeData", recipeData) startActivity(intent) overridePendingTransition(0, 0); } }