package Ġcom . pand ul ape ter . be agle . app Demo . feature . main . examples . authentication . list Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . pand ul ape ter . be agle . app Demo . databinding . Item Authentication Button Binding Ċ import Ġcom . pand ul ape ter . be agle . app Demo . feature . shared . list . Base ViewHolder Ċ import Ġcom . pand ul ape ter . be agle . utils . extensions . in flater Ċ Ċ class ĠButton ViewHolder Ġprivate Ġconstructor ( ĊĠĠĠ Ġbinding : ĠItem Authentication Button Binding , ĊĠĠĠ Ġon Button Pressed : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠBase ViewHolder < Item Authentication Button Binding , ĠButton ViewHolder . Ui Model >( binding ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding Adapter Position Ġ!= ĠRecyclerView . NO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Button Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠUi Model ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġid : ĠString Ġ= Ġ" button " ĊĠĠĠ Ġ) Ġ: ĠAuthentication ListItem ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Button Pressed : Ġ() Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ) Ġ= ĠButton ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= ĠItem Authentication Button Binding . inflate ( parent . in flater , Ġparent , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Button Pressed Ġ= Ġon Button Pressed ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }