package Ġn iger ia . network . us sd . bank . cod . ui . new _ code Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġn iger ia . network . us sd . bank . cod . data . new _ code . New Code Ċ import Ġn iger ia . network . us sd . bank . cod . databinding . Details ListItem Binding Ċ Ċ class ĠNew Code Adapter Ġ( private Ġval Ġcontext : ĠContext ): ĊĠĠĠ ĠRecyclerView . Adapter < New Code Adapter . New Code VH >() Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġcodes : ĠList < New Code > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġphone Dial Impl : ĠPhone Dial Impl Ġ= Ġ Ġcontext Ġas ĠPhone Dial Impl ĊĠĠĠ Ġlateinit Ġvar Ġ Ġbinding : ĠDetails ListItem Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠNew Code VH Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠDetails ListItem Binding . inflate ( LayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠNew Code VH ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcodes . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠNew Code VH , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( codes [ position ]. code Name , Ġcodes [ position ]. code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ Phone Dial Impl ] ĠInterface Ġfor Ġhandling Ġcode Ġphone Ġdial s ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠPhone Dial Impl { ĊĠĠĠĠĠĠĠ Ġfun Ġhandle Phone Dial ( code : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠNew Code VH ( private Ġval Ġlist Item Binding : ĠDetails ListItem Binding ) ĊĠĠĠĠĠĠĠ Ġ: ĠRecyclerView . ViewHolder ( list Item Binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( code Name : ĠString , Ġcode : ĠString ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item Binding . tv Code . text Ġ= Ġcode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item Binding . tv Code Name . text Ġ= Ġcode Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item Binding . ic Phone Dial . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphone Dial Impl . handle Phone Dial ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ set Code ] Ġfunction Ġfor Ġupdating Ġsaved Ġcodes Ġin ĠUI ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Code ( code : ĠList < New Code >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . codes Ġ= Ġcode ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }