package Ġcom . afd hal _ fa . tre asure . view . login . forgot en Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . afd hal _ fa . tre asure . core . utils . Base Fragment Ċ import Ġcom . afd hal _ fa . tre asure . core . utils . Login Validate Ċ import Ġcom . afd hal _ fa . tre asure . core . utils . make Toast Ċ import Ġcom . afd hal _ fa . tre asure . core . vo . Resource Ċ import Ġcom . afd hal _ fa . tre asure . databinding . Fragment Forgot en Password Binding ĊĊ Ċ class ĠF orgot en Password Fragment Ġ: ĠBase Fragment < Forgot en ViewModel >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Forgot en Password Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠFragment Forgot en Password Binding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Forgot en Password Binding . inflate ( layout Inflater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding . button Forgot en Pass ow rd . setOnClickListener Ġ{ Ġforgot en Password () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit ViewModel (): ĠF orgot en ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewModel Provider ( this )[ Forgot en ViewModel :: class . java ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġforgot en Password () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Email Ġ= Ġbinding . textField Email . edit Text ?. text . toString (). trim () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( validate ( text Email )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforgot en With Email ( text Email ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġforgot en With Email ( text Email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Show ProgressBar () ĊĠĠĠĠĠĠĠ Ġview model . forgot en Password With Email ( text Email ). observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResource . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . data !!. is Reset ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. make Toast (" Password Ġber hasil Ġdi Ġreset Ġsil ah kan Ġc ek Ġemail Ġand a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Hide ProgressBar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResource . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. make Toast ( it . message . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Hide ProgressBar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate ( email : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Login Validate . isValid Email ( email )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . textField Email . error Ġ= Ġ" email Ġsal ah " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . textField Email . error Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! Login Validate . isValid Email ( email )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Show ProgressBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Show ProgressBar () ĊĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Hide ProgressBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Hide ProgressBar () ĊĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ }