package Ġcom . hav ri i ash . d mit ri y . github browser . main . vm Ċ Ċ import Ġandroid . arch . lifecycle . Mutable LiveData Ċ import Ġcom . hav ri i ash . d mit ri y . github browser . data . remote . Remote Resource Ċ import Ġcom . hav ri i ash . d mit ri y . github browser . data . remote . entity . Repo Ċ import Ġcom . hav ri i ash . d mit ri y . github browser . data . repositories . interfaces . Repo Repository Ċ import Ġcom . hav ri i ash . d mit ri y . github browser . main . vm . base . Base ViewModel Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠRepo Detail Files ViewModel Ċ @ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġmodel : ĠRepo Repository , ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠuserName : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepo Name : ĠString Ċ ) Ġ: ĠBase ViewModel < Repo Repository >( model ) Ġ{ ĊĊĠĠĠ Ġval Ġrepo File Observable : ĠMutable LiveData < Remote Resource < List < Repo . File >>> Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġfun Ġget Repo File ( path : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . get Repo Files ( userName , Ġrepo Name , Ġpath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġrepo File Observable . value Ġ= ĠRemote Resource . loading () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġfiles Ġ-> Ġrepo File Observable . value Ġ= ĠRemote Resource . success ( files ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġthrowable Ġ-> Ġrepo File Observable . value Ġ= ĠRemote Resource . error ( throwable ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }