package Ġcom . bang kit . f ani abd ull ah _ made . core . ui Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bang kit . f ani abd ull ah _ made . core . R Ċ import Ġcom . bang kit . f ani abd ull ah _ made . core . databinding . Movies Item Binding Ċ import Ġcom . bang kit . f ani abd ull ah _ made . core . domain . model . Movie Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġjava . util .* Ċ Ċ class ĠMovie Adapter Ġ: ĠRecyclerView . Adapter < Movie Adapter . ListView Holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġlist Data Ġ= ĠArrayList < Movie >() ĊĠĠĠ Ġvar Ġon Item Click : Ġ(( Movie ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġfun ĠsetData ( new List Data : ĠList < Movie > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( new List Data Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġlist Data . clear () ĊĠĠĠĠĠĠĠ Ġlist Data . addAll ( new List Data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠList ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . movies _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġlist Data . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠList ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġlist Data [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠList ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding Ġ= ĠMov ies Item Binding . bind ( item View ) ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load (" https :// image . t mdb . org / t / p / w 5 0 0 ${ data . poster }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ baseline _ local _ movies _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( poster Movie ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Overview . text Ġ= Ġdata . overview ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Title . text Ġ= Ġdata . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click ?. invoke ( list Data [ adapter Position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }