package Ġcom . base . games . ui . pages . detail games . repository Ċ Ċ import Ġcom . base . core . extensions .* Ċ import Ġcom . base . core . ioc . scopes . Fragment Scope Ċ import Ġcom . base . core . networking . Data Fetch Result Ċ import Ġcom . base . core . networking . Scheduler Ċ import Ġcom . base . data . database . model . Fav Games DTO Ċ import Ġcom . base . data . response . Games Detail Response Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ import Ġtim ber . log . Tim ber Ċ Ċ /* Ċ Created Ġby ĠMu ham med ĠY us uf ĠÃ ĩ il Ċ on Ġ 1 1 / 2 8 / 2 0 Ċ */ Ċ Ċ @ Fragment Scope Ċ class ĠDetail Games Fragment Repository ( ĊĠĠĠ Ġprivate Ġval Ġremote : ĠDetail Games Fragment Remote Data , ĊĠĠĠ Ġprivate Ġval Ġlocale : ĠDetail Games Fragment Local Data , ĊĠĠĠ Ġprivate Ġval Ġscheduler : ĠScheduler , ĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable : ĠComposite Disposable Ċ ) Ġ: ĠDetail Games Fragment Contract . Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġinsert Fav ( data Fav : ĠF av Games DTO ) Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġlocale . insert Fav ( data Fav ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ById ( pk : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocale . delete ById ( pk ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġvar Ġgames Detail : ĠPublish Subject < Data Fetch Result < Games Detail Response >> Ġ= ĊĠĠĠĠĠĠĠ ĠPublish Subject . create < Data Fetch Result < Games Detail Response >>() ĊĊĠĠĠ Ġoverride Ġfun Ġget Game Detail ( pk : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġgames Detail . loading ( true ) ĊĠĠĠĠĠĠĠ Ġremote . get Games Detail ( pk ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform On Back Out On Main ( scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgames Detail . success ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġ_ error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Error ( games Detail , Ġ_ error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). addTo ( composite Disposable ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġhandle Error ( result : ĠPublish Subject < Data Fetch Result < T >>, Ġerror : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . failed ( error ) ĊĠĠĠĠĠĠĠ ĠTim ber . e ( error . localized Message ) ĊĠĠĠ Ġ} Ċ }