package Ġcom . mac . github explorer . presentation . presenter . view model Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . mac . github explorer . domain . entities . Repo Ċ import Ġcom . mac . github explorer . domain . use cases . Get Remote Star red Repos UseCase Ċ import Ġcom . mac . github explorer . presentation . utils . Data Ċ import Ġcom . mac . github explorer . presentation . utils . Status Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠRe pos ViewModel ( private Ġval Ġget Remote Star red Repos UseCase : ĠGet Remote Star red Repos UseCase ) Ġ: ĊĠĠĠ ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable : ĠComposite Disposable Ġ= ĠComposite Disposable () ĊĠĠĠ Ġprivate Ġvar Ġstar red Repositories Ġ= ĠMutable LiveData < Data < List < Repo >> >() ĊĊĠĠĠ Ġfun Ġfetch Star red Repositories ( userName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdis posable Ġ= Ġget Remote Star red Repos UseCase ( userName ). subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" On ĠNext ĠCalled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstar red Repositories . value Ġ= ĠData ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Type Ġ= ĠStatus . SUCCESS FUL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġresponse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" On ĠError ĠCalled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstar red Repositories . value Ġ= ĠData ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Type Ġ= ĠStatus . ERROR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġerror . message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" On ĠComplete ĠCalled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( dis posable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" About Ġto Ġcall Ġcomposite Disposable . clear () ") ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Star red Repositories LiveData (): ĠLive Data < Data < List < Repo >>> Ġ= Ġstar red Repositories ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠRe pos ViewModel :: class . java . simple Name ĊĠĠĠ Ġ} Ċ }