package Ġcom . ala ash amma a . t mdb mv vm . ui . home Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . ala ash amma a . app _ ui . adapters . Movies Adapter Ċ import Ġcom . ala ash amma a . entity . entities . Movie Ċ import Ġcom . ala ash amma a . network . Status Ċ import Ġcom . ala ash amma a . t mdb mv vm . R Ċ import Ġcom . ala ash amma a . t mdb mv vm . base . D atab ind ing Activity Ċ import Ġcom . ala ash amma a . t mdb mv vm . databinding . Activity Home Binding Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . Internal Cor outines Api Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ import Ġtim ber . log . Tim ber Ċ Ċ @ Experimental Cor outines Api Ċ @ Internal Cor outines Api Ċ class ĠHome Activity Ġ: ĠD atab ind ing Activity (), ĠMov ies Adapter . Movie ClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhome ViewModel : ĠHome ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠActivity Home Binding Ġby Ġbinding ( R . layout . activity _ home ) ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġhome ViewModel . apply Ġ{ Ġfetch Up coming Movies () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Owner Ġ= Ġthis @ Home Activity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovies Adapter Ġ= ĠMov ies Adapter ( ArrayList (), Ġthis @ Home Activity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhome ViewModel . movies . observe ( this , ĠObserver Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Got Ġhere Ġwith Ġdata Ġ${ response . data }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . LOADING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Got Ġhere Ġwith Ġloading ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Got Ġhere Ġwith Ġerror Ġ${ response . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Movie Click ( movie : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Details Activity . getStart Intent ( this , Ġmovie )) ĊĠĠĠ Ġ} Ċ }