package Ġuk . n hs . n hs x . covid 1 9 . android . app . ex posure . en counter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . view Models Ċ import Ġjavax . inject . Inject Ċ import Ġkotlinx . android . synt hetic . main . activity _ ex posed _ notification . is olation Title Ċ import Ġkotlinx . android . synt hetic . main . activity _ ex posed _ notification . remaining Days In Isolation Ċ import Ġkotlinx . android . synt hetic . main . activity _ ex posed _ notification . understand Button Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . MainActivity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . R Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . R . plurals Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . app Component Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . common . Base Activity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . common . ViewModel Factory Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . ex posure . en counter . Encounter Detection ViewModel . Ex posed Notification Result . Consent Confirmation Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . ex posure . en counter . Encounter Detection ViewModel . Ex posed Notification Result . Isolation Duration Days Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . startActivity Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . util . view utils . setOn Single ClickListener Ċ Ċ class ĠEn counter Detection Activity Ġ: ĠBase Activity ( R . layout . activity _ ex posed _ notification ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġfactory : ĠViewModel Factory < Encounter Detection ViewModel > ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠEn counter Detection ViewModel Ġby Ġview Models Ġ{ Ġfactory Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġapp Component . inject ( this ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . is olation State (). observe ( this ) Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠI sol ation Duration Days Ġ-> Ġdisplay Isolation Days ( state ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCon sent Confirmation Ġ-> Ġnavigate To Status Screen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġunderstand Button . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . confirm Consent () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . get Isolation Days () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Status Screen () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity < MainActivity > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay Isolation Days ( state : ĠI sol ation Duration Days ) Ġ{ ĊĠĠĠĠĠĠĠ Ġremaining Days In Isolation . text Ġ= Ġresources . get Quantity String ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpl urals . state _ is olation _ days , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . days , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . days ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"${ is olation Title . text } Ġ${ remaining Days In Isolation . text }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ= Ġcontext . startActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Intent ( context ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Intent ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠEn counter Detection Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ