/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠY UME MI ĠInc . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġjp . co . yu mem i . android . code Check . app Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġjp . co . yu mem i . android . code Check . data . model . Git Repo Ċ import Ġjp . co . yu mem i . android . code Check . data . repository . Search Repository Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ ãĥª ãĥĿ ãĤ¸ ãĥĪ ãĥª æ¤ ľç´¢ ãĥĵ ãĥ¥ ãĥ¼ãĥ ¢ ãĥĩ ãĥ« Ċ Ġ* Ċ Ġ* Ġ@ property Ġsearch Repository Ċ Ġ*/ Ċ class ĠGit Repo Search ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġsearch Repository : ĠSearch Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġ/** Ġ æľĢ çµĤ æ¤ ľç´¢ æĹ¥ æĻĤ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġ_ last Search Date Ġ= ĠMutable LiveData < Date >() ĊĠĠĠ Ġval Ġlast Search Date : ĠLive Data < Date > Ġget () Ġ= Ġ_ last Search Date ĊĊĠĠĠ Ġ/** ĠGit ĠRepository ãĥªãĤ¹ãĥĪ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġ_ repositories Ġ= ĠMutable LiveData < List < Git Repo >>() ĊĠĠĠ Ġval Ġrepositories : ĠLive Data < List < Git Repo >> Ġget () Ġ= Ġ_ repositories ĊĊĠĠĠ Ġ/** Ġæ ¤ ľç´¢ ãĥķãĤ£ ãĥ¼ãĥ« ãĥī ãģ® ãĤ¢ ãĥĭ ãĥ¡ ãĥ¼ãĤ·ãĥ§ãĥ³ ãģ® çĬ¶æħĭ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġ_ expanded Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġexpanded : ĠLive Data < Boolean > Ġget () Ġ= Ġ_ expanded ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ expanded . value Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ ¤ ľç´¢ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġname Ġ ãĥª ãĥĿ ãĤ¸ ãĥĪ ãĥª åĲį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Search ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ repositories . value Ġ= Ġsearch Repository . request Git Repositories ( name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ ¤ ľç´¢ ãĥķãĤ£ ãĥ¼ãĥ« ãĥī ãģ® ãĤ¢ ãĥĭ ãĥ¡ ãĥ¼ãĤ·ãĥ§ãĥ³ ãģ® çĬ¶æħĭ ãĤĴ åĪĩ ãĤĬ æĽ¿ ãģĪãĤĭ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġswitch Expand () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ expanded . value ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ expanded . value Ġ= Ġ! it ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ