package Ġcom . example . beer di ary Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . media . Ex if Interface Ċ import Ġandroid . util . Log Ċ 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 Ġkotlinx . android . synt hetic . main . beer _ card . view .* Ċ Ċ class ĠBe er ListAdapter ( ĊĠĠĠ Ġprivate Ġval Ġitems : ĠList < Be er And Reviews >, ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġlistener : ĠBe er List Fragment . Be er Fragment Listener Ċ ) Ġ: ĠRecyclerView . Adapter < ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( context ). inflate ( R . layout . beer _ card , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitems [ position ] ĊĠĠĠĠĠĠĠ Ġholder . beer Name . text Ġ= Ġitem . beer ?. beer Name ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Button Click ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġscore Ġ= Ġcontext . getString ( R . string . card _ beer _ score , Ġitem . review ?. score ) ĊĠĠĠĠĠĠĠ Ġif Ġ( score . contains (" 0 ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Ġ= Ġscore . replace (". 0 ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . card Score . text Ġ= Ġscore ĊĠĠĠĠĠĠĠ Ġval Ġphoto Path Ġ= Ġitem . beer ?. image Path ĊĠĠĠĠĠĠĠ Ġval Ġimage Bitmap Ġ= ĠBitmap Factory . decode File ( photo Path ) ĊĠĠĠĠĠĠĠ Ġval Ġex if Ġ= ĠEx if Interface ( photo Path ) ĊĠĠĠĠĠĠĠ Ġval Ġorientation Ġ= Ġex if . getAttribute Int ( Ex if Interface . TAG _ OR IENTATION , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġangle Ġ= Ġrotate Image Angle ( orientation ) ĊĠĠĠĠĠĠĠ Ġholder . beer Image . rotation Ġ= Ġangle . toFloat () ĊĠĠĠĠĠĠĠ Ġholder . beer Image . setImage Bitmap ( image Bitmap ) ĊĠĠĠĠĠĠĠ Ġholder . beer Bre wer . text Ġ= Ġitem . beer ?. bre wer ĊĠĠĠĠĠĠĠ Ġif Ġ( beer Types . containsKey ( item . beer ?. beer Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= Ġbeer Types [ item . beer ?. beer Type ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . card Color Box . set BackgroundColor ( Color . parse Color ( color )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrotate Image Angle ( orientation : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( orientation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , Ġ 4 Ġ-> Ġ 1 8 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 , Ġ 6 Ġ-> Ġ 9 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 , Ġ 8 Ġ-> Ġ 2 7 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġval Ġbeer Name : ĠTextView Ġ= Ġview . beer Name ĊĠĠĠ Ġval Ġcard Score : ĠTextView Ġ= Ġview . card Score ĊĠĠĠ Ġval Ġbeer Image : ĠImageView Ġ= Ġview . beer Image ĊĠĠĠ Ġval Ġbeer Bre wer : ĠTextView Ġ= Ġview . beer B rew ery ĊĠĠĠ Ġval Ġcard Color Box : ĠTextView Ġ= Ġview . card Color Box Ċ }