package Ġcom . example . jet pack demo . ui . fragment . module . cin ema Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . jet pack demo . R Ċ import Ġcom . example . jet pack demo . base . Base Fragment Ċ import Ġcom . example . jet pack demo . databinding . Fragment Movie Star Photo Binding Ċ import Ġcom . example . jet pack demo . ui . adapter . Movie Star Photo Adapter Ċ import Ġcom . example . jet pack demo . util . load Recycler Adapter By Linear LayoutManager Ċ import Ġcom . example . jet pack demo . view model . fragment . Movie Star Photo ViewModel Ċ import Ġme . hg j . jet pack mv vm . ext . nav Ċ import Ġme . hg j . jet pack mv vm . ext . navigate Action Ċ import Ġme . hg j . jet pack mv vm . ext . util . lo ge Ċ import Ġjava . util .* Ċ Ċ class ĠMovie Star Photo Fragment Ġ: ĊĠĠĠ ĠBase Fragment < Movie Star Photo ViewModel , ĠFragment Movie Star Photo Binding >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmovie Star Photo Adapter Ġby Ġlazy Ġ{ ĠMovie Star Photo Adapter ( array ListOf ()) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Observer () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ çĽĳåĲ¬ Bundle æķ°æį® åıĺåĮĸ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ@ see Ġm ViewModel . movie Name ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġmonitor Bundle Param Movie Name () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ çĽĳåĲ¬ Bundle æķ°æį® åıĺåĮĸ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ@ see Ġm ViewModel . photos ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġmonitor Bundle Param Photos () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmonitor Bundle Param Photos () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm ViewModel . photos . observe ( this ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull ) Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Star Photo Adapter . set List ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ Ġè®¾ç½® RecyclerView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit RV () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . toString (). lo ge ( java Class . simple Name Ġ+ Ġ". bundle . params . photos ") ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmonitor Bundle Param Movie Name () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm ViewModel . movie Name . observe ( this ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it . isEmpty ()) Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . toString (). lo ge ( java Class . simple Name Ġ+ Ġ". bundle . params . movie Name ") ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit RV () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ åĬłè½½ éĢĤ éħį åĻ¨ Ġadapter ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ@ see Ġ Ġm D atab ind . re cyclerView ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ@ see Ġmovie Star Photo Adapter ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġm D atab ind . re cyclerView . load Recycler Adapter By Linear LayoutManager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Star Photo Adapter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView . HORIZONTAL ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠĠĠ Ġitem Ġ çĤ¹åĩ» ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġmovie Star Photo Adapter . setOn ItemClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav (). navigate Action ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ to _ movie Star Photo Details Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . photos . value ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMovie Star Photo Details Fragment Args ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . movie Name . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Bundle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ movie _ star _ photo ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġ æİ¥æĶ¶ Bundle æķ°æį® ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġreceiver Bundle Param () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreceiver Bundle Param () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . movie Name . value Ġ= Ġit . getString ( MO VI ENAME ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . photos . value Ġ= Ġit . getString ArrayList ( PH OT OS ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMO VI ENAME Ġ= Ġ" movie Name " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPH OT OS Ġ= Ġ" photos " ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( movie Name : ĠString , Ġphotos : ĠList < String >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovie Star Photo Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( MO VI ENAME , Ġmovie Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ArrayList ( PH OT OS , Ġphotos Ġas ĠArrayList < String >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }