package Ġby . my ln ik ov . transport . viewModel Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġby . my ln ik ov . transport . model . Favorite Ċ import Ġby . my ln ik ov . transport . repository . F avorites Repository Ċ import Ġby . my ln ik ov . transport . view . activity . Schedule Activity Ċ import Ġby . my ln ik ov . transport . view . adapter . F avorites Adapter Ċ import Ġby . my ln ik ov . transport . view . fragment . F avorites Fragment Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjava . util .* ĊĊ Ċ class ĠF avorites ViewModel ( private Ġval Ġfavor ites Fragment : ĠF avorites Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavor ites Repository : ĠF avorites Repository ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġfavor ites Adapter Ġ= ĠF avorites Adapter ( ArrayList ()) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfav Disposable Ġ= Ġfavor ites Repository . getF avorites () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . schedule Id . date Ġ== Ġ" all - days " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġfav List Ġ-> Ġfavor ites Adapter . update Items ( fav List ) Ġ} ĊĠĠĠĠĠĠĠ ĠaddTo Dis pos ables ( fav Disposable ) ĊĊĠĠĠĠĠĠĠ Ġfavor ites Adapter . subscribe Position Click s ( object Ġ: ĠObserver < Favorite > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( favorite : ĠF avorite ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( favorites Fragment . activity , ĠSchedule Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Map Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Map . put ( Schedule Activity . DEP ART URE _ KEY , Ġfavorite . schedule Id . from ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Map . put ( Schedule Activity . DEST INATION _ KEY , Ġfavorite . schedule Id . to ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Map . put ( Schedule Activity . DEP ART URE _ NAME , Ġfavorite . depart ure Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Map . put ( Schedule Activity . DEST INATION _ NAME , Ġfavorite . destination Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Schedule Activity . EXTRA , Ġextra Map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavor ites Fragment . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaddTo Dis pos ables ( d ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget LayoutManager (): ĠLinearLayoutManager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLinearLayoutManager ( favorites Fragment . activity ) ĊĠĠĠ Ġ} Ċ } Ċ