package Ġcom . you . android . ui . login Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . lx j . x popup . X Popup Ċ import Ġcom . you . android . R Ċ import Ġcom . you . android . logic . dao . User Dao Ċ import Ġcom . you . android . ui . homepage . HomePage Activity Ċ import Ġcom . you . android . ui . register . Register Activity Ċ Ċ class ĠLogin Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this ). get ( Login ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ login ) ĊĊĠĠĠĠĠĠĠ Ġval Ġloading Ġ= ĠX Popup . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Loading (" ç»Ŀ èµ ŀ è¯·æ±Ĥ çĻ»å½ķ ä¸Ń ") ĊĊĠĠĠĠĠĠĠ Ġval Ġedit Text PhoneNumber : ĠEditText Ġ= ĠfindViewById ( R . id . edit Text PhoneNumber ) ĊĠĠĠĠĠĠĠ Ġ// Ġ è®° ä½ı è´¦åı· ĊĠĠĠĠĠĠĠ Ġif Ġ( User Dao . is Tel Saved ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtel Ġ= ĠUser Dao . getUser Tel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text PhoneNumber . setText ( tel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġedit Text Password : ĠEditText Ġ= ĠfindViewById ( R . id . edit Text Password ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton Log In : ĠButton Ġ= ĠfindViewById ( R . id . button Log In ) ĊĠĠĠĠĠĠĠ Ġval Ġbutton Log In Register : ĠButton Ġ= ĠfindViewById ( R . id . button Log In Register ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . login LiveData . observe ( this , Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġresult . get OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( res Ġ== Ġ" login Ġsuccessfully ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" çĻ»å½ķ æĪĲåĬŁ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . flag Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠHome Page Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" çĻ»å½ķ å¤±è´¥ : Ġ$ res ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . flag Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading . dismiss () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġbutton Log In . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Tel Ġ= Ġedit Text PhoneNumber . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Password Ġ= Ġedit Text Password . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . user Tel Ġ= Ġuser Tel ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . user Password Ġ= Ġuser Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Tel . isNotEmpty () Ġ&& Ġuser Password . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser Dao . save User Tel ( user Tel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . log In () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" çĶ¨æĪ·åĲį åĴĮ å¯Ĩçłģ ä¸įèĥ½ä¸ºç©º ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton Log In Register . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠRegister Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }