package Ġcom . github . ll max im ll . todo app . presentation . explore . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġcom . github . ll max im ll . todo app . databinding . Item Task Binding Ċ import Ġcom . github . ll max im ll . todo app . domain . tasks . models . Task Ċ Ċ class ĠTasks Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġon Task Click : Ġ( Long , ĠView ) Ġ-> ĠUnit Ċ ) Ġ: ĠList Adapter < Task , ĠTasks ViewHolder >( Tasks Diff Callback ()){ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠTasks ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Task Binding . inflate ( layout Inflater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠTasks ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠTasks ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( context , ĠgetItem ( position ), Ġon Task Click ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ private Ġclass ĠTasks Diff Callback Ġ: ĠDiff Util . Item Callback < Task >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠTask , Ġnew Item : ĠTask ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠTask , Ġnew Item : ĠTask ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item Ċ }