package Ġcom . h udson . wan android . view model Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġandroidx . paging . cached In Ċ import Ġcom . h udson . wan android . data . entity . Article Ċ import Ġcom . h udson . wan android . data . entity . Paging Retry Load Ċ import Ġcom . h udson . wan android . data . repository . Tree Repository Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠH udson Ġon Ġ 2 0 2 0 / 8 / 2 5 . Ċ Ġ*/ Ċ class ĠTree Item Model Ġ@ Inject Ġconstructor ( private Ġval Ġrepository : ĠTree Repository ): ĠViewModel (){ ĊĠĠĠ Ġval Ġload State Ġ= ĠMutable LiveData < Paging Retry Load >() ĊĊĠĠĠ Ġfun Ġload Articles ( tree Id : ĠInt , Ġsuper Id : ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġrepository . load TreeItem Articles ( tree Id , Ġsuper Id ). cached In ( viewModel Scope ) ĊĊĠĠĠ Ġsuspend Ġfun Ġstar Or Reverse Article ( context : ĠContext , Ġarticle : ĠArticle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . star Or Reverse Article ( context , Ġarticle ) ĊĠĠĠ Ġ} Ċ }