package Ġcom . liv ewire . aud ax . authentication . ui . reset password Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . liv ewire . aud ax . authentication . Account DataSource Ċ import Ġcom . liv ewire . aud ax . authentication . Account Field Validator Ċ import Ġcom . liv ewire . aud ax . utils . if Non Zero Ċ Ċ class ĠReset Password ViewModel Ġ( private Ġval ĠdataSource : ĠAccount DataSource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġvalidator : ĠAccount Field Validator ): ĠViewModel () Ġ{ ĊĠĠĠ Ġ// ĠTODO : ĠImplement Ġthe ĠViewModel ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Reset Password ViewModel " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset Password ( email : ĠString , Ġsuccess : Ġ() Ġ-> ĠUnit , Ġfailed : Ġ( Int , ĠBoolean ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidator . validate Email ( email ). if Non Zero Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailed ( it , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠdataSource . reset Password ( email , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" Password ĠReset ĠSuccess ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess () ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" Error ĠRe setting ĠPassword ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailed ( it , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }