Ċ Ċ package Ġcom . zh an . kt armor . account Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . y xe . kt armor . R Ċ import Ġcom . y xe . kt armor . ui . account . data . Account Repository Ċ import Ġcom . y xe . kt armor . ui . account . data . response . Empty Rsp Ċ import Ġcom . y xe . kt armor . ui . account . data . response . Login Rsp Ċ import Ġcom . y xe . mv vm . bean . Shared Data Ċ import Ġcom . y xe . mv vm . bean . Shared Type Ċ import Ġcom . y xe . mv vm . mv vm . Base ViewModel Ċ import Ġcom . y xe . mv vm . utils . SP Utils ĊĊ Ċ /** Ċ Ġ* Ġ@ author Ġ Ġhy zh an Ċ Ġ* Ġ@ date ĠĠĠĠ 2 0 1 9 / 5 / 2 3 Ċ Ġ* Ġ@ desc ĠĠĠ ĠTODO Ċ Ġ*/ Ċ class ĠAccount ViewModel Ġ: ĠBase ViewModel < Account Repository >() Ġ{ ĊĊĠĠĠ Ġval Ġlogin Data Ġ= ĠMutable LiveData < Login Rsp >() ĊĠĠĠ Ġval Ġregister Data Ġ= ĠMutable LiveData < Login Rsp >() ĊĠĠĠ Ġval Ġcollect Data Ġ= ĠMutable LiveData < Empty Rsp >() ĊĊĠĠĠ Ġfun Ġlogin ( account : ĠString , Ġpassword : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( check ( account , Ġpassword )) Ġreturn ĊĊĊĊĠĠĠĠĠĠĠ Ġquick Launch < Login Rsp > Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Ġ{ Ġshow Loading () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ{ Ġrepository . login ( account , Ġpassword ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSP Utils . getInstance (). put ( it ?. userid . toString (), Ġit ?. update Time !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSP Utils . getInstance (). put (" userid ", ĠĠ Ġit ?. userid !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogin Data . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Fail Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( it . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck ( var arg Ġargs : String ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( Ġstr Ġin Ġargs ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( str )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Data . value Ġ= ĠShared Data ( str Res Ġ= ĠR . string . account _ or _ password _ empty , Ġtype Ġ= ĠShared Type . RESOURCE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcollect () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch UI ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . collect ( 9 0 1 4 ). execute ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollect Data . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister ( account : ĠString , Ġpassword : ĠString , Ġphone : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( check ( account , Ġpassword , phone )) Ġreturn ĊĠĠĠĠĠĠĠ Ġquick Launch < Login Rsp > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Ġ{ Ġshow Loading () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ{ Ġrepository . register ( account , Ġpassword , phone ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister Data . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Fail Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( it . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ