package Ġcom . my _ 1 st . fin calc . ui . rates Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . my _ 1 st . fin calc . R Ċ import Ġcom . my _ 1 st . fin calc . ui . decimal Formatter 3 p Ċ import Ġkotlin . math . absolute Value Ċ Ċ class ĠAdapter Rec Rates ( ĊĠĠĠ Ġval Ġcontext : ĠContext , Ġvar Ġrates Rows : ĠList < Rates Bar >? Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Adapter Rec Rates . Holder >() Ġ{ ĊĊĠĠĠ Ġinner Ġclass ĠH older ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Name : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Rate Name ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Code : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Rate Code ) ĊĠĠĠĠĠĠĠ Ġval Ġiv Icon : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv Rate Icon ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Price : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Price ) ĊĠĠĠĠĠĠĠ Ġval Ġtv Grow th : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Grow th ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠH older Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . recycler _ rates , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠH older ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġrates Rows ?. size Ġ?: Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠH older , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrates Rows ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcur Rates Row Ġ= Ġ( rates Rows Ġas ĠList < Rates Bar >) [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Price . text Ġ= Ġdecimal Formatter 3 p . format ( cur Rates Row . price ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Name . text Ġ= Ġcur Rates Row . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Code . text Ġ= Ġcur Rates Row . code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Icon . setImage Resource ( cur Rates Row . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcur Rates Row . growth ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ 0 F ) Ġholder . tv Grow th . text Ġ= Ġ"-" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ> Ġ 0 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Grow th . set Compound Draw ables With Intr insic Bounds ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ arrow _ drop _ up _ black _ 2 4 dp , Ġ 0 , Ġ 0 , Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Grow th . set Compound Draw ables With Intr insic Bounds ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ arrow _ drop _ down _ black _ 2 4 dp , Ġ 0 , Ġ 0 , Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdecimal Formatter 3 p . format ( it . absolute Value ). replace (',', Ġ'.') Ġ+ Ġ"% " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Grow th . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ