package Ġcom . sil enced ut . diff adapter demo . adapter Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . sil enced ut . core . provider . legend . pojo . Legend Base Info Ċ import Ġcom . sil enced ut . diff adapter . data . Base Mutable Data Ċ import Ġcom . sil enced ut . diff adapter demo . R Ċ Ċ /** Ċ Ġ* Ġ@ author ĠSil ence D ut Ċ Ġ* Ġ@ date Ġ 2 0 1 8 / 1 2 / 5 Ċ Ġ*/ Ċ data Ġclass ĠLegend ViewData ( var Ġid : Long , Ġvar Ġlegend Base Info : ĠLegend Base Info ?, Ġvar Ġprice : ĠLong ?) Ġ: ĠBase Mutable Data < Legend ViewData >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW _ ID Ġ= ĠR . layout . holder _ legend _ intro duce ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ BASE _ INFO Ġ= Ġ" KEY _ BASE _ INFO " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ PRICE Ġ= Ġ" KEY _ PRICE " ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem View Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠVIEW _ ID ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġare UIS ame ( new Data : ĠLegend ViewData ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . legend Base Info ?. id Ġ== ĠnewData . legend Base Info ?. id Ġ&& Ġthis . price Ġ== ĠnewData . price ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġappend Payload Keys ( new Data : ĠLegend ViewData , Ġpayload Keys : ĠMutable Set < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Payload Keys ( new Data , Ġpayload Keys ) ĊĠĠĠĠĠĠĠ Ġif ( this . legend Base Info Ġ!= ĠnewData . legend Base Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayload Keys . add ( KEY _ BASE _ INFO ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Legend ViewData "," append Diff Payload "+ KEY _ BASE _ INFO ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( this . price Ġ!= ĠnewData . price ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayload Keys . add ( KEY _ PRICE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Legend ViewData "," append Diff Payload "+ KEY _ PRICE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunique Item Feature (): ĠAny Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġthis . id ĊĠĠĠ Ġ} Ċ Ċ }