package Ġcom . h 1 0 0 0 0 b 8 4 . android . my book library . ui . scene . bookmark scene Ċ Ċ import Ġcom . h 1 0 0 0 0 b 8 4 . android . my book library . model . Book Ċ import Ġcom . h 1 0 0 0 0 b 8 4 . android . my book library . model . favorite List Ċ import Ġcom . h 1 0 0 0 0 b 8 4 . android . my book library . util . android Thread Ċ import Ġcom . h 1 0 0 0 0 b 8 4 . android . my book library . util . io Thread Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠBook mark Presenter : ĠBook mark Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġsubscriptions Ġ: ĠComposite Disposable Ġby Ġlazy Ġ{ ĠComposite Disposable () Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview : ĠBook mark Contract . View ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġsubscriptions . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġattach ( view : ĠBook mark Contract . View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubscribe Ġ= ĠSingle . just ( favorite List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( io Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( android Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Refresh ing ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Progress ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do OnError Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Refresh ing ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Progress ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġlist : ĠList < Book >? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . load Data Success ( list !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show ErrorMessage ( error . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsubscriptions . add ( subscribe ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete Item ( book : ĠBook ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfavorite List . any Ġ{ Ġb Ġ-> Ġb . isbn 1 3 . equals ( book . isbn 1 3 ) Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġfavorite List . remove ( book ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }