package Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result Ċ Ċ import Ġandroidx . annotation . String Res Ċ import Ġdagger . Re usable Ċ import Ġde . r ki . cor on aw arn app . R Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . core . transaction . D cc Ticket ing Result Item Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . core . transaction . D cc Ticket ing Result Token Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result . items . Result Rule VH Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result . items . Description VH Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result . items . Validation F aq VH Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result . items . Testing Info VH Ċ import Ġde . r ki . cor on aw arn app . dc ct icket ing . ui . validation result . items . Validation Result Item Ċ import Ġde . r ki . cor on aw arn app . util . Time And Date Extensions . seconds To Instant Ċ import Ġde . r ki . cor on aw arn app . util . Time And Date Extensions . to Short DateTime Format Ċ import Ġde . r ki . cor on aw arn app . util . Time And Date Extensions . to User TimeZone Ċ import Ġde . r ki . cor on aw arn app . util . ui . Lazy String Ċ import Ġde . r ki . cor on aw arn app . util . ui . to Res olving String Ċ import Ġorg . joda . time . Instant Ċ import Ġjavax . inject . Inject Ċ Ċ @ Re usable Ċ class ĠValidation Result Item Creator Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġfun Ġgenerate Items ( ĊĠĠĠĠĠĠĠ Ġresult Token : ĠD cc Ticket ing Result Token , ĊĠĠĠĠĠĠĠ Ġservice Provider : ĠString ĊĠĠĠ Ġ): ĠList < Validation Result Item > Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠ Ġtesting Info VH Item ( result Token . iat . seconds To Instant ()), ĊĠĠĠĠĠĠĠ Ġdescription VH Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Token . result , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice Provider ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġfa q VH Item () ĊĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġresult Token . results . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( result Rule VH Item ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. toList () ĊĊĠĠĠ Ġprivate Ġfun Ġresult Rule VH Item ( ĊĠĠĠĠĠĠĠ Ġresult Item : ĠD cc Ticket ing Result Item ĊĠĠĠ Ġ): ĠResult Rule VH . Item Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġicon Res Ġ= Ġwhen Ġ( result Item . result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD cc Ticket ing Result Token . D cc Result . OPEN Ġ-> ĠR . drawable . ic _ grey _ question _ mark ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . ic _ high _ risk _ alert ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrule Description Ġ= Ġresult Item . details ĊĠĠĠĠĠĠĠ Ġval Ġidentifier Ġ= Ġresult Item . identifier ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResult Rule VH . Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Icon Res Ġ= Ġicon Res , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Description Text Ġ= Ġrule Description , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier Ġ= Ġidentifier ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdescription VH Item ( ĊĠĠĠĠĠĠĠ Ġresult : ĠD cc Ticket ing Result Token . D cc Result , ĊĠĠĠĠĠĠĠ Ġservice Provider : ĠString ĊĠĠĠ Ġ): ĠDescription VH . Item Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġval Ġtitle : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġsubtitle : ĠLazy String ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD cc Ticket ing Result Token . D cc Result . PASS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ valid _ body . to Res olving String ( service Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ valid _ header ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD cc Ticket ing Result Token . D cc Result . OPEN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ invalid _ body . to Res olving String ( service Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ open _ header ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD cc Ticket ing Result Token . D cc Result . FAIL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ invalid _ body . to Res olving String ( service Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠR . string . dcc _ ticket ing _ result _ invalid _ header ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDescription VH . Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ= Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġsubtitle ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfa q VH Item (): ĠValidation F aq VH . Item Ġ= ĠValidation F aq VH . Item ĊĊĠĠĠ Ġprivate Ġfun Ġtesting Info VH Item ( validated At : ĠInstant ): ĠTesting Info VH . Item Ġ= ĊĠĠĠĠĠĠĠ ĠTesting Info VH . Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Ġ= ĠR . string . dcc _ ticket ing _ result _ testing _ details . to Res olving String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidated At . to User TimeZone (). to Short DateTime Format () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ