package Ġcom . eye . eye . ui . community . comm end Ċ Ċ 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 Ċ import Ġcom . eye . eye . logic . model . Community Recommend Ċ import Ġcom . eye . eye . logic . network . api . Main Page Service Ċ Ċ class ĠCom m end ViewModel ( repository : ĠMain Page Repository ): ĠViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġdata List Ġ= ĠArrayList < Community Recommend . Item >() ĊĊĠĠĠ Ġprivate Ġvar Ġrequest Param LiveData Ġ= ĠMutable LiveData < String >() ĊĊĠĠĠ Ġvar Ġnext Page Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġdata List LiveData Ġ= ĠTransform ations . switch Map ( request Param LiveData ) Ġ{ Ġurl Ġ-> ĊĠĠĠĠĠĠĠ Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres ut lt Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecommend Ġ= Ġrepository . refresh Community Recommend ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( recommend ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure < Community Recommend >( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( res ut lt ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Param LiveData . value Ġ= ĠMain Page Service . COMM UN ITY _ RE COMM END _ URL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonLoad More () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Param LiveData . value Ġ= Ġnext Page Url Ġ?: Ġ"" ĊĠĠĠ Ġ} Ċ }