@@ -24,6 +24,7 @@ import androidx.annotation.VisibleForTesting
24
24
import com.skydoves.pokedex.R
25
25
import com.skydoves.pokedex.base.DataBindingActivity
26
26
import com.skydoves.pokedex.databinding.ActivityDetailBinding
27
+ import com.skydoves.pokedex.extensions.argument
27
28
import com.skydoves.pokedex.extensions.onTransformationEndContainerApplyParams
28
29
import com.skydoves.pokedex.model.Pokemon
29
30
import com.skydoves.transformationlayout.TransformationCompat
@@ -39,29 +40,25 @@ class DetailActivity : DataBindingActivity() {
39
40
40
41
@VisibleForTesting
41
42
val viewModel: DetailViewModel by viewModels {
42
- DetailViewModel .provideFactory(
43
- detailViewModelFactory,
44
- pokemonItem.name
45
- )
43
+ DetailViewModel .provideFactory(detailViewModelFactory, pokemonItem.name)
46
44
}
47
45
48
46
private val binding: ActivityDetailBinding by binding(R .layout.activity_detail)
49
-
50
- private val pokemonItem: Pokemon
51
- get() = requireNotNull(intent.getParcelableExtra(EXTRA_POKEMON ))
47
+ private val pokemonItem: Pokemon by argument(EXTRA_POKEMON )
52
48
53
49
override fun onCreate (savedInstanceState : Bundle ? ) {
54
50
onTransformationEndContainerApplyParams()
55
51
super .onCreate(savedInstanceState)
56
52
binding.apply {
57
- pokemon = pokemonItem
58
53
lifecycleOwner = this @DetailActivity
54
+ pokemon = pokemonItem
59
55
vm = viewModel
60
56
}
61
57
}
62
58
63
59
companion object {
64
- @VisibleForTesting const val EXTRA_POKEMON = " EXTRA_POKEMON"
60
+ @VisibleForTesting
61
+ const val EXTRA_POKEMON = " EXTRA_POKEMON"
65
62
66
63
fun startActivity (transformationLayout : TransformationLayout , pokemon : Pokemon ) {
67
64
val context = transformationLayout.context
0 commit comments