package Ġg q . kir man ak . meal ient . ui . recipes . info Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġg q . kir man ak . meal ient . R Ċ import Ġg q . kir man ak . meal ient . data . recipes . db . entity . Recipe Instruction Entity Ċ import Ġg q . kir man ak . meal ient . databinding . ViewHolder Instruction Binding Ċ import Ġg q . kir man ak . meal ient . ui . recipes . info . Recipe Instructions Adapter . Recipe Instruction ViewHolder Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠRecipe Instructions Adapter Ġ: ĊĠĠĠ ĠList Adapter < Recipe Instruction Entity , ĠRecipe Instruction ViewHolder >( Recipe Instruction Diff Callback ) Ġ{ ĊĊĠĠĠ Ġprivate Ġobject ĠRecipe Instruction Diff Callback Ġ: ĊĠĠĠĠĠĠĠ ĠDiff Util . Item Callback < Recipe Instruction Entity >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠRecipe Instruction Entity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠRecipe Instruction Entity ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item . local Id Ġ== Ġnew Item . local Id ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠRecipe Instruction Entity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠRecipe Instruction Entity ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRecipe Instruction ViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠViewHolder Instruction Binding ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠRecipe Instruction Entity , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . v (" bind () Ġcalled Ġwith : Ġitem Ġ= Ġ$ item , Ġposition Ġ= Ġ$ position ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . step . text Ġ= Ġbinding . root . resources . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . view _ holder _ recipe _ instructions _ step , Ġposition Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . instruction . text Ġ= Ġitem . text ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecipe Instruction ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . v (" onCreate ViewHolder () Ġcalled Ġwith : Ġparent Ġ= Ġ$ parent , Ġview Type Ġ= Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġreturn ĠRecipe Instruction ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Instruction Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecipe Instruction ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . v (" on Bind ViewHolder () Ġcalled Ġwith : Ġholder Ġ= Ġ$ holder , Ġposition Ġ= Ġ$ position ") ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ ĠTim ber . d (" on Bind ViewHolder : Ġitem Ġis Ġ$ item ") ĊĠĠĠĠĠĠĠ Ġholder . bind ( item , Ġposition ) ĊĠĠĠ Ġ} Ċ }