package Ġio . github . fe elf re el inux . wy kop mob il ny . ui . modules . links . up coming Ċ Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . api . links . Links Api Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . base . Base Presenter Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . base . Schedulers Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . models . dataclass . Link Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . fragments . links . Link ActionListener Ċ import Ġio . github . fe elf re el inux . wy kop mob il ny . ui . fragments . links . Links Interactor Ċ import Ġio . reactivex . Single Ċ Ċ class ĠUp coming Presenter ( ĊĠĠĠ Ġval Ġs chedulers : ĠS chedulers , ĊĠĠĠ Ġval Ġlinks Interactor : ĠLinks Interactor , ĊĠĠĠ Ġprivate Ġval Ġlinks Api : ĠLinks Api Ċ ) Ġ: ĠBase Presenter < Up coming View >(), ĠLink ActionListener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSORT BY _ COMMENTS Ġ= Ġ" comments " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSORT BY _ V OT ES Ġ= Ġ" votes " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSORT BY _ DATE Ġ= Ġ" date " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSORT BY _ ACTIVE Ġ= Ġ" active " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpage Ġ= Ġ 1 ĊĠĠĠ Ġvar ĠsortBy Ġ= Ġ" comments " ĊĊĠĠĠ Ġfun Ġget Up coming Links ( should Refresh : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( should Refresh ) Ġpage Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġcomposite Observable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlinks Api . get Up coming ( page , ĠsortBy ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( schedul ers . background Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( schedul ers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. add Items ( it , Ġshould Refresh ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġview ?. disable Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġview ?. show Error Dialog ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdig ( link : ĠLink ) Ġ= Ġlinks Interactor . dig ( link ). process Link Single ( link ) ĊĊĠĠĠ Ġoverride Ġfun Ġremove Vote ( link : ĠLink ) Ġ= Ġlinks Interactor . vote Remove ( link ). process Link Single ( link ) ĊĊĠĠĠ Ġfun ĠSingle < Link >. process Link Single ( link : ĠLink ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Observable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( schedul ers . background Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( schedul ers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġview ?. update Link ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Error Dialog ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. update Link ( link ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ