package Ġcom . s ami u . host . view model Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . s ami u . host . global . IS _ LOGIN Ċ import Ġcom . s ami u . host . global . USER _ NAME Ċ import Ġcom . s ami u . host . model . http . Wan Result Ċ import Ġcom . s ami u . host . model . repository . Wan Login Repository Ċ import Ġcom . s ami u . host . util . Preference Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /** Ċ Ġ* Ġ@ author ĠS ami u Ġ 2 0 2 0 / 4 / 1 7 Ċ Ġ*/ Ċ class ĠW an Login ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġlogin Repository : ĠW an Login Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġis Login Ġby ĠPreference ( IS _ LOGIN , Ġfalse ) ĊĠĠĠ Ġprivate Ġvar Ġnickname Ġby ĠPreference ( USER _ NAME , Ġ"") ĊĠĠĠ Ġval Ġlogin Success Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠ Ġfun Ġlogin ( userName : ĠString , Ġpass Word : ĠString ) Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġlogin Repository . login ( userName , Ġpass Word ) ĊĠĠĠĠĠĠĠ Ġif Ġ( user Ġis ĠW an Result . Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogin Success . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Login Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnickname Ġ= Ġuser . data . nickname ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġlogin Success . value Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ Ċ }