package Ġcom . example . my library . sections . dashboard Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . util . Base 6 4 Ċ 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 . example . my library . R Ċ import Ġcom . example . my library . d tos . Book Dto Ċ Ċ /** Ċ Ġ* ĠAdapter Ġthe Ġbook Ġcarousel Ġ( horizontal Ġre cycler Ġview ) Ġon Ġthe Ġdashboard Ċ Ġ* Ċ Ġ* Ġ@ property Ġbooks Ġthe Ġbooks Ġused Ġto Ġpopulate Ġthe Ġre cycler Ċ Ġ*/ Ċ class ĠCar ousel Recycler Adapter ( private Ġval Ġbooks : ĠMutable List < Book Dto >) Ġ: ĠRecyclerView . Adapter < Carousel Recycler Adapter . Carousel Book Item >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCar ousel Book Item Ġ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . carousel _ book _ item , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= Ġview . layout Params Ġas ĠViewGroup . Margin LayoutParams ĊĠĠĠĠĠĠĠ Ġlayout Params . width Ġ= Ġparent . width Ġ/ Ġ 2 Ġ- Ġlayout Params . margin Start Ġ- Ġlayout Params . margin End ĊĊĠĠĠĠĠĠĠ Ġview . layout Params Ġ= Ġlayout Params ĊĊĠĠĠĠĠĠĠ Ġreturn ĠCar ousel Book Item ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbooks . count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCar ousel Book Item , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( book Ġ= Ġbooks [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCar ousel Book Item ( book View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( book View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġname : ĠTextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġauthors : ĠTextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġimage : ĠImageView ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġbook View . findViewById ( R . id . carousel Book Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthors Ġ= Ġbook View . findViewById ( R . id . carousel book Author Names ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ= Ġbook View . findViewById ( R . id . carousel Book Cover ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( book : ĠBook Dto ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname ?. text Ġ= Ġbook . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthors ?. text Ġ= Ġbook . get Author String () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠBase 6 4 . decode ( book . image , ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠBitmap Factory . decode ByteArray ( bytes , Ġ 0 Ġ, Ġbytes . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage ?. setImage Bitmap ( map ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }