package Ġcom . l ai . com ic mt c _ v 2 . ui . search Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . l ai . com ic mt c _ v 2 . bean . search . Com ic Search Response Ċ import Ġcom . l ai . com ic mt c _ v 2 . bean . search . Se ach Hot Response Ċ import Ġcom . l ai . com ic mt c _ v 2 . db . Book Dao Ċ import Ġcom . l ai . com ic mt c _ v 2 . db . History Record Ċ import Ġcom . l ai . com ic mt c _ v 2 . http . Ret rofit Client Ċ import Ġcom . l ai . com ic mt c _ v 2 . ui . comm . Base ViewModel Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġ ĠL ai Ċ Ġ* Ċ Ġ* Ġ@ time Ġ 2 0 1 9 / 1 0 / 1 4 Ġ 1 6 : 0 2 Ċ Ġ* Ġ@ describe Ġdescribe Ċ Ġ* Ċ Ġ*/ Ċ class ĠSearch ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġm Search Bean Ġ= ĠMutable LiveData < Se ach Hot Response >() ĊĠĠĠ Ġval Ġm History Bean Ġ= ĠMutable LiveData < List < History Record >>() ĊĊĠĠĠ Ġval Ġm SearchResult Ġ= ĠMutable LiveData < Com ic Search Response >() ĊĊĠĠĠ Ġprivate Ġval Ġm Book Dao Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠBook Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Search Hot () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Client . service . com ic Search Hot () ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Search Bean . value Ġ= Ġit . return Data ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget History () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm History Bean . value Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ with Context Ġm Book Dao . find History Record () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget SearchResult ( str : ĠString , Ġpager : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit Client . service . com ic Search ( str , pager ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm SearchResult . value Ġ= Ġit . return Data ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete History Record ( com ic Id : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Book Dao . delete History Record ( com ic Id ) ĊĠĠĠ Ġ} Ċ Ċ }