package Ġcom . github . demo . ui . read Me Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . github . demo . data . models . Read Me Details Ċ import Ġcom . github . demo . data . repository . Github Repository Ċ import Ġcom . github . demo . ui . base . Base ViewModel Ċ import Ġcom . github . demo . utils . network . Network Helper Ċ import Ġcom . github . demo . utils . rx . Scheduler Provider Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠRead Me ViewModel ( ĊĠĠĠ Ġcomposite Disposable : ĠComposite Disposable , ĊĠĠĠ Ġprivate Ġval Ġscheduler Provider : ĠScheduler Provider , ĊĠĠĠ Ġnetwork Helper : ĠNetwork Helper , ĊĠĠĠ Ġprivate Ġval Ġgithub Repository : ĠGithub Repository Ċ ) Ġ: ĠBase ViewModel ( composite Disposable , Ġscheduler Provider , Ġnetwork Helper ) Ġ{ ĊĊĠĠĠ Ġval Ġread Me LiveData Ġ= ĠMutable LiveData < Read Me Details >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{} ĊĊĠĠĠ Ġfun Ġget Read Me ( owner : ĠString , Ġrepo Name : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcomposite Disposable . addAll ( ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Repository . get Read Me ("$ owner /$ repo Name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler Provider . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread Me LiveData . post Value ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall From Network ( owner , Ġrepo Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall From Network ( owner , Ġrepo Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcall From Network ( owner : ĠString , Ġrepo Name : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcomposite Disposable . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Repository . do Fetch Read Me ( owner , Ġrepo Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler Provider . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread Me LiveData . post Value ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Repository . save Read Me Details ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRead Me Details ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ owner /$ repo Name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . download Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). subscribe On ( scheduler Provider . computation ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({}, {}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Exception ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ }