package Ġcom . w lm . mv vm demo . ui . activity Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . w lm . base lib . base . Base V MA ct ivity Ċ import Ġcom . w lm . base lib . utils . Toast Utils Ċ import Ġcom . w lm . mv vm demo . view model . Login ViewModel Ċ import Ġcom . w lm . mv vm demo . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ login .* Ċ Ċ class ĠLogin Activity Ġ: ĠBase V MA ct ivity < Login ViewModel >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġprovider VM Class (): ĠClass < Login ViewModel > Ġ= ĠLogin ViewModel :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ= ĠR . layout . activity _ login ĊĊĠĠĠ Ġoverride Ġfun Ġstart Ob serve () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . start Ob serve () ĊĠĠĠĠĠĠĠ Ġm ViewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui State . observe ( this @ Login Activity , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . show Progress ) Ġshow Progress Dialog () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . show Success ?. let Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Login ", Ġuser . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( this @ Login Activity , Ġ" çĻ»å½ķ æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart K tx Activity < MainActivity >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . show Error ?. let Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show Short ( this @ Login Activity , Ġerror ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Login Repository . is Login ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġstart K tx Activity < MainActivity >() Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġbtn Login . setOnClickListener ( on ClickListener ) ĊĠĠĠĠĠĠĠ Ġbtn Register . setOnClickListener ( on ClickListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠonClick Listener Ġ= ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( it . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn Login Ġ-> Ġlogin () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn Register Ġ-> Ġregister () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlogin () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm ViewModel . login ( et Login Name . text . toString (), Ġet Login Pwd . text . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġregister () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . register ( et Login Name . text . toString (), Ġet Login Pwd . text . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Progress Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogin Progress . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdismiss Progress Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogin Progress . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ } Ċ