package Ġde . r ki . cor on aw arn app . covid certificate . v acc ination . ui . cards Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġde . r ki . cor on aw arn app . R Ċ import Ġde . r ki . cor on aw arn app . covid certificate . test . ui . Certificates Adapter Ċ import Ġde . r ki . cor on aw arn app . covid certificate . v acc ination . core . V acc inated Person Ċ import Ġde . r ki . cor on aw arn app . databinding . V acc ination Home Card Binding Ċ import Ġde . r ki . cor on aw arn app . util . lists . diff util . Has Payload Differ Ċ Ċ class ĠV acc ination Card ( parent : ĠViewGroup ) Ġ: ĊĠĠĠ ĠC ertificates Adapter . Certificates Item VH < V acc ination Card . Item , ĠV acc ination Home Card Binding >( ĊĠĠĠĠĠĠĠ ĠR . layout . home _ card _ container _ layout , ĊĠĠĠĠĠĠĠ Ġparent ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġview Binding Ġ= Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠV acc ination Home Card Binding . inflate ( layout Inflater , ĠitemView . findViewById ( R . id . card _ container ), Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġon Bind Data : ĠV acc ination Home Card Binding .( ĊĠĠĠĠĠĠĠ Ġitem : ĠItem , ĊĠĠĠĠĠĠĠ Ġpayload s : ĠList < Any > ĊĠĠĠ Ġ) Ġ-> ĠUnit Ġ= Ġ{ Ġitem , Ġpayload s Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġcur Item Ġ= Ġpayload s . filter Is Instance < Item >(). single OrNull () Ġ?: Ġitem ĊĊĠĠĠĠĠĠĠ Ġperson Name . text Ġ= Ġcur Item . v acc inated Person . fullName ĊĠĠĠĠĠĠĠ Ġwhen Ġ( cur Item . v acc inated Person . get V acc ination Status ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV acc inated Person . Status . COMPLETE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdays Ġ= Ġcur Item . v acc inated Person . getTime Until Imm unity () !!. standard Days . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv acc ination State . text Ġ= Ġcontext . resources . get Quantity String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . plurals . v acc ination _ card _ status _ v acc ination _ complete , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdays , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdays ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv acc ination State . setText ( R . string . v acc ination _ card _ status _ v acc ination _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġcur Item . onClick Action ( item ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠItem ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġv acc inated Person : ĠV acc inated Person , ĊĠĠĠĠĠĠĠ Ġval ĠonClick Action : Ġ( Item ) Ġ-> ĠUnit , ĊĠĠĠ Ġ) Ġ: ĠV acc ination Status Item , ĠHas Payload Differ Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdiff Payload ( old : ĠAny , Ġnew : ĠAny ): ĠAny ? Ġ= Ġif Ġ( old :: class Ġ== Ġnew :: class ) Ġnew Ġelse Ġnull ĊĠĠĠ Ġ} Ċ } Ċ