package Ġnet . ais cope . g dd _ app . ui . login Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . activity . result . Activity Result Launcher Ċ import Ġnet . ais cope . g dd _ app . network . Firebase Authenticator Ċ import Ġnet . ais cope . g dd _ app . repository . Health Facility Repository Ċ import Ġnet . ais cope . g dd _ app . repository . Micro s cop ist Repository Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLogin Presenter Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġview : ĠLogin View , ĊĠĠĠ Ġprivate Ġval Ġhealth Facility Repository : ĠHealth Facility Repository , ĊĠĠĠ Ġprivate Ġval Ġfirebase Authenticator : ĠFirebase Authenticator , ĊĠĠĠ Ġprivate Ġval Ġmicro s cop ist Repository : ĠMicro s cop ist Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcallback : ĠFirebase Authenticator . Callback Ġ= Ġobject Ġ: ĠFirebase Authenticator . Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon SignIn Success () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhealth Facility Repository . cache Health Facility () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo In () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon SignIn Failure () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . exit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgo In () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( micro s cop ist Repository . load (). has Accepted Privacy Policy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . goTo Main () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . goTo Privacy Policy () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart ( log In : ĠActivity Result Launcher < Intent >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( firebase Authenticator . is User Signed In ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhealth Facility Repository . cache Health Facility () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo In () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirebase Authenticator . start Firebase Auth SignIn ( log In , Ġcallback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Activity Result ( result Code : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfirebase Authenticator . check For SignIn Result ( result Code , Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ