package Ġcom . example . clean _ arch . presentation . det ial Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . clean _ arch . R Ċ import Ġcom . example . clean _ arch . presentation . base . Base Fragment Ċ import Ġcom . example . clean _ arch . di . core . Core Component Ċ import Ġcom . example . clean _ arch . di . detail . Detail Module Ċ import Ġcom . example . clean _ arch . domain . model . Movie Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ import Ġkotlinx . android . synt hetic . main . detail _ fragment .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠDetail Fragment Ġ: ĠBase Fragment < Detail ViewModel >( R . layout . detail _ fragment ) Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġfactory : ĠDetail ViewModel Factory ĊĊĠĠĠ Ġvar Ġmovie Ġ: ĠMovie Ġ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġinject Component ( core Component : ĠCore Component ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcore Component . plus ( Detail Module ()). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ViewModel (): ĠDetail ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġfactory . movie Ġ= Ġmovie ĊĠĠĠĠĠĠĠ Ġreturn ĠViewModel Providers . of ( this , Ġfactory ). get ( Detail ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Ġ= Ġarguments ?. get Parcelable (" EXTRA _ MOV IE ") ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobserve ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . get Movie LiveData (). observe { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Title . text Ġ= Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . text Ġ= Ġit . description ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( activity ). load ( it . image ). into ( image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . toolbar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ ĠviewModel . get Movie () ĊĠĠĠ Ġ} Ċ }