package Ġcom . xd zl . golden . m ango . application . view model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . xd zl . golden . m ango . application . entity . Handle Response Ċ import Ġcom . xd zl . golden . m ango . application . network . Gold en M ango Api Ċ import Ġkotlinx . coroutines . launch Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠLogin ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLOG _ FLAG Ġ= Ġ" æĵįä½ľ æĪĲåĬŁ " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġ_ is Login Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġis Login : ĠLive Data < Boolean > Ġget () Ġ= Ġ_ is Login ĊĊĊĠĠĠ Ġprivate Ġval Ġ_ userId Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġval ĠuserId : ĠLive Data < String > Ġget () Ġ= Ġ_ userId ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Login ĠViewModel ĠInit ") ĊĠĠĠĠĠĠĠ Ġ_ is Login . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ_ userId . value Ġ= Ġ" 1 2 " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/ **** ĊĠĠĠĠ Ġ* Ġ çĻ» éĻĨ æĵįä½ľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Login ( username : ĠString , Ġpassword : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogin Result Ġ= ĠGold en M ango Api . ret rofit Service . login ( username , Ġpassword ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( login Result . msg Ġ== ĠLOG _ FLAG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Login . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ userId . value Ġ= Ġlogin Result . data . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }