package Ġbr . sen ac . game b ros . views . login Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġbr . sen ac . game b ros . Bottom Navigation Activity Ċ import Ġbr . sen ac . game b ros . api . Ret rofit Instance Ċ import Ġbr . sen ac . game b ros . databinding . Fragment Login Create Binding Ċ import Ġbr . sen ac . game b ros . model .* Ċ import Ġbr . sen ac . game b ros . services . AR QUI VO _ LOGIN Ċ import Ġbr . sen ac . game b ros . services . Order Service Ċ import Ġbr . sen ac . game b ros . services . UserService Ċ import Ġbr . sen ac . game b ros . utils . Constants Ċ import Ġbr . sen ac . game b ros . utils . Loading Dialog Ċ import Ġbr . sen ac . game b ros . views . orders . Order List Fragment Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ class ĠLogin Create Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠFragment Login Create Binding ĊĠĠĠ Ġvar Ġloading Ġ= ĠLoading Dialog ( this ) ĊĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Login Create Binding . inflate ( in flater ) ĊĊĊĠĠĠĠĠĠĠ Ġbinding . btn Create User . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( valid a Formulario () Ġ== Ġtrue ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalid a Formulario () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠUser CreateRequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġbinding . edit Field Create User Nome . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġbinding . edit Field Create User Email . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġbinding . edit Field Create User Pass . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc pf Ġ= Ġbinding . edit Field Create User CP F . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphone Ġ= Ġbinding . edit Field Create User Tel . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd User ( request : ĠUser CreateRequest ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= Ġretrofit . create ( UserService :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġservice . cri ar Usuario ( request ) ĊĠĠĠĠĠĠĠ Ġloading . start Loading () ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= Ġobject Ġ: ĠCallback < User Create Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < User Create Response >, Ġresponse : ĠResponse < User Create Response > ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . is Successful ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" callback ", Ġresponse . body (). toString ()) ĊĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogin ( request . email , Ġrequest . password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( object : ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . is Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . error Body ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ERROR ", Ġit . string ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < User Create Response >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ERROR ", Ġ" F al ha Ġao Ġexecut ar ĠserviÃ§o ", Ġt ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( object : ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . is Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcall . enqueue ( callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlogin ( email : ĠString , Ġpassword : ĠString ){ ĊĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= Ġobject : ĠCallback < Token > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Token >, Ġresponse : ĠResponse < Token >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Login Ġ= Ġresponse . body () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" RESPONSE ", Ġresponse Login . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Login ?. token Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġactivity !!. get SharedPreferences ( AR QUI VO _ LOGIN , ĠContext . MODE _ PRIVATE ). edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Int (" id ", Ġresponse Login ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" token ", Ġresponse Login ?. token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" name ", Ġresponse Login ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" phone ", Ġresponse Login ?. phone ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" email ", Ġemail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" password ", Ġpassword ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity , Ġ" Login Ġef et u ado Ġcom Ġsu cesso .", ĠToast . LENGTH _ LONG ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( object : ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . is Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , ĠBottom Navigation Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , 1 ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( object : ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . is Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmsg Ġ= Ġ Ġ" NÃ£o Ġfoi Ġposs ivel Ġef et uar Ġo Ġlogin ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity , Ġmsg , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . error Body ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Login Activity ", Ġit . string ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Token >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( object : ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . is Dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity ," ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Login Activity "," onCreate ", t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRet rofit Instance . login . f azer Login ( Login ( email , Ġpassword )). enqueue ( callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalid a Formulario (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġerror Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . edit Field Create User Email . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . edit Field Create User Email . error Ġ= Ġ" E - mail ĠÃ© Ġob rig atÃ³rio " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( binding . edit Field Create User Nome . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . edit Field Create User Nome . error Ġ= Ġ" Nome ĠÃ© Ġob rig atÃ³rio " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( binding . edit Field Create User CP F . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . edit Field Create User CP F . error Ġ= Ġ" CP F ĠÃ© Ġob rig atÃ³rio " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( binding . edit Field Create User Tel . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . edit Field Create User Tel . error Ġ= Ġ" Tele fone ĠÃ© Ġob rig atÃ³rio " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( binding . edit Field Create User Pass . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . edit Field Create User Pass . error Ġ= Ġ" Sen ha ĠÃ© Ġob rig atÃ³rio " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġerror ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠLogin Create Fragment () ĊĠĠĠ Ġ} Ċ }