package Ġcom . clean . news . domain . re positor iy Ċ Ċ import Ġcom . clean . news . domain . common . Query Ċ import Ġcom . clean . news . domain . common . Query Field Ċ import Ġcom . clean . news . domain . model . News Ċ import Ġio . reactivex . rx java 3 . core . Single Ċ Ċ interface ĠNews Repository Ġ{ ĊĠĠĠ Ġfun Ġget Top Head lines ( query : ĠQuery ): ĠSingle < News > ĊĠĠĠ Ġfun Ġget SearchResults ( query : ĠQuery ): ĠSingle < News > Ċ } Ċ Ċ data Ġclass ĠHead Lines Query ( ĊĠĠĠ Ġ@ Query Field (" country ") Ġval Ġcountry : ĠString ? Ġ= Ġ" us ", ĊĠĠĠ Ġ@ Query Field (" q ") Ġval Ġq : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠQuery Ċ Ċ data Ġclass ĠSearch Query ( ĊĠĠĠ Ġ@ Query Field (" q ") Ġval Ġq : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Query Field (" language ") Ġval Ġlanguage : ĠString ? Ġ= Ġ" en ", ĊĠĠĠ Ġ@ Query Field (" sortBy ") Ġval ĠsortBy : ĠString ? Ġ= Ġ" re lev ancy " Ċ ) Ġ: ĠQuery Ċ