package Ġio . ag ora . ag ora Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġio . ag ora . ag ora . component . Alert Ċ import Ġio . ag ora . ag ora . entities . Callback Ċ import Ġio . ag ora . ag ora . entities . Intent Manager Ċ import Ġio . ag ora . ag ora . entities . Request Ċ import Ġio . ag ora . ag ora . entities . Storage Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ Ċ class ĠRegister Activity Ġ: ĠLayout () Ġ{ ĊĠĠĠ Ġval Ġself : ĠRegister Activity Ġ= Ġthis ĊĊĠĠĠ Ġfun Ġgo To Login ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIntent Manager . goTo ( self , ĠMainActivity :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend Request Register ( email : ĠString , Ġpassword : ĠString , Ġfirst name : ĠString , Ġlastname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJSONObject () ĊĊĠĠĠĠĠĠĠ Ġobj . put (" email ", Ġemail ) ĊĠĠĠĠĠĠĠ Ġobj . put (" password ", Ġpassword ) ĊĠĠĠĠĠĠĠ Ġobj . put (" first _ name ", Ġfirst name ) ĊĠĠĠĠĠĠĠ Ġobj . put (" last _ name ", Ġlastname ) ĊĊĠĠĠĠĠĠĠ ĠRequest . getInstance (). send ( this , Ġ" users ", Ġ" POST ", ĠJSONObject (), Ġobj , Ġobject : ĠCallback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsuccess ( obj : ĠAny ? Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent Manager . goTo ( self , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfail ( error : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= ĠJSONArray ( error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlert . ok ( self , ĠgetString ( R . string . error ), Ġerrors . getString ( 0 ) Ġ+ Ġ'.', ĠCallback ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Listeners () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠfindViewById < Button >( R . id . register _ button ). setOnClickListener ( object Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail : ĠString Ġ= Ġget Input String ( R . id . email Input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpassword : ĠString Ġ= Ġget Input String ( R . id . password Input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconf Password : ĠString Ġ= Ġget Input String ( R . id . conf Password Input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst name : ĠString Ġ= Ġget Input String ( R . id . firstname _ container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlastname : ĠString Ġ= Ġget Input String ( R . id . lastname _ container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhas Accepted G SC Ġ: ĠBoolean Ġ= ĠfindViewById < CheckBox >( R . id . checkbox _ g sc ). isChecked () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( password . length Ġ>= Ġ 9 Ġ&& Ġpassword Ġ== Ġconf Password Ġ&& Ġfirst name . isNotEmpty () Ġ&& Ġlastname . isNotEmpty () Ġ&& Ġhas Accepted G SC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Request Register ( email , Ġpassword , Ġfirst name , Ġlastname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! has Accepted G SC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlert . ok ( self , ĠgetString ( R . string . error ), ĠgetString ( R . string . error _ accept _ c gu ), ĠCallback ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlert . ok ( self , ĠgetString ( R . string . error ), ĠgetString ( R . string . fill _ all _ fields ), ĠCallback ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . c gu _ button ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent Manager . goTo ( this , ĠC GU Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState , ĠR . layout . activity _ register , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġset Listeners () ĊĠĠĠ Ġ} Ċ Ċ } Ċ