package Ġcom . bar bbe cker . fund ate c . pet im munity card Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity ; Ċ import Ġcom . bar bbe cker . fund ate c . pet im munity card . activity . T ela Add Person Ċ import Ġcom . bar bbe cker . fund ate c . pet im munity card . activity . T ela In icial Activity Ċ import Ġcom . bar bbe cker . fund ate c . pet im munity card . network . Service Ret rofit Pet Ċ import Ġcom . bar bbe cker . fund ate c . pet im munity card . service . models . Person Ċ import Ġcom . bar bbe cker . fund ate c . pet im munity card . service . models . Session Ċ import Ġcom . ro ger . cat loading library . Cat Loading View Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . content _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġloader Ġ= ĠCat Loading View () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġbutton Save . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( text Email . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Email . error Ġ= ĠgetString ( R . string . invalid _ email ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( text Password . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Password . error Ġ= ĠgetString ( R . string . invalid _ password ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! text Email . text . toString (). isEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! text Password . text . toString (). isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Login () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton Register . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( base Context , ĠT ela Add Person :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest Login (): ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġloader . show ( support FragmentManager , Ġ" cat _ loading ") ĊĊĠĠĠĠĠĠĠ Ġval Ġperson Ġ= ĠPerson ( text Email . text . toString (), Ġtext Password . text . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠService Ret rofit Pet . request Login ( person ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession . cpf Ġ= Ġit . cpf ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession . person Id Ġ= Ġit . person Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloader . dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( application Context , ĠT ela In icial Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Message ( getString ( R . string . error _ invalid _ user )) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġerr Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Message ( getString ( R . string . error _ unexpected _ error )) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Message ( message : String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġmessage , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }