package Ġn utr ition desktop Ċ Ċ import Ġcom . fro go box . nut r ition core . model . news . Article Response Ċ import Ġcom . fro go box . nut r ition core . model . news . Source Response Ċ import Ġcom . fro go box . nut r ition core . sources . N ut ri ApiClient Ċ import Ġcom . fro go box . nut r ition core . sources . N ut ri Api Observer Ċ import Ġcom . fro go box . nut r ition core . sources . N ut ri Response Ċ import Ġcom . fro go box . nut r ition core . sources . news . News ApiService Ċ import Ġcom . fro go box . nut r ition core . sources . news . News DataSource Ċ import Ġcom . fro go box . nut r ition core . util . news . News Url Ċ Ċ /* Ċ Ġ* ĠCreated Ġby Ġfa is alam ir Ġon Ġ 2 9 / 1 2 / 2 1 Ċ Ġ* Ġn utr ition - framework - desktop Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠName ĠĠĠĠ Ġ: ĠMu ham mad ĠF ais al ĠA mir Ċ Ġ* ĠE - mail ĠĠ Ġ: Ġfa is alam ir cs @ gmail . com Ċ Ġ* ĠGithub ĠĠ Ġ: Ġgithub . com / am iris back Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠF ro go Box ĠInc . ĠĠĠĠĠĠ Ċ Ġ* ĠAll Ġrights Ġreserved Ċ Ġ* Ċ Ġ*/ Ċ Ċ object ĠRepository Ġ: ĠNews DataSource Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠRepository :: class . java . simple Name ĊĠĠĠ Ġprivate Ġvar Ġnews ApiService Ġ= ĠN ut ri ApiClient . create < News ApiService >( News Url . BASE _ URL , Ġtrue ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Top Head line ( ĊĠĠĠĠĠĠĠ ĠapiKey : ĠString , ĊĠĠĠĠĠĠĠ Ġq : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsources : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcategory : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcountry : ĠString ?, ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġpage : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġcallback : ĠN ut ri Response . Data Response < Article Response > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ApiService . get Top Head line ( apiKey , Ġq , Ġsources , Ġcategory , Ġcountry , ĠpageSize , Ġpage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġcallback . on Show Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġcallback . on Hide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠN ut ri Api Observer < Article Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠArticle Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . articles ?. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( code : ĠInt , ĠerrorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Failed ( code , ĠerrorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Every things ( ĊĠĠĠĠĠĠĠ ĠapiKey : ĠString , ĊĠĠĠĠĠĠĠ Ġq : ĠString ?, ĊĠĠĠĠĠĠĠ Ġfrom : ĠString ?, ĊĠĠĠĠĠĠĠ Ġto : ĠString ?, ĊĠĠĠĠĠĠĠ Ġq In Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsources : ĠString ?, ĊĠĠĠĠĠĠĠ Ġdomains : ĠString ?, ĊĠĠĠĠĠĠĠ Ġexclude Domains : ĠString ?, ĊĠĠĠĠĠĠĠ Ġlanguage : ĠString ?, ĊĠĠĠĠĠĠĠ ĠsortBy : ĠString ?, ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġpage : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġcallback : ĠN ut ri Response . Data Response < Article Response > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ApiService . get Every things ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠapiKey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġq , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġq In Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsources , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdomains , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexclude Domains , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsortBy , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġcallback . on Show Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġcallback . on Hide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠN ut ri Api Observer < Article Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠArticle Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . articles ?. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( code : ĠInt , ĠerrorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Failed ( code , ĠerrorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Sources ( ĊĠĠĠĠĠĠĠ ĠapiKey : ĠString , ĊĠĠĠĠĠĠĠ Ġlanguage : ĠString , ĊĠĠĠĠĠĠĠ Ġcountry : ĠString , ĊĠĠĠĠĠĠĠ Ġcategory : ĠString , ĊĠĠĠĠĠĠĠ Ġcallback : ĠN ut ri Response . Data Response < Source Response > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ApiService . get Sources ( apiKey , Ġlanguage , Ġcountry , Ġcategory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġcallback . on Show Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġcallback . on Hide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠN ut ri Api Observer < Source Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠSource Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . sources ?. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( code : ĠInt , ĠerrorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Failed ( code , ĠerrorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠPlease ĠAdd ĠYour ĠCode ĠUnder ĠThis ĠLine Ġ-------------------------------------------------------- Ċ Ċ }