package Ġcom . the sur ix . example . gest urer ec y cl er . callback ĊĊ Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . model . Month Item Ċ Ċ class ĠMonth Diff Callback ( private Ġval Ġm Old List : ĠList < Month Item >, Ġprivate Ġval Ġm New List : ĠList < Month Item >) Ġ: ĠDiff Util . Callback () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Old List Size (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Old List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget New List Size (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm New List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġare Items Equal ( old Item Position , Ġnew Item Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġare Items Equal ( old Item Position , Ġnew Item Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġare Items Equal ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Item Ġ= Ġm Old List [ old Item Position ] ĊĠĠĠĠĠĠĠ Ġval Ġnew Item Ġ= Ġm New List [ new Item Position ] ĊĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . name Ġ== Ġnew Item . name ĊĠĠĠ Ġ} Ċ } Ċ