package Ġcom . architect coders . data . repository Ċ Ċ import Ġcom . architect coders . data . source . Authentication State DataSource Ċ import Ġcom . architect coders . data . source . Bio metric Prompt DataSource Ċ Ċ class ĠBio metric Repository ( ĊĠĠĠ Ġprivate Ġval Ġauthentication State DataSource : ĠAuthentication State DataSource , ĊĠĠĠ Ġprivate Ġval Ġbio metric Prompt DataSource : ĠBio metric Prompt DataSource Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġcheck Authentication State (): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġauthentication State DataSource . check Authentication State () ĊĊĠĠĠ Ġfun Ġcheck If User Is Already Authenticated (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġauthentication State DataSource . check If User Is Already Authenticated () ĊĊĠĠĠ Ġfun Ġsave Authentication State ( is Authenticated : ĠBoolean ): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġauthentication State DataSource . save Authentication State ( is Authenticated ) ĊĊĠĠĠ Ġfun Ġcan User Use Bio metric Authentication (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġbio metric Prompt DataSource . can User Use Bio metric Authentication () ĊĊĠĠĠ Ġfun Ġset Bio metric Authentication ( on Fail : Ġ() Ġ-> ĠUnit , ĠonSuccess : Ġ() Ġ-> ĠUnit ): ĠUnit Ġ= ĊĠĠĠĠĠĠĠ Ġbio metric Prompt DataSource . set Bio metric Authentication ( on Fail , ĠonSuccess ) Ċ } Ċ