package Ġio . github . v ish num ad . nb as cores . ui . scores Ċ Ċ import Ġio . github . v ish num ad . nb as cores . data . models . Live Score Ċ import Ġio . github . v ish num ad . nb as cores . utils . Diff Callback Ċ Ċ class ĠLive Score Differ ( old : ĠList < Live Score >, Ġnew : ĠList < Live Score >) Ġ: ĊĠĠĠ ĠDiff Callback < Live Score >( old , Ġnew ) Ġ{ ĊĊĠĠĠ Ġenum Ġclass ĠPayload Ġ{ ĠLABEL , ĠHOME _ SCORE , ĠA WAY _ SCORE Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Items Same ( old Item : ĠLive Score , Ġnew Item : ĠLive Score ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . game Id Ġ== Ġnew Item . game Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents Same ( old Item : ĠLive Score , Ġnew Item : ĠLive Score ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . status Ġ== Ġnew Item . status Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . main Label Ġ== Ġnew Item . main Label Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . home Score Ġ== Ġnew Item . home Score Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . away Score Ġ== Ġnew Item . away Score ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Change Payload ( old Item : ĠLive Score , Ġnew Item : ĠLive Score ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchanges Ġ= Ġmutable ListOf < Payload >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ( old Item . main Label Ġ!= Ġnew Item . main Label ) Ġchanges . add ( Payload . LABEL ) ĊĠĠĠĠĠĠĠ Ġif Ġ( old Item . home Score Ġ!= Ġnew Item . home Score ) Ġchanges . add ( Payload . HOME _ SCORE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( old Item . away Score Ġ!= Ġnew Item . away Score ) Ġchanges . add ( Payload . AW AY _ SCORE ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġchanges ĊĠĠĠ Ġ} Ċ }