package Ġcom . eye . eye . ui . search Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġcom . eye . eye . logic . Main Page Repository Ċ Ċ class ĠSearch ViewModel ( repository : ĠMain Page Repository ): ViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġdata List Ġ= ĠArrayList < String >() ĊĊĠĠĠ Ġprivate Ġvar Ġrequest Param LiveData Ġ= ĠMutable LiveData < Any >() ĊĊĠĠĠ Ġval Ġdata List LiveData Ġ= ĠTransform ations . switch Map ( request Param LiveData ){ ĊĠĠĠĠĠĠĠ Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhot Search Ġ= Ġrepository . refresh Hot Search () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( hot Search ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure < List < String >>( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Ref r sh (){ ĊĠĠĠĠĠĠĠ Ġrequest Param LiveData . value Ġ= Ġrequest Param LiveData . value ĊĠĠĠ Ġ} Ċ }