package Ġcom . gw . mv vm . wan . viewModel . login Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . gw . mv vm . framework . base . view model . Base ViewModel Ċ import Ġcom . gw . mv vm . framework . ext . view model . request Ċ import Ġcom . gw . mv vm . framework . network . state . Result State Ċ import Ġcom . gw . mv vm . wan . data . model . UserInfo Ċ import Ġcom . gw . mv vm . wan . data . repository . Login Repository Ċ Ċ /** Ċ Ġ* Ġ çĻ»å½ķ , æ³¨åĨĮ , çĻ» åĩº ViewModel Ċ Ġ* Ġ@ author Ġplay 0 4 5 1 Ċ Ġ*/ Ċ class ĠLogin ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġvar ĠuserName : ĠMutable LiveData < String > Ġ= ĠMutable LiveData () ĊĠĠĠ Ġvar Ġpassword : ĠMutable LiveData < String > Ġ= ĠMutable LiveData () ĊĠĠĠ Ġval Ġconfirm Password : ĠMutable LiveData < String > Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġval Ġlogin Result : ĠMutable LiveData < Result State < UserInfo >> Ġ= ĠMutable LiveData () ĊĠĠĠ Ġval Ġlogout Result : ĠMutable LiveData < Boolean > Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġprivate Ġval Ġrepository : ĠLogin Repository Ġby Ġlazy Ġ{ ĠLogin Repository () Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĻ»å½ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlogin () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( userName . value . isNull Or Blank () Ġ|| Ġpassword . value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest ({ Ġrepository . login ( userName . value !! , Ġpassword . value !! ) Ġ}, Ġlogin Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨åĨĮ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġregister () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( userName . value . isNull Or Blank () Ġ|| Ġpassword . value . isNull OrEmpty () Ġ|| Ġconfirm Password . value . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . register ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserName . value !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword . value !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Password . value !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, Ġlogin Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĻ» åĩº ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlogout () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ({ Ġrepository . logout () Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogout Result . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogout Result . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }