package Ġcom . hack . antis ur ve ill ance . presentation . extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics .* Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Color Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . widget . ImageView Compat ĊĊ Ċ fun ĠView . set Safe ClickListener ( listener : Ġ( View ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġset OnClickListener ( Safe ClickListener ( listener )) Ċ } Ċ Ċ class ĠSafe ClickListener ( ĊĠĠĠ Ġval Ġwrapped : Ġ( View ) Ġ-> ĠUnit Ċ ) Ġ: ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġlast Click Time Ġ= Ġ 0 L ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġif Ġ( now Ġ> Ġlast Click Time Ġ+ ĠC LIC K _ DE BOUN CE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrapped . invoke ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Click Time Ġ= Ġnow ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠC LIC K _ DE BOUN CE Ġ= Ġ 1 0 0 0 ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠImageView . apply Tint (@ Color Res Ġcolor : ĠInt ) Ġ{ ĊĠĠĠ ĠImageView Compat . setImage Tint List ( ĊĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠ ĠColor State List . valueOf ( Context Compat . getColor ( context , Ġcolor )) ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun ĠTextView . apply TextColor (@ Color Res Ġcolor : ĠInt ) Ġ{ ĊĠĠĠ Ġset TextColor ( Context Compat . getColor ( context , Ġcolor )) Ċ } Ċ Ċ fun ĠContext . get Bitmap From Vector ( drawable Id : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠ Ġval Ġdrawable Ġ= ĠContext Compat . get Drawable ( this , Ġdrawable Id ) ĊĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠ Ġdrawable !!. intrinsic Width , ĊĠĠĠĠĠĠĠ Ġdrawable . intrinsic Height , ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bitmap ) ĊĠĠĠ Ġdrawable . setBounds ( 0 , Ġ 0 , Ġcanvas . width , Ġcanvas . height ) ĊĠĠĠ Ġdrawable . draw ( canvas ) ĊĠĠĠ Ġreturn Ġbitmap Ċ }