package Ġmx . yellow me . you st . core . extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . util . Attribute Set Ċ Ċ /** Ċ Ġ* ĠRead ĠXML Ġattributes Ġfor Ġa Ġcustom Ġcomponent . Ċ Ġ* Ċ Ġ* ĠUsually Ġon Ġcustom Ġwidget Ġcomponents Ġwe Ġshould Ġhave Ġand Ġ" attrs " Ġvariable Ġpassed Ġto Ġthe Ċ Ġ* Ġclass Ġconstructor . ĠGiven Ġa Ġcustom Ġ" style able " Ġyou Ġcan Ġcall Ġthis Ġmethod Ġto Ġretrieve Ġthe Ċ Ġ* ĠXML Ġattributes Ġas Ġa Ġ[ Typed Array ] Ċ Ġ*/ Ċ fun ĠAttributeSet . as Type Array ( context : ĠContext , Ġstyle able Res Id : ĠInt Array ): ĠTyped Array ? Ġ{ ĊĠĠĠ Ġreturn Ġcontext . theme . obtain Styled Attributes ( ĊĠĠĠĠĠĠĠ Ġthis , Ġstyle able Res Id , Ġ 0 , Ġ 0 ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* ĠAllows Ġto Ġaccess Ġ[ Typed Array ] Ġmethods Ġin Ġorder Ġto Ġretrieve Ġdata Ġby Ġwrapping Ġthe Ċ Ġ* Ġ[ Attribute Set . as Type Array ] Ġmethod . Ċ Ġ*/ Ċ inline Ġfun ĠAttributeSet . consume Type Array ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġstyle able Res Id : ĠInt Array , ĊĠĠĠ Ġconsume : ĠTyped Array . () Ġ-> ĠUnit Ġ= Ġ{} Ċ ) Ġ{ ĊĊĠĠĠ Ġas Type Array ( context , Ġstyle able Res Id )?. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġconsume () ĊĠĠĠĠĠĠĠ Ġre cycle () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠTyped Array . string OrThrow ( string Id : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠgetString ( string Id ) Ġ?: Ġthrow ĠRuntimeException (" Value Ġfor Ġ$ string Id Ġmust Ġnot Ġbe Ġnull ") Ċ } Ċ