package Ġcom . app . android . ui . base čĊč Ċ import Ġandroid . support . v 7 . util . Diff Util čĊč Ċ /** čĊ Ġ* ĠUse Ġthis Ġclass Ġto Ġmake Ġdiff Ġfor Ġlist Ġview Ġitems čĊ Ġ* Ġ@ author Ġat - ti en ho ang čĊ Ġ*/ č Ċ class ĠDiff < T >( private Ġval Ġold List : ĠList < T >, Ġprivate Ġval Ġnew List : ĠList < T >) Ġ: ĠDiff Util . Callback () Ġ{ čĊĠĠĠ Ġprivate Ġvar Ġare Items The Same Func : Ġ( old Item : ĠT , Ġnew Item : ĠT ) Ġ-> ĠBoolean Ġ= Ġ{ Ġold Item , Ġnew Item Ġ-> Ġold Item Ġ== Ġnew Item Ġ} čĊĠĠĠ Ġprivate Ġvar Ġare Contents The Same Func : Ġ( old Item : ĠT , Ġnew Item : ĠT ) Ġ-> ĠBoolean Ġ= Ġ{ Ġold Item , Ġnew Item Ġ-> Ġold Item Ġ== Ġnew Item Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠDefine Ġitems Ġare Ġthe Ġsame čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġinternal Ġfun Ġare Items The Same ( are Items The Same : Ġ( old Item : ĠT , Ġnew Item : ĠT ) Ġ-> ĠBoolean ): ĠDiff < T > Ġ{ čĊĠĠĠĠĠĠĠ Ġare Items The Same Func Ġ= Ġare Items The Same čĊĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠDefine Ġitem 's Ġcontents Ġare Ġthe Ġsame čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġinternal Ġfun Ġare Contents The Same ( are Items The Same : Ġ( old Item : ĠT , Ġnew Item : ĠT ) Ġ-> ĠBoolean ): ĠDiff < T > Ġ{ čĊĠĠĠĠĠĠĠ Ġare Contents The Same Func Ġ= Ġare Items The Same čĊĠĠĠĠĠĠĠ Ġreturn Ġthis čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠCreate Ġdiff Ġresult čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġinternal Ġfun Ġcalculate Diff () Ġ= ĠDiff Util . calculate Diff ( this ) čĊčĊĠĠĠ Ġoverride Ġfun Ġget Old List Size () Ġ= Ġold List . size čĊčĊĠĠĠ Ġoverride Ġfun Ġget New List Size () Ġ= Ġnew List . size čĊčĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġare Items The Same Func . invoke ( old List [ old Item Position ], Ġnew List [ new Item Position ]) čĊčĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġare Contents The Same Func . invoke ( old List [ old Item Position ], Ġnew List [ new Item Position ]) č Ċ } čĊ