package Ġcom . ger o sp ri me . gy log . ui . work outs . exercises Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ger o sp ri me . gy log . base . On ItemClickListener Ċ import Ġcom . ger o sp ri me . gy log . models . exercises . Exercise Entity Ċ import Ġcom . ger o sp ri me . gy log . ui . work outs . R ĊĊ Ċ class ĠWork out Exercise Edit Adapter ( private Ġval Ġwork out Ex ercises Ġ: ĠMutable Map < Long , ĠExercise Entity >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġexercises Ġ: ĠList < Exercise Entity >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġimage ClickListener Ġ: ĠOn ItemClickListener < Exercise Entity >? Ġ= Ġnull ) ĊĠĠĠ Ġ: ĠRecyclerView . Adapter < Work out Exercise Edit ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġfun Ġselected Items () Ġ: ĠList < Exercise Entity > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ: ĠArrayList < Exercise Entity > Ġ= Ġarray ListOf () ĊĠĠĠĠĠĠĠ Ġfor Ġ( selected Item Ġin Ġwork out Ex ercises ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . add ( selected Item . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġitems ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselected Items Size () Ġ= Ġwork out Ex ercises . size ĊĊĠĠĠ Ġvar Ġlayout Inflater Ġ: ĠLayoutInflater ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġinternal Image ClickListener Ġ= Ġobject Ġ: ĠOn ItemClickListener < Exercise Entity > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( item : ĠExercise Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage ClickListener ?. on Item Clicked ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠWork out Exercise Edit ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( layout Inflater Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinf late Ġ= Ġlayout Inflater !!. inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . view holder _ work out _ exercise _ add , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠWork out Exercise Edit ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinf late , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwork out Ex ercises , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Image ClickListener ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġexercises . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠWork out Exercise Edit ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġexercise Entity Ġ= Ġexercises [ position ]; ĊĠĠĠĠĠĠĠ Ġholder . set ( exercise Entity ) ĊĠĠĠ Ġ} Ċ } ĊĊ