package Ġru . use desk . knowledge base _ gui . screens . article . item Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġru . use desk . common _ gui . Use desk ViewModel Ċ import Ġru . use desk . knowledge base _ sdk . Use desk Knowledge Base Sdk Ċ import Ġru . use desk . knowledge base _ sdk . entity . Use desk Article Content Ċ Ċ internal Ġclass ĠArticle Item ViewModel Ġ: ĠUse desk ViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġarticle Content LiveData Ġ= ĠMutable LiveData ( Article Content State . loading ()) ĊĊĠĠĠ Ġfun Ġinit ( article Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Init Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo It ( Use desk Knowledge Base Sdk . require Instance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Article Rx ( article Id ), Ġon Value Ġ= Ġ{ Ġarticle Content Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Content LiveData . post Value ( Article Content State . loaded ( article Content )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo It ( Use desk Knowledge Base Sdk . require Instance (). add Views Rx ( article Content . id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġon Throwable Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Content LiveData . post Value ( Article Content State . failed ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend Article Rating ( article Id : ĠLong , Ġgood : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjust Do It ( Use desk Knowledge Base Sdk . require Instance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. send Rating Rx ( article Id , Ġgood )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend Article Rating ( article Id : ĠLong , Ġmessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjust Do It ( Use desk Knowledge Base Sdk . require Instance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. send Rating Rx ( article Id , Ġmessage )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠArticle Content State Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate : ĠState , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarticle Content : ĠUse desk Article Content ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġloading () Ġ= ĠArticle Content State ( State . LOADING ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfailed () Ġ= ĠArticle Content State ( State . FAILED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġloaded ( article Content : ĠUse desk Article Content ) Ġ= ĠArticle Content State ( State . LOADED , Ġarticle Content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġenum Ġclass ĠState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLO ADING , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLO ADED , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFAILED ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }