package Ġcom . sh anon im . card sample . menu Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġjava . util . Objects Ċ Ċ class ĠG lass MenuItem ( val Ġicon : ĠDrawable , Ġval Ġtext : ĠString ) Ġ{ ĊĊĠĠĠ Ġclass ĠItem Diff Comparator Ġ: ĠDiff Util . Item Callback < G lass MenuItem ?> () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠG lass MenuItem , Ġnew Item : ĠG lass MenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠG lass MenuItem , Ġnew Item : ĠG lass MenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġother . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġother Ġas ĠG lass MenuItem ĊĠĠĠĠĠĠĠ Ġreturn Ġicon Ġ== Ġthat . icon Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ== Ġthat . text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠObjects . hash ( icon , Ġtext ) ĊĠĠĠ Ġ} Ċ } Ċ