package Ġme . lazy _ assed ninja . sample . ui . ret rofit Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Component Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġme . lazy _ assed ninja . library . ui . Base ListAdapter Ċ import Ġme . lazy _ assed ninja . library . utils . Executor Utils Ċ import Ġme . lazy _ assed ninja . sample . R Ċ import Ġme . lazy _ assed ninja . sample . databinding . Item You Bi ke Binding Ċ import Ġme . lazy _ assed ninja . sample . vo . You Bi ke Ċ Ċ class ĠRet rofit ListAdapter ( ĊĠĠĠ Ġprivate Ġval Ġdata Binding Component : ĠData Binding Component , ĊĠĠĠ Ġexecutor Utils : ĠExecutor Utils , ĊĠĠĠ Ġprivate Ġval Ġyou Bi ke Click Callback : Ġ(( You Bi ke ) Ġ-> ĠUnit )? Ċ ) Ġ: ĠBase ListAdapter < You Bi ke , ĠItem You Bi ke Binding >( ĊĠĠĠ Ġexecutor Utils Ġ= Ġexecutor Utils , ĊĠĠĠ Ġdiff Callback Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < You Bi ke >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠYou Bi ke , Ġnew Item : ĠYou Bi ke ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠYou Bi ke , Ġnew Item : ĠYou Bi ke ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item . station No Ġ== Ġnew Item . station No ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Binding ( parent : ĠViewGroup ): ĠItem You Bi ke Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . inflate < Item You Bi ke Binding >( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ you _ bi ke , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Binding Component ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . you Bi ke ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyou Bi ke Click Callback ?. invoke ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( binding : ĠItem You Bi ke Binding , Ġitem : ĠYou Bi ke ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . you Bi ke Ġ= Ġitem ĊĠĠĠ Ġ} Ċ }