package Ġcom . example . k ole jar z . cook Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Patterns Ċ import Ġkotlinx . android . synt hetic . main . activity _ login _ page .* ĊĊ Ċ /** Ċ Ġ* ĠClass Ġresponsible Ġfor Ġservices Ġand Ġfuncion ality Ġof Ġhome Ġpage . Ċ Ġ*/ Ċ class ĠLogin Page Ġ: ĠAppCompatActivity () Ċ { ĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ login _ page ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠListener Ġfor Ġlogin Ġbutton . ĊĠĠĠĠĠĠĠĠ Ġ* ĠChecks Ġif Ġemail Ġand Ġpassword Ġare Ġcorrect . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠ Ġlogin _ button _ login . setOnClickListener { ĊĊĠĠĠĠĠĠĠ Ġif ( isValid Email ( email _ textField _ login . text )) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( is Password Valid ( password _ textField _ login . text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogin _ button _ login . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠUser Page :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ password . text Ġ= Ġ" Password Ġis Ġincorrect " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ password . setTextColor ( Color . parse Color ("# FF 0 0 0 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ email . text Ġ= Ġ" Email Ġis Ġincorrect " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ email . setTextColor ( Color . parse Color ("# FF 0 0 0 0 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠisValid Email ( target : ĠCharSequence ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif ( TextUtils . isEmpty ( target )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPattern s . EMAIL _ ADDRESS . matcher ( target ). matches () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Password Valid ( target : CharSequence ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ! TextUtils . isEmpty ( target ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }