package Ġcom . sc nu . blockchain _ based _ im _ app Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġkotlinx . android . synt hetic . main . activity _ login .* Ċ Ċ class ĠLogin Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġ@ Suppress Lint (" Range ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( android . os . Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Window (). get Decor View (). set System Ui Visibility ( View . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ login ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. hide () ĊĊĠĠĠĠĠĠĠ Ġlogin . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġ ĠuserID . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= Ġpassword . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Login Succeeded Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmsg : ĠString Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . isEmpty () Ġ-> Ġmsg Ġ= Ġ" id ä¸įèĥ½ä¸ºç©º " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword . isEmpty () Ġ-> Ġmsg Ġ= Ġ" å¯Ĩçłģ ä¸įèĥ½ä¸ºç©º " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Helper Ġ= ĠMy Database Helper ( this , Ġ" IM _ app . db ", Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdb Helper . readable Database ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġdb . raw Query (" select Ġpassword Ġfrom Ġuser Ġwhere Ġid = ?", ĠarrayOf ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( password Ġ== Ġcursor . getString ( cursor . getColumnIndex (" password "))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Login Succeeded Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ= Ġ" å¯Ĩçłģ éĶĻè¯¯ ï¼ģ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg Ġ= Ġ" æŃ¤ id ä¸įåŃĺåľ¨ ï¼ģ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( is Login Succeeded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ çĻ»å½ķ æĪĲåĬŁ ï¼Į è¿Ľåħ¥ çĶ¨æĪ· çķĮéĿ¢ ãĢĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent = Intent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" userID ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ çĻ»å½ķ å¤±è´¥ ï¼Į æĺ¾ç¤º æıĲç¤º æ¡Ĩ ï¼Į è¯´æĺİ å¤±è´¥ åİŁåĽł ãĢĤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* AlertDialog . Builder ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle (" æıĲç¤º ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Message ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Positive Button (" ç¡®å®ļ ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" æıĲç¤º ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" ç¡®å®ļ ", null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åľĨ è§Ĵ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . getWindow ()?. setBackground Drawable Resource ( R . drawable . circle _ list ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġregister . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent = Intent ( this , ĠRegister :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }