package Ġsan che z . san che z . ser gio . movie _ add ict s . core . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ /** Ċ Ġ* ĠSupport ĠAdapter Ċ Ġ* Ġ@ param Ġcontext Ċ Ġ* Ġ@ param Ġdata Ċ Ġ*/ Ċ abstract Ġclass ĠSupport Adapter < T : ĠSupport Adapter . Support ViewHolder < E >, ĠE >( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdata : ĠMutable List < E > Ċ ): ĠRecyclerView . Adapter < T >() Ġ{ ĊĊĠĠĠ Ġprotected Ġval Ġinflater Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOn ĠBind ĠModel Ġto ĠView ĠH older ĊĠĠĠĠ Ġ* Ġ@ param Ġholder ĊĠĠĠĠ Ġ* Ġ@ param Ġposition ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠT , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . get OrNull ( position )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate ĠAdapter ĠData ĊĠĠĠĠ Ġ* Ġ@ param ĠnewData ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Data ( new Data : ĠList < E >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd All ( new Data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClear ĠData ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReplace ĠData ĊĠĠĠĠ Ġ* Ġ@ param ĠnewData ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreplace Data ( new Data : ĠList < E >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . clear () ĊĠĠĠĠĠĠĠ Ġadd Data ( new Data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInf late ĠLayout ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġinf late Layout (@ Layout Res Ġlayout Rest : ĠInt , Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( layout Rest , Ġparent , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSupport ĠView ĠH older ĊĠĠĠĠ Ġ* Ġ@ param ĠitemView ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġclass ĠSupport ViewHolder < E >( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġbind ( model : ĠE ) ĊĠĠĠ Ġ} Ċ } ĊĊ