package Ġorg . tech town . movie Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġkotlinx . android . synt hetic . main . fragment _ movie _ details .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ movie _ details . view .* Ċ import Ġorg . tech town . movie . data . Movie Favorite List Ċ import Ġorg . tech town . movie . data . Movie List Ċ Ċ /** Ċ Ġ* Ġì ¦ Ĳ ê² ¨ ì° ¾ ê¸° Ġìĺģ íĻĶ Ġìĥģ ìĦ¸ ĠíĶĦ ëŀĺ ê·¸ ë ¨ ¼ íĬ¸ Ċ Ġ* Ċ Ġ* Ġì ¦ Ĳ ê² ¨ ì° ¾ ê¸° ĠìķĦ ìĿ´ ì ½ ĺ ê³¼ Ġíķľ ì¤ Ħ íı ī Ġìĺģ ìĹŃ ìĿ´ ĠìĤ Ń ìłľ ëĲĺ ìĹĪ ìĿĮ Ċ Ġ*/ Ċ class ĠMovie Favorite Details Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġvar Ġindex : Int Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġlist Type : String Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġarguments ĊĠĠĠĠĠĠĠ Ġif Ġ( bundle Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġbundle . getInt (" index ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Type Ġ= Ġbundle . getString (" list Type ", Ġ" box Office ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln (" Movie Favorite Details : create Ġcalled Ġ: Ġ${ index }, Ġ${ list Type }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot View Ġ= Ġinflater . inflate ( R . layout . fragment _ movie _ favorite _ details , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠsetData ( root View ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( root View : View ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" setData Ġcalled Ġ: Ġ${ index }, Ġ${ list Type }") ĊĊĠĠĠĠĠĠĠ Ġvar ĠimageUrl : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġmovie Title : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġgrade Title : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġrelease Date : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġgenre : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġrunning Time : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġsub Value 1 : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġsub Value 2 : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġsub Value 3 : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġdirector : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġactor : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġcompany : String ? Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġsyn opsis : String ? Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġwhen ( list Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" box Office " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 1 . text Ġ= Ġ" ìĪ ľ ìľĦ Ġ/ Ġê´Ģ ê° Ŀ ìĪĺ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 2 . text Ġ= Ġ" ìĪ ľ ìľĦ Ġì ¦ Ŀ ê° Ĳ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 3 . text Ġ= Ġ" ë Ī Ħ ìłģ Ġê´Ģ ê° Ŀ ìĪĺ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRating Bar ë¥¼ ĠìķĪ ë³´ ìĿ´ ëıĦë¡Ŀ ĠìĦ¤ìłķ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . grade Rating Bar . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdata Ġë¦¬ ìĬ¤íĬ¸ ìĹĲìĦľ Ġëª ĩ Ġë²Ī ì§¸ ĠìĿ¸ ëį ± ìĬ¤ ìĿ¸ ì§Ģ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġout Index Ġ= ĠUtils . getType Index (" box Office ", Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie Data Ġ= ĠMovie Favorite List . data [ out Index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Movie Data Ġ-> Ġ${ movie Data }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl Ġ= Ġmovie Data . t mdb Movie Result ?. poster _ path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Title Ġ= Ġmovie Data . movie Info ?. movie Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Title Ġ= Ġmovie Data . movie Details ?. aud its ?. get ( 0 )?. watch Grade Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrelease Date Ġ= Ġmovie Data . movie Info ?. open Dt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Ġ= Ġmovie Data . movie Details ?. genres ?. get ( 0 )?. genre Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrunning Time Ġ= Ġmovie Data . movie Details ?. show Tm ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Value 1 Str Ġ= Ġmovie Data . movie Info ?. aud i Cnt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 1 Ġ= ĠUtils . add Comma ( sub Value 1 Str ?. toInt ()) Ġ+ Ġ" ëªħ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 2 Ġ= Ġmovie Data . movie Info ?. rank Int en ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Value 3 Str Ġ= Ġmovie Data . movie Info ?. aud i Acc ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 3 Ġ= ĠUtils . add Comma ( sub Value 3 Str ?. toInt ()) Ġ+ Ġ" ëªħ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirector Ġ= Ġmovie Data . movie Details ?. direct ors ?. get ( 0 )?. people Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor Ġ= Ġmovie Data . movie Details ?. actors ?. get ( 0 )?. people Nm Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"(" Ġ+ Ġmovie Data . movie Details ?. actors ?. get ( 0 )?. cast Ġ+ Ġ")" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompany Ġ= Ġmovie Data . movie Details ?. comp an ys ?. get ( 0 )?. company Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsyn opsis Ġ= Ġmovie Data . t mdb Movie Result ?. overview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" reservation " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 1 . text Ġ= Ġ" ìĪ ľ ìľĦ Ġ/ ĠëĦ ¤ íĭ° ì¦ Į Ġì°¸ ìĹ¬ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 2 . text Ġ= Ġ" ëĦ ¤ íĭ° ì¦ Į Ġíı ī ìłĲ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sub Title TextView 3 . text Ġ= Ġ" ìĺ Ī ë§¤ ìľ ¨ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRating Bar ë¥¼ Ġë³´ ìĿ´ ëıĦë¡Ŀ ĠìĦ¤ìłķ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . grade Rating Bar . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdata Ġë¦¬ ìĬ¤íĬ¸ ìĹĲìĦľ Ġëª ĩ Ġë²Ī ì§¸ ĠìĿ¸ ëį ± ìĬ¤ ìĿ¸ ì§Ģ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġout Index Ġ= ĠUtils . getType Index (" reservation ", Ġindex ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie Search Data Ġ= ĠMovie Favorite List . reservation Data [ out Index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Movie Search Data Ġ-> Ġ${ movie Search Data }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl Ġ= Ġmovie Search Data . t mdb Movie Result ?. poster _ path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Title Ġ= Ġmovie Search Data . movie Details ?. movie Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Title Ġ= Ġmovie Search Data . movie Details ?. aud its ?. get ( 0 )?. watch Grade Nm ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrelease Date Str Ġ= Ġmovie Search Data . movie Details ?. open Dt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrelease Date Ġ= ĠUtils . date Format 2 . format ( Utils . date Format . parse ( release Date Str )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Ġ= Ġmovie Search Data . movie Details ?. genres ?. get ( 0 )?. genre Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrunning Time Ġ= Ġmovie Search Data . movie Details ?. show Tm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 1 Ġ= ĠMovie Favorite List . reservation [ out Index ]. score 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 2 Ġ= ĠMovie Favorite List . reservation [ out Index ]. score 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub Value 3 Ġ= ĠMovie Favorite List . reservation [ out Index ]. reserve Ġ+ Ġ"% " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirector Ġ= Ġmovie Search Data . movie Details ?. direct ors ?. get ( 0 )?. people Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor Ġ= Ġmovie Search Data . movie Details ?. actors ?. get ( 0 )?. people Nm Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"(" Ġ+ Ġmovie Search Data . movie Details ?. actors ?. get ( 0 )?. cast Ġ+ Ġ")" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompany Ġ= Ġmovie Search Data . movie Details ?. comp an ys ?. get ( 0 )?. company Nm ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsyn opsis Ġ= Ġmovie Search Data . t mdb Movie Result ?. overview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġíı¬ ìĬ¤ íĦ° ĠìĿ´ë¯¸ ì§Ģ ĊĠĠĠĠĠĠĠ Ġif Ġ( imageUrl Ġ!= Ġnull Ġ&& ĠimageUrl . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// image . t mdb . org / t / p / w 2 0 0 ${ imageUrl }" ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. skip Memory Cache ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( root View . thumbnail View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġíĥ ĢìĿ´ íĭ Ģ ĊĠĠĠĠĠĠĠ Ġroot View . movie Title View . text Ġ= Ġmovie Title ĊĊĠĠĠĠĠĠĠ Ġ// Ġê´Ģ ëŀ Į ëĵ ± ê¸ ī ĊĠĠĠĠĠĠĠ Ġvar Ġgrade Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( grade Title Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grade Title . indexOf (" ìłĦ ì²´ ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . rating View . setImage Resource ( R . drawable . grade _ all ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( grade Title . indexOf (" 1 2 ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . rating View . setImage Resource ( R . drawable . grade _ 1 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( grade Title . indexOf (" 1 5 ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . rating View . setImage Resource ( R . drawable . grade _ 1 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( grade Title . indexOf (" 1 9 ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . rating View . setImage Resource ( R . drawable . grade _ 1 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġê°ľ ë ´ ī ìĿ¼ ĊĠĠĠĠĠĠĠ Ġroot View . release Date View . text Ġ= Ġrelease Date ĊĊĠĠĠĠĠĠĠ Ġ// Ġìŀ ¥ ë¥´ ĊĠĠĠĠĠĠĠ Ġroot View . genre View . text Ġ= Ġgenre ĊĊĠĠĠĠĠĠĠ Ġ// Ġìĥģ ìĺģ ìĭľ ê°Ħ ĊĠĠĠĠĠĠĠ Ġroot View . running Time View . text Ġ= Ġrunning Time ĊĊĠĠĠĠĠĠĠ Ġ// ĠìĪ ľ ìľĦ ĊĠĠĠĠĠĠĠ Ġroot View . ranking View . text Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġ// Ġê´Ģ ê° Ŀ ìĪĺ Ġ/ Ġì°¸ ìĹ¬ ĊĠĠĠĠĠĠĠ Ġroot View . sub Value TextView 1 . text Ġ= Ġsub Value 1 ĊĊĠĠĠĠĠĠĠ Ġ// Ġíı ī ìłĲ Ġ/ Ġíı ī ìłĲ ĊĠĠĠĠĠĠĠ Ġroot View . sub Value TextView 2 . text Ġ= Ġsub Value 2 ĊĊĠĠĠĠĠĠĠ Ġval Ġrating Ġ= Ġsub Value 2 ?. toFloat () ĊĠĠĠĠĠĠĠ Ġif Ġ( rating Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . grade Rating Bar . rating Ġ= Ġrating Ġ/ Ġ 2 . 0 F ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġìł Ĳ ìľł ìľ ¨ Ġ/ ĠìĺĪ ë§¤ ìľ ¨ ĊĠĠĠĠĠĠĠ Ġroot View . sub Value TextView 3 . text Ġ= Ġsub Value 3 ĊĊĠĠĠĠĠĠĠ Ġ// Ġê° Ĳ ëı ħ ĊĠĠĠĠĠĠĠ Ġroot View . director View . text Ġ= Ġdirector ĊĊĠĠĠĠĠĠĠ Ġ// Ġë°° ìļ° ĊĠĠĠĠĠĠĠ Ġroot View . actor View . text Ġ= Ġactor ĊĊĠĠĠĠĠĠĠ Ġ// Ġìĺģ íĻĶ ìĤ¬ ĊĠĠĠĠĠĠĠ Ġroot View . company View . text Ġ= Ġcompany ĊĊĠĠĠĠĠĠĠ Ġ// Ġì¤ Ħ ê±° ë¦¬ ĊĠĠĠĠĠĠĠ Ġroot View . syn opsis View . text Ġ= Ġsyn opsis ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġshow Toast ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġmessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Movie Favorite Details " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( index : Int ?, Ġlist Type : String ?): ĠMovie Favorite Details Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠMovie Favorite Details Fragment () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int (" index ", Ġindex !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString (" list Type ", Ġlist Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }