package Ġcom . alg ok el vin . mov iec atalog . ui . activity . detail . tv Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . alg ok el vin . mov iec atalog . databinding . Activity Detail Tv show Binding Ċ import Ġcom . alg ok el vin . mov iec atalog . repository . TV Show Repository Ċ import Ġcom . alg ok el vin . mov iec atalog . ui . activity . detail . Init View Detail TV Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠDetail TV Show Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Detail Tv show Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinit View Detail TV : ĠInit View Detail TV ĊĊĠĠĠ Ġprivate Ġval Ġdetail TV Show ViewModel Factory Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠDetail TV Show ViewModel Factory ( TV Show Repository (), ĠComposite Disposable ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdetail TV Show ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Providers . of ( this , Ġdetail TV Show ViewModel Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Detail TV Show ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Detail Tv show Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġinit View Detail TV Ġ= ĠInit View Detail TV ( this , Ġbinding ) ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġintent . getInt Extra (" ID ", Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġset Detail ( id ) ĊĠĠĠĠĠĠĠ Ġset Cast ( id ) ĊĠĠĠĠĠĠĠ Ġset Similar ( id ) ĊĠĠĠĠĠĠĠ Ġset Recommended ( id ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Detail ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . r qs Detail TV Show ( id ). observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View Detail TV . set Detail ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Cast ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . r qs Cast TV Show ( id ) ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . rsp Cast TV Show . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View Detail TV . setData Cast ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Similar ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . r qs Similar TV Show ( id ) ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . rsp Similar TV Show . observe ( this , ĠObserver Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View Detail TV . set Similar ( data ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Recommended ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . r qs Recommendation TV Show ( id ) ĊĠĠĠĠĠĠĠ Ġdetail TV Show ViewModel . rsp Recommendation TV Show . observe ( this , ĠObserver Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View Detail TV . set Recommendation ( data ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ } Ċ