package Ġcom . github . mu hr if q ii . parser ss . utils Ċ Ċ import Ġorg . xml pull . v 1 . Xml Pull Parser Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġreturn Ġa Ġlowercase Ġr ss Ġ[ Prefix Named Holder ] Ċ Ġ*/ Ċ internal Ġfun ĠString . to Prefix Named Element (): ĠPrefix Named Holder Ġ= Ġsplit ( de limiters Ġ= ĠarrayOf (" :" ), Ġfalse , Ġ 2 ). let Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( it . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠParse RS SE lement ( it [ 0 ], Ġit [ 1 ]) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠParse RS SE lement ("", Ġit [ 0 ]) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġcombine Ġand Ġreturn Ġr ss Ġelement Ġname Ġand Ġprefix Ċ Ġ*/ Ċ fun ĠXml Pull Parser . get RS SE lement ( ns Aware : ĠBoolean Ġ= Ġfalse ): ĠParse RS SE lement Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( ns Aware ) Ġ{ ĊĠĠĠĠĠĠĠ ĠParse RS SE lement ( lowercase Prefix (), Ġlowercase Name ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġlowercase Name (). to Prefix Named Element () Ġas ĠParse RS SE lement ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġreturn Ġa Ġlowercase Ġr ss Ġname , Ġor Ġempty Ġstring Ġif Ġname Ġreturns Ġnull Ċ Ġ*/ Ċ fun ĠXml Pull Parser . lowercase Name () Ġ= Ġ( name Ġ?: Ġ""). lowercase () Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġreturn Ġa Ġlowercase Ġr ss Ġprefix Ġns , Ġor Ġempty Ġstring Ġif Ġprefix Ġreturns Ġnull Ċ Ġ*/ Ċ fun ĠXml Pull Parser . lowercase Prefix () Ġ= Ġ( prefix Ġ?: Ġ""). lowercase () Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġcombine Ġand Ġreturn Ġr ss Ġattribute Ġname Ġand Ġprefix Ċ Ġ*/ Ċ fun ĠXml Pull Parser . get RSS Attribute Element ( index : ĠInt , Ġns Aware : ĠBoolean Ġ= Ġfalse ): ĠParse RSS Attribute Ġ{ ĊĠĠĠ Ġval Ġfx Prefix : Ġ() Ġ-> ĠString Ġ= Ġ{ Ġ( getAttribute Prefix ( index ) Ġ?: Ġ""). lowercase () Ġ} ĊĠĠĠ Ġval Ġfx Name : Ġ() Ġ-> ĠString Ġ= Ġ{ Ġ( getAttribute Name ( index ) Ġ?: Ġ""). lowercase () Ġ} ĊĠĠĠ Ġval Ġfx Value : Ġ() Ġ-> ĠString Ġ= Ġ{ Ġ( getAttribute Value ( index ) Ġ?: Ġ"") Ġ} ĊĠĠĠ Ġreturn Ġif Ġ( ns Aware ) Ġ{ ĊĠĠĠĠĠĠĠ ĠParse RSS Attribute ( fx Prefix (), Ġfx Name (), Ġfx Value ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= Ġfx Name (). to Prefix Named Element () ĊĠĠĠĠĠĠĠ ĠParse RSS Attribute ( holder . prefix , Ġholder . name , Ġfx Value ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġreturn Ġa Ġnext Ġtext Ġwith Ġtrimmed Ġtext Ċ Ġ*/ Ċ fun ĠXml Pull Parser . next Text Trim med () Ġ= Ġnext Text (). trim () Ċ Ċ /** Ċ Ġ* ĠUtility Ġfunction Ġto Ġget Ġlast Ġvalue Ġof Ġa Ġ[ Linked HashMap ] Ċ Ġ*/ Ċ fun Ġ< K , ĠT > ĠLinkedHashMap < K , ĠT >. last Value () Ġ= Ġvalues . last () Ċ Ċ /** Ċ Ġ* ĠCombine Ġcurrent Ġnamespace Ġstring Ġwith Ġsupplied Ġlocal Ġname Ċ Ġ*/ Ċ fun ĠString . build RSS Name ( local Name : ĠString ) Ġ= Ġ"$ this :$ local Name " Ċ Ċ /** Ċ Ġ* ĠCombine Ġprefix Ġnamespace Ġ( if Ġany ) Ġwith Ġthe Ġlocal Ġname Ċ Ġ*/ Ċ fun ĠParse RS SE lement . build RSS Name () Ġ= Ġif Ġ( has Namespace ()) Ġ"$ prefix :$ name " Ġelse Ġname Ċ