package Ġcom . reddit . indicator fast scroll Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġandroidx . annotation . Dim en Res Ċ import Ġandroidx . annotation . Style Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . res . getResource Id OrThrow Ċ import Ġandroidx . core . content . res . use Ċ Ċ internal Ġfun ĠContext . getColor From Attr (@ Attr Res Ġattr Id : ĠInt ): ĠInt Ġ{ ĊĠ Ġreturn ĠContext Compat . getColor ( this , Ġget Res Id ( attr Id )) Ċ } Ċ Ċ internal Ġfun ĠContext . getColor State List From Attr (@ Attr Res Ġattr Id : ĠInt ): ĠColor State List Ġ{ ĊĠ Ġreturn ĠContext Compat . getColor State List ( this , Ġget Res Id ( attr Id )) !! Ċ } Ċ Ċ internal Ġfun ĠContext . get Res Id (@ Attr Res Ġattr : ĠInt ): ĠInt Ġ{ ĊĠ Ġreturn Ġtheme . obtain Styled Attributes ( int ArrayOf ( attr )). use Ġ{ ĊĠĠĠ Ġit . getResource Id OrThrow ( 0 ) ĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠContext . get Dim en Pixel Size (@ Dim en Res Ġdim en : ĠInt ): ĠInt Ġ{ ĊĠ Ġreturn Ġresources . get Dimension Pixel Size ( dim en ) Ċ } Ċ Ċ internal Ġfun ĠView . throw If Missing Attrs (@ Style Res Ġstyle Res : ĠInt , Ġblock : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġblock () ĊĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠ Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠ Ġ" This Ġ${ this :: class . java . simple Name } Ġis Ġmissing Ġan Ġattribute . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Add Ġit Ġto Ġits Ġstyle , Ġor Ġmake Ġthe Ġstyle Ġinherit Ġfrom Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ resources . getResource Name ( style Res )}. ", ĊĠĠĠĠĠĠĠ Ġe ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ