package Ġcom . cr az yle g end . kotlin extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Typed Value Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġandroidx . annotation . Color Int ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġh rist ij an Ġon Ġ 8 / 5 / 1 9 Ġto Ġlong Ġlive Ġand Ġpro sper Ġ! Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠGet Ġa Ġcolor Ġfrom Ġthe Ġattribute Ġtheme Ċ Ġ* Ċ Ġ* Ġ@ param Ġattribute Color Ġthe Ġattribute Ġcolor , Ġex ĠR . attr . color Primary Ċ Ġ* Ġ@ return Ġthe Ġcolor , Ġor Ġ[ Color . TRANSP ARENT ] Ġif Ġfailed Ġto Ġresolve Ċ Ġ*/ Ċ @ Color Int Ċ fun ĠContext . theme Attr Color (@ Attr Res Ġattribute Color : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġattrs Ġ= Ġint ArrayOf ( attribute Color ) ĊĠĠĠ Ġval Ġta Ġ= Ġobtain Styled Attributes ( attrs ) ĊĠĠĠ Ġval Ġcolor Ġ= Ġta . getColor ( 0 , ĠColor . TRANSP ARENT ) ĊĠĠĠ Ġta . recycle () ĊĠĠĠ Ġreturn Ġcolor Ċ } ĊĊ Ċ /** Ċ Ġ* ĠGet Ġa Ġdrawable Ġfrom Ġthe Ġattribute Ġtheme Ċ Ġ* Ċ Ġ* Ġ@ param Ġattribute Drawable Ġthe Ġattribute Ġdrawable , Ġex ĠR . attr . selectable Item Background Ċ Ġ* Ġ@ return Ġthe Ġdrawable , Ġif Ġit Ġexists Ġin Ġthe Ġtheme Ġcontext Ċ Ġ*/ Ċ fun ĠContext . theme Attr Drawable (@ Attr Res Ġattribute Drawable : ĠInt ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġval Ġattrs Ġ= Ġint ArrayOf ( attribute Drawable ) ĊĠĠĠ Ġval Ġta Ġ= Ġobtain Styled Attributes ( attrs ) ĊĠĠĠ Ġval Ġdrawable From Theme Ġ= Ġta . get Drawable ( 0 ) ĊĠĠĠ Ġta . recycle () ĊĠĠĠ Ġreturn Ġdrawable From Theme Ċ } Ċ Ċ /** Ċ Ġ* ĠGet Ġa Ġdim en Ġfrom Ġthe Ġattribute Ġtheme Ċ Ġ* Ċ Ġ* Ġ@ param Ġattribute Dim en Ġthe Ġattribute Ġdim en , Ġex ĠR . attr . action Bar Size Ċ Ġ* Ġ@ return Ġthe Ġdim en Ġpixel Ġsize , Ġif Ġit Ġexists Ġin Ġthe Ġtheme Ġcontext . ĠOtherwise , Ġ- 1 Ċ Ġ*/ Ċ fun ĠContext . theme Attr Dim en (@ Attr Res Ġattribute Dim en : ĠInt ): ĠFloat Ġ{ ĊĠĠĠ Ġval Ġtv Ġ= ĠTyped Value () ĊĊĠĠĠ Ġvar Ġvalue Ġ= Ġ- 1 ĊĠĠĠ Ġif Ġ( theme . resolve Attribute ( attribute Dim en , Ġtv , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Ġ= ĠTyped Value . complex To Dimension Pixel Size ( tv . data , Ġresources . display Metrics ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġvalue . toFloat () Ċ } Ċ