import Ġcom . cor nd og . rss feed er recyclerview . rss feed er . R ss Poller Ċ import Ġorg . js oup . nodes . Element Ċ import Ġrs sp ol ler . R ss Feed Ċ import Ġrs sp ol ler . R ss Reference Ċ import Ġrs sp ol ler . sort . Sort Criterion Ċ import Ġrs sp ol ler . sort . Sort Strategy Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġtest 1 () ĊĠĠĠ Ġprintln ("- *- *- *- *- *- *- *- *- *- *- * ") ĊĠĠĠ Ġtest 2 () ĊĠĠĠ Ġprintln ("- *- *- *- *- *- *- *- *- *- *- * ") ĊĠĠĠ Ġtest 3 () ĊĠĠĠ Ġtest Polling () ĊĠĠĠ Ġissue () Ċ } Ċ Ċ fun Ġtest 1 () Ġ{ ĊĠĠĠ Ġval Ġfeed er Ġ= ĠR ss Feed . getInstance (" https :// en . wikipedia . org ") ĊĠĠĠ Ġval Ġref Ġ= Ġfeed er . getReference () ĊĠĠĠ Ġval Ġli _ b _ a Ġ= Ġref . child (" li Ġ> Ġb Ġ> Ġa ") ĊĠĠĠ Ġli _ b _ a . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġli _ b _ a _ sorted Ġ= Ġli _ b _ a . sort ( ĊĠĠĠĠĠĠĠ ĠSort Strategy ( object : ĠSort Criterion < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcriterion ValueOf ( element : ĠElement ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġelement . own Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġfalse ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprintln (" ------- update Ġfalse -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems ( false ). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" ------- update Ġtrue -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġtest 2 () Ġ{ ĊĠĠĠ Ġval Ġfeed er Ġ= ĠR ss Feed . getInstance (" https :// en . wikipedia . org ") ĊĠĠĠ Ġval Ġref Ġ= Ġfeed er . getReference () ĊĠĠĠ Ġval Ġli _ b _ a Ġ= Ġref . child (" li Ġ> Ġb Ġ> Ġa ") ĊĠĠĠ Ġli _ b _ a . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġli _ b _ a _ sorted Ġ= Ġli _ b _ a . sort ( Sort Strategy . Text Length ()) ĊĊĠĠĠ Ġprintln (" ------- update Ġfalse -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems ( false ). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" ------- update Ġtrue -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġtest 3 () Ġ{ ĊĠĠĠ Ġval Ġfeed er Ġ= ĠR ss Feed . getInstance (" https :// en . wikipedia . org ") ĊĠĠĠ Ġval Ġref Ġ= Ġfeed er . getReference () ĊĠĠĠ Ġvar Ġli _ b _ a _ sorted Ġ= Ġref . child (" li "). sort ( Sort Strategy . Children Count ()) ĊĠĠĠĠĠĠĠ Ġ. child (" b "). sort ( Sort Strategy . Html Length ()) ĊĠĠĠĠĠĠĠ Ġ. child (" a "). sort ( Sort Strategy . Attr Value (" href ")) ĊĊĠĠĠ Ġli _ b _ a _ sorted . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġli _ b _ a _ sorted Ġ= Ġli _ b _ a _ sorted . sort ( Sort Strategy . Text Length ()) ĊĊĠĠĠ Ġprintln (" ------- update Ġfalse -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems ( false ). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" ------- update Ġtrue -------- ") ĊĠĠĠ Ġli _ b _ a _ sorted . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // TODO : Ġf ata Ġissue : Ġr ss Ġconnection Ġworks Ġon ĠAndroid Ġbut Ġnot Ġon ĠJVM ĠKotlin . Ċ fun Ġtest Polling () Ġ{ ĊĠĠĠ Ġval Ġfeed Ġ= ĠR ss Feed . getInstance (" https :// en . wikipedia . org ") ĊĠĠĠ Ġval Ġref Ġ= Ġfeed . getReference (" li Ġ> Ġb Ġ> Ġa ") ĊĠĠĠ Ġval Ġpol ler Ġ= ĠR ss Poller ( ref , Ġ 3 0 0 0 ) ĊĠĠĠ Ġpol ler . add Callback ( object : ĠR ss Poller . Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Each Polling ( updated R ss Reference : ĠR ss Reference ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( updated R ss Reference . cached Elements ()?. size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġpol ler . start () Ċ } Ċ Ċ fun Ġissue () Ġ{ ĊĠĠĠ Ġval Ġfeed Ġ= ĠR ss Feed . getInstance (" https :// bin ch oo . t istory . com / rss ") ĊĠĠĠ Ġval Ġref Ġ= Ġfeed . getReference (). child (" item Ġ> Ġtitle "). sort ( Sort Strategy . Text Length ()) ĊĠĠĠ Ġref . elems (). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . text ()) ĊĠĠĠ Ġ} Ċ }