package Ġcom . j ose lu is gs . rss not ic ias . rss Ċ Ċ import Ġandroid . util . Log Ċ import Ġorg . w 3 c . dom . DOM Exception Ċ import Ġorg . w 3 c . dom . Element Ċ import Ġorg . xml . sax . SAX Exception Ċ import Ġjava . io . IOException Ċ import Ġjavax . xml . parsers . Document BuilderFactory Ċ import Ġjavax . xml . parsers . Parser ConfigurationException Ċ Ċ /** Ċ Ġ* ĠControl ador Ġde Ġnot ic ias . ĠSingleton Ċ Ġ*/ Ċ object ĠRSS Controller Ġ{ Ċ ĉ /** Ċĉ Ġ* ĠDev ule ve Ġla Ġlista Ġde Ġnot ic ias Ġde Ġun ĠRSS Ċĉ Ġ* Ġ@ param Ġuri ĠString ĠD ire cciÃ³n Ġdel ĠRSS Ċĉ Ġ* Ġ@ return ĠMutable List < Not icia > ĠList a Ġde Ġnot ic ias Ċĉ Ġ*/ Ċ ĉ fun Ġget Not ic ias ( uri : ĠString ): ĠMutable List < Not icia > Ġ{ Ċĉ ĉ // ĠParser Ċĉ ĉ val Ġfactory Ġ= ĠDocument BuilderFactory . newInstance () Ċĉ ĉ // ĠList a Ġde Ġnot ic ias Ċĉ ĉ val Ġnot ic ias Ġ= Ġmutable ListOf < Not icia >() Ċĉ ĉ // ĠLog . d (" Not ic ias ", Ġ" Not ic ias ĠController Ġuri : Ġ" Ġ+ Ġuri ) ĊĊĉ ĉ try Ġ{ Ċĉĉ ĉ // ĠFil tr amos Ġpor Ġelementos Ġdel ĠRSS Ċĉĉ ĉ val Ġbuilder Ġ= Ġfactory . new Document Builder () Ċĉĉ ĉ val Ġdocument Ġ= Ġbuilder . parse ( uri ) Ċĉĉ ĉ val Ġitems Ġ= Ġdocument . getElementsByTagName (" item ") ĊĊĉĉ ĉ for Ġ( i Ġin Ġ 0 Ġuntil Ġitems . length ) Ġ{ Ċĉĉĉ ĉ val Ġn odo Ġ= Ġitems . item ( i ) Ċĉĉĉ ĉ val Ġnot icia Ġ= ĠNot icia () Ċĉĉĉ ĉ // ĠV amos Ġa Ġcont ar Ġlas Ġimagen es Ġque Ġhay Ċĉĉĉ ĉ var Ġcont ador Imagen es Ġ= Ġ 0 Ċĉĉĉ ĉ var Ġn Ġ= Ġn odo . firstChild Ċĉĉĉ ĉ while Ġ( n Ġ!= Ġnull ) Ġ{ Ċĉĉĉĉ ĉ when Ġ( n . nodeName ) Ġ{ Ċĉĉĉĉĉ ĉ " title " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ not icia . titulo Ġ= Ġn . textContent Ċĉĉĉĉĉĉ ĉ // Ġprintln (" T ÃŃtulo : Ġ$ not icia . titulo "); Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ " link " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ not icia . link Ġ= Ġn . textContent Ċĉĉĉĉĉĉ ĉ // Ġprintln (" En lace : Ġ$ not icia . en lace "); Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ " description " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ not icia . descripcion Ġ= Ġn . textContent Ċĉĉĉĉĉĉ ĉ // Ġprintln (" Descri pciÃ³n : Ġ$ not icia . descripcion "); Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ " pub Date " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ not icia . fecha Ġ= Ġn . textContent Ċĉĉĉĉĉĉ ĉ // Ġprintln (" Fecha : Ġ$ not icia . fecha "); Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ " content : encoded " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ not icia . contenido Ġ= Ġn . textContent Ċĉĉĉĉĉĉ ĉ // Ġprintln (" Cont en ido : Ġ$ not icia . contenido "); Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ " enc lo sure " Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ val Ġimagen : ĠString Ġ= Ġ( n Ġas ĠElement ). getAttribute (" url ") Ċĉĉĉĉĉĉ ĉ // Control amos Ġque Ġsolo Ġre sc ate Ġuna Ġimagen Ċĉĉĉĉĉĉ ĉ if Ġ( cont ador Imagen es Ġ== Ġ 0 ) Ġ{ Ċĉĉĉĉĉĉĉ ĉ not icia . imagen Ġ= Ġimagen Ċĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉ ĉ cont ador Imagen es ++ Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ n Ġ= Ġn . next Sibling Ċĉĉĉ ĉ } Ċĉĉĉ ĉ not ic ias . add ( not icia ) Ċĉĉ ĉ } Ċĉĉ ĉ // ĠLog . d (" Not ic ias ", Ġ" Not ic ias ĠController Ġtam : Ġ" Ġ+ Ġnot ic ias . size . toString ()) Ċĉĉ ĉ return Ġnot ic ias Ċĉ ĉ } Ġcatch Ġ( e : ĠParser ConfigurationException ) Ġ{ Ċĉĉ ĉ Log . d (" Not ic ias "," Error : Ġ" Ġ+ Ġe . message ) Ċĉ ĉ } Ġcatch Ġ( e : ĠIOException ) Ġ{ Ċĉĉ ĉ Log . d (" Not ic ias ", Ġ" Error : Ġ" Ġ+ Ġe . message ) Ċĉ ĉ } Ġcatch Ġ( e : ĠDOM Exception ) Ġ{ Ċĉĉ ĉ Log . d (" Not ic ias ", Ġ" Error : Ġ" Ġ+ Ġe . message ) Ċĉ ĉ } Ġcatch Ġ( e : ĠSAX Exception ) Ġ{ Ċĉĉ ĉ Log . d (" Not ic ias "," Error : Ġ" Ġ+ Ġe . message ) Ċĉ ĉ } Ċĉ ĉ return Ġnot ic ias Ċ ĉ } Ċ }