package Ġcom . is lam vers ity . view _ component Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . air bnb . e po xy . Callback Prop Ċ import Ġcom . air bnb . e po xy . Model Prop Ċ import Ġcom . air bnb . e po xy . Model View Ċ import Ġcom . is lam vers ity . view _ component . databinding . Row License Binding Ċ Ċ @ Model View ( ĊĠĠĠ Ġauto Layout Ġ= ĠModel View . Size . MATCH _ WIDTH _ WRAP _ HEIGHT , Ġsave ViewState Ġ= Ġtrue Ċ ) Ċ class ĠLicense Item Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattribute Set : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 , Ċ ) Ġ: ĠLinearLayout ( context , Ġattribute Set , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġ= ĠRow License Binding . inflate ( LayoutInflater . from ( context ), Ġthis , Ġtrue ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġui Item : ĠLicense Item Model ĊĊĠĠĠ Ġ@ Model Prop ĊĠĠĠ Ġfun Ġui Item ( item : ĠLicense Item Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġui Item Ġ= Ġitem ĊĠĠĠĠĠĠĠ Ġbinding . txt License Row . text Ġ= Ġui Item . name ĊĠĠĠĠĠĠĠ Ġbinding . txt License URL Row . text Ġ= Ġui Item . address ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Callback Prop ĊĠĠĠ Ġfun Ġlistener ( listener : Ġ(( row Action : ĠLicense Item Model ) Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener ( null ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ( ui Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠLicense Item Model Ġ( val Ġid : ĠInt , Ġval Ġname : ĠString , Ġval Ġaddress : ĠString )