package Ġcom . sg or in ov . ex ile helper . presentation . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġcom . github . ter r ak ok . c icer one . android x . Fragment Screen Ċ import Ġcom . google . firebase . auth . k tx . auth Ċ import Ġcom . google . firebase . k tx . Firebase Ċ import Ġcom . sg or in ov . ex ile helper . R Ċ import Ġcom . sg or in ov . ex ile helper . core . presentation . Base Fragment Ċ import Ġcom . sg or in ov . ex ile helper . databinding . Fragment Email Verification Binding Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠEmail Verification Fragment Ġ: ĠBase Fragment ( R . layout . fragment _ email _ verification ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġafter Register Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Email Verification Binding ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġview Binding Ġ= ĠFragment Email Verification Binding . bind ( view ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġget Binding () ĊĊĠĠĠĠĠĠĠ Ġsend Email Verification Link () ĊĠĠĠĠĠĠĠ Ġbinding . res end Verification . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Email Verification Link () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Email Verification Link () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . res end Verification . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġbinding . res end Verification . setTextColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . disabled Button TextColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠFirebase . auth . currentUser ?. send Email Verification ()?. add On Complete Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠRES END _ TIMEOUT Ġuntil Ġ 0 Ġstep Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . res end Verification Timeout . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . res end _ timeout _ text , Ġi ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . res end Verification . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . res end Verification . setTextColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . primary TextColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Email Ġverification Ġlink Ġsend Ġfailed !", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ( after Register ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Register Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠFirebase . auth . currentUser ĊĠĠĠĠĠĠĠ Ġuser ?. reload ()?. add On Complete Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Successful Ġ&& Ġuser . is Email Verified ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . new Root Screen ( Login Fragment . newInstance ( true )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Email Ġwas Ġnot Ġverified Ġyet !", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠRES END _ TIMEOUT Ġ= Ġ 3 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠFragment Screen Ġ{ ĠEmail Verification Fragment () Ġ} ĊĠĠĠ Ġ} Ċ }