package Ġcom . min app . android . test . ui . signin up Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . min app . android . sdk . Global Ċ import Ġcom . min app . android . sdk . auth . Auth Ċ import Ġcom . min app . android . sdk . user . User Ċ import Ġcom . min app . android . test . R Ċ import Ġcom . min app . android . test . ext . launch With IO Ċ import Ġcom . min app . android . test . ext . toast Ċ import Ġcom . min app . android . test . ext . with Main If Active Ċ import Ġcom . min app . android . test . ui . base . Base Fragment Ċ import Ġcom . min app . android . test . util . Auth s Ċ import Ġkotlinx . android . synt hetic . main . fragment _ signin up .* Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . isActive Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ /** Ċ Ġ* Ġ çĻ» åħ¥ çĻ» åĩº Ċ Ġ*/ Ċ class ĠSign In Up Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ signin up , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsign In Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsign In ( sign Type Spinner . sign Type , Ġname Tv . text . toString (), Ġpwd Tv . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsign Up Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsign Up ( sign Type Spinner . sign Type , Ġname Tv . text . toString (), Ġpwd Tv . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġemail Verify Btn . setOnClickListener Ġ{ Ġemail Verify () Ġ} ĊĊĠĠĠĠĠĠĠ Ġreset Pwd Btn . setOnClickListener Ġ{ Ġreset Pwd ( name Tv . text . toString ()) Ġ} ĊĊĠĠĠĠĠĠĠ Ġsign Out Btn . setOnClickListener Ġ{ Ġsign Out () Ġ} ĊĊĠĠĠĠĠĠĠ Ġprint User Btn . setOnClickListener Ġ{ Ġprint CurrentUser () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĻ» åĩº ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsign Out () Ġ{ ĊĠĠĠĠĠĠĠ ĠAuth . logout () ĊĠĠĠĠĠĠĠ Ġtoast (" å·² éĢĢåĩº çĻ»å½ķ ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵåį° å½ĵåīį çĶ¨æĪ· ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġprint CurrentUser () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch With IO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠAuth s . currentUser ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ Ġprint Json ( user ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" èİ·åıĸ ä¸ªäºº ä¿¡æģ¯ å¤±è´¥ ï¼Į ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint Json ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åıĳéĢģ éªĮè¯ģ éĤ®ä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġemail Verify () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch With IO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( Auth s . currentUser . email Verify ()) Ġ{ Ġ"" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ Ġtoast (" å·² åıĳéĢģ éªĮè¯ģ éĤ®ä»¶ ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ Ġtoast (" åıĳéĢģ éªĮè¯ģ éĤ®ä»¶ å¤±è´¥ ï¼Į ${ e . message }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åıĳéĢģ éĩį ç½® å¯Ĩçłģ éĤ®ä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġreset Pwd ( new Email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch With IO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( Auth s . currentUser . reset Pwd ( new Email )) Ġ{ Ġ"" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ Ġtoast (" å·² åıĳéĢģ éĩį ç½® å¯Ĩçłģ éĤ®ä»¶ ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ Ġtoast (" åıĳéĢģ éĩį ç½® å¯Ĩçłģ éĤ®ä»¶ å¤±è´¥ ï¼Į ${ e . message }") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĻ»å½ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsign In ( type : ĠSign Type , Ġname : ĠString , Ġpwd : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock : Ġ() Ġ-> ĠUser ? Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . EMAIL Ġ-> ĠAuth . signIn With Email ( name , Ġpwd ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . USERNAME Ġ-> ĠAuth . signIn With Username ( name , Ġpwd ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . AN ONY MO US Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAuth . signIn Anonymous () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlaunch With IO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġblock . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" çĻ»å½ķ æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser ?. also Ġ{ Ġprint Json ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" çĻ»å½ķ å¤±è´¥ ï¼Į ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint Json ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨åĨĮ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsign Up ( type : ĠSign Type , Ġname : ĠString , Ġpwd : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock : Ġ() Ġ-> ĠUser ? Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . EMAIL Ġ-> ĠAuth . sign Up With Email ( name , Ġpwd ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . USERNAME Ġ-> ĠAuth . sign Up With Username ( name , Ġpwd ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign Type . AN ONY MO US Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" æĹłæ³ķ åĮ ¿ åĲį æ³¨åĨĮ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlaunch With IO Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġblock . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" æ³¨åĨĮ æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser ?. also Ġ{ Ġprint Json ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Main If Active Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" æ³¨åĨĮ å¤±è´¥ ï¼Į ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprint Json ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprint Json ( any : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo Tv . text Ġ= ĠGlobal . gson Print (). toJson ( any ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" SignIn Up Fragment " ĊĠĠĠ Ġ} Ċ }