package Ġcom . example . q th ien . week _ 1 Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . q th ien . week _ 1 . R . id . txt X em them Ċ import Ġkotlinx . android . synt hetic . main . item _ re cy _ land scape 1 . view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ re cy _ portrait 1 . view .* Ċ import Ġandroid . text . method . Text Key Listener . clear Ċ import Ġandroid . widget .* Ċ import Ġcom . bump tech . glide . load . Multi Transformation Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . google . android . youtube . player . internal . v Ċ import Ġjp . was ab eef . glide . transform ations .* Ċ import Ġcom . example . q th ien . week _ 1 . R . id . re cyclerView ĊĊĊĊ Ċ class ĠAdapter _ Re cy ( var Ġcon Ġ: ĠContext Ġ, var Ġl : ĠArrayList < Result >? Ġ, var Ġori Ġ: ĠBoolean ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠOR I Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval ĠH OR Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( view Group . getContext ()) Ċ // ĠĠĠĠĠĠĠ Ġwhen ( view Type ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠOR I Ġ-> Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġv 1 Ġ= Ġinflater . inflate ( R . layout . item _ re cy _ portrait 1 , Ġview Group , Ġfalse ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder Por trail ( v 1 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠH OR Ġ-> Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġv 2 Ġ= Ġinflater . inflate ( R . layout . item _ re cy _ land scape 1 , Ġview Group , Ġfalse ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder L ances cap el ( v 2 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġv 3 Ġ= Ġinflater . inflate ( R . layout . item _ re cy _ portrait 1 , Ġview Group , Ġfalse ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder Por trail ( v 3 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( view Type Ġ== ĠOR I ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġv 1 Ġ: ĠView ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv 1 Ġ= Ġinflater . inflate ( R . layout . item _ re cy _ portrait 1 , Ġview Group Ġ, Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder Por trail ( v 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġv 2 Ġ: ĠView ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 2 Ġ= Ġinflater . inflate ( R . layout . item _ re cy _ land scape 1 , Ġview Group Ġ, Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder L ances cap el ( v 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset O ri i ( b Ġ: ĠBoolean ){ ĊĠĠĠĠĠĠĠ Ġori Ġ= Ġb ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġl ?. size Ġ?: Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ori ) Ġreturn ĠH OR ĊĠĠĠĠĠĠĠ Ġelse Ġreturn ĠOR I ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconvert Dp To Px ( context : ĠContext , Ġdp : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdp Ġ* Ġcontext . resources . display Metrics . density ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( p 0 : ĠRecyclerView . ViewHolder , Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ: ĠResult ? Ġ= Ġl ?. get ( p 1 ) ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= ĠIntent ( con Ġ, ĠDetail Activity :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġp 0 . setIs Re cycl able ( false ); ĊĠĠĠĠĠĠĠ Ġwhen ( p 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠViewHolder Por trail Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt De cri p . setText ( r ?. overview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt Name . setText ( r ?. title ) Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmulti Ġ= ĠMulti Transformation < Bitmap >( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBl ur Transformation ( 2 5 ), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRo unded C orners Transformation ( 1 2 8 , Ġ 0 , ĠRo unded C orners Transformation . Corner Type . BOTTOM ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( r !!. vote Average Ġ> Ġ 6 . 5 F ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlay ou u Params Ġ= ĠRelative Layout . LayoutParams ( Relative Layout . LayoutParams . MATCH _ PARENT Ġ, Ġconvert Dp To Px ( con Ġ, Ġ 2 2 0 f ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . img . layout Params Ġ= Ġlay ou u Params ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( con ). load (" http :// image . t mdb . org / t / p / w 5 0 0 /${ r . backdrop Path }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . img _ place ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( p 0 . img ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . img Play . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( con ). load (" http :// image . t mdb . org / t / p / w 5 0 0 /${ r ?. poster Path }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . bitmap Transform ( Crop Circle Transformation ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . img _ place ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( p 0 . img ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt X em The m . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Result " Ġ, Ġr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( con Ġas ĠMainActivity ). startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . layout . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Result " Ġ, Ġr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( con Ġas ĠMainActivity ). startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠViewHolder L ances cap el Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt De cri p . setText ( r ?. overview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt Name . setText ( r ?. title ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( r !!. vote Average Ġ<= Ġ 6 . 5 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . img Play . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( con ). load (" http :// image . t mdb . org / t / p / w 5 0 0 /${ r ?. backdrop Path }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . img _ place ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( p 0 . img ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . txt X em The m . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Result " Ġ, Ġr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( con Ġas ĠMainActivity ). startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 0 . layout . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Result " Ġ, Ġr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( con Ġas ĠMainActivity ). startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġp 0 ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġif ( ori ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( con Ġas ĠMainActivity Ġ, Ġ" Ng ang " Ġ, ĠToast . LENGTH _ LONG ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( con Ġas ĠMainActivity Ġ, Ġ" D á»įc " Ġ, ĠToast . LENGTH _ LONG ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder Por trail ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġimg Ġ: ĠImageView Ġ= ĠitemView . findViewById ( R . id . img _ port ) ĊĠĠĠĠĠĠĠ Ġvar Ġtxt Name Ġ: ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt Name _ port ) ĊĠĠĠĠĠĠĠ Ġvar Ġtxt De cri p Ġ: ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt De cri p ) ĊĠĠĠĠĠĠĠ Ġvar Ġtxt X em The m Ġ: ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt X em them ) ĊĠĠĠĠĠĠĠ Ġvar Ġlayout Ġ: ĠRelative Layout Ġ= ĠitemView . layout Rel a ĊĠĠĠĠĠĠĠ Ġvar Ġimg Play Ġ: ĠImageView Ġ= ĠitemView . img Play ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder L ances cap el ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġimg Ġ: ĠImageView Ġ= ĠitemView . img _ port 1 ĊĠĠĠĠĠĠĠ Ġvar Ġtxt Name Ġ: ĠTextView Ġ= ĠitemView . txt Name _ port 1 ĊĠĠĠĠĠĠĠ Ġvar Ġtxt De cri p Ġ: ĠTextView Ġ= ĠitemView . txt De cri p 1 ĊĠĠĠĠĠĠĠ Ġvar Ġtxt X em The m Ġ: ĠTextView Ġ= ĠitemView . txt X em them 1 ĊĠĠĠĠĠĠĠ Ġvar Ġlayout Ġ: ĠRelative Layout Ġ= ĠitemView . layout Rel a 1 ĊĠĠĠĠĠĠĠ Ġvar Ġimg Play Ġ: ĠImageView Ġ= ĠitemView . img Play 1 ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġinner Ġclass ĠViewHolder Land scape ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ Ċ // Ċ // ĠĠĠ Ġ} Ċ }