package Ġbr . com . digital house . play movie app . adapters Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġbr . com . digital house . play movie app . BASE _ URL _ IMAGE Ċ import Ġbr . com . digital house . play movie app . R Ċ import Ġbr . com . digital house . play movie app . domain . movie . Result Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Bitmap Transition Options . with Cross Fade Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġcom . bump tech . glide . request . transition . Drawable Cross Fade Factory ĊĊ Ċ class ĠMov ies Adapter ( ĊĠĠĠ Ġval Ġlistener : ĠMovie Listener Ċ ) Ġ: ĠRecyclerView . Adapter < Movies Adapter . Movie ViewHolder >() Ġ{ ĊĠĠĠ Ġvar Ġlista Movies Ġ= ĠArrayList < Result >() ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠMovie ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ pes quis a , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMovie ViewHolder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMov ies Adapter . Movie ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmovie Ġ= Ġlista Movies [ position ] ĊĠĠĠĠĠĠĠ ĠLog . i (" MO VIS ", Ġlista Movies . size . toString ()) ĊĠĠĠĠĠĠĠ ĠLog . i (" MO VI ", Ġmovie . toString ()) ĊĊĠĠĠĠĠĠĠ Ġholder . txt Nome Fil me Pes quis a . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! movie . title . equals ( null )) Ġmovie . title Ġelse ĠR . string . nod ata . toString () ĊĠĠĠĠĠĠĠ Ġholder . txt An o Fil me Pes quis a . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! movie . release _ date . equals ( null )) Ġmovie . release _ date . substring ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġelse ĠR . string . nod ate . toString () ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠDrawable Cross Fade Factory . Builder (). set Cross Fade Enabled ( true ). build () Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( movie . poster _ path . isNotEmpty () Ġ&& Ġ! movie . poster _ path . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠ ĠG lide . with ( holder . item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( BASE _ URL _ IMAGE Ġ+ Ġ" original " Ġ+ Ġmovie . poster _ path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . progress _ animation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( with Cross Fade ( factory )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . img Cap a Fil me ) Ċ // ĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img Cap a Fil me . setImage Resource ( R . drawable . ic _ robot ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlista Movies . size ĊĊĠĠĠ Ġinterface ĠMovie Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick Movie ( position : ĠInt ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠMovie ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ), ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġimg Cap a Fil me : ĠImageView Ġ= ĠitemView . findViewById ( R . id . img Cap a Fil me ) ĊĠĠĠĠĠĠĠ Ġvar Ġimg Cap a Fil me Back gro ung : ĠImageView Ġ= ĠitemView . findViewById ( R . id . img Cap a Fil me Back gro ung ) ĊĠĠĠĠĠĠĠ Ġvar Ġtxt Nome Fil me Pes quis a : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt Nome Fil me Pes quis a ) ĊĠĠĠĠĠĠĠ Ġvar Ġtxt An o Fil me Pes quis a : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt An o Fil me Pes quis a ) ĊĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġadapter Position ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= ĠRecyclerView . NO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick Movie ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Movie ( list : ĠArrayList < Result >) Ġ{ ĊĠĠĠĠĠĠĠ Ġlista Movies . addAll ( list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }