package Ġcom . b ren tp an ther . bitcoin widget Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġjava . util .* Ċ Ċ internal Ġclass ĠCoin Selection Adapter Ġinternal Ġconstructor ( private Ġval Ġlistener : Ġ(( coin : ĠCoin ) Ġ-> Ġkotlin . Unit )? ) Ġ: ĠRecyclerView . Adapter < Coin Selection Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcoins : ĠMutable List < Coin > Ġ= ĠCoin . values (). to Mutable List () ĊĊĠĠĠ Ġinternal Ġclass ĠViewHolder ( v : ĠCoin Selection View ) Ġ: ĠRecyclerView . ViewHolder ( v ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcoins . sort With ( Comparator Ġ{ Ġo 1 , Ġo 2 Ġ-> Ġo 1 . coin Name . compareTo ( o 2 . coin Name ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( Coin Selection View ( parent . context )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( holder . item View Ġas ĠCoin Selection View ). set Coin ( coins [ position ], Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCoin . values (). size ĊĠĠĠ Ġ} Ċ }