package Ġic ed . eg ret . palette . util Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . core . graphics . Color Utils Ċ Ċ /** Ċ Ġ* ĠHandles Ġbasic Ġcolor - related Ġoperations . Ċ Ġ* Ċ Ġ* ĠTODO : Ġmost Ġof Ġthis Ġstuff Ġcan Ġprobably Ġbe Ġmoved Ġinto ĠBase Activity , Ġsince Ġa Ġlot Ġof Ġvisual Ġstuff Ġis Ġthere Ġany ways . Ċ Ġ*/ Ċ object ĠP ainter Ġ{ ĊĊĠĠĠ Ġval ĠD AR KEN _ SL IGHT Ġ= ĠColor . rgb ( 2 0 0 , Ġ 2 0 0 , Ġ 2 0 0 ) ĊĠĠĠ Ġval ĠD AR KEN _ MO DER ATE Ġ= ĠColor . rgb ( 1 0 0 , Ġ 1 0 0 , Ġ 1 0 0 ) ĊĊĠĠĠ Ġprivate Ġval Ġvalid Dar ken Strength s Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD AR KEN _ SL IGHT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD AR KEN _ MO DER ATE ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Drawable Color Ġ= ĠColor . WHITE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠChanges Ġthe Ġcolor Ġof Ġobject Ġto Ġa Ġpredetermin ed Ġcolor . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpaint Drawable ( drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawable ?. mutate () Ġ Ġ// Ġmake Ġdrawable Ġnot Ġshare Ġstate Ġwith Ġothers ĊĠĠĠĠĠĠĠ Ġdrawable ?. set Tint ( current Drawable Color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMake Ġgiven ĠImageView Ġdark er . ĊĠĠĠĠ Ġ* Ġhttps :// stackoverflow . com / a / 1 5 8 9 6 8 1 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdar ken ( imageView : ĠImageView , Ġstrength : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( strength Ġ! in Ġvalid Dar ken Strength s ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( strength Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . color Filter Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . setColor Filter ( strength , Ġandroid . graphics . Port er D uff . Mode . MULTI PLY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGiven Ġa Ġcolor Ġthat Ġis Ġto Ġbe Ġthe Ġprimary Ġcolor , Ġreturn Ġan Ġapproximation Ġof ĊĠĠĠĠ Ġ* Ġthe Ġprimary Ġcolor Ġdark Ġversion . ĊĠĠĠĠ Ġ* Ġhttps :// material . io / design / color /# color - theme - creation ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor Hex Ġa Ġstring Ġin Ġform Ġ# RR G GB B Ġor Ġ# A ARR G GB B ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Material Dark ( color Hex : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Int Ġ= ĠColor . parse Color ( color Hex ) ĊĠĠĠĠĠĠĠ Ġval Ġcolor Dark Int Ġ= Ġget Material Dark ( color Int ) ĊĠĠĠĠĠĠĠ Ġreturn ĠInteger . to HexString ( color Dark Int ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Material Dark ( color Int : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh sl Ġ= ĠFloat Array ( 3 ) ĊĠĠĠĠĠĠĠ ĠColor Utils . color To H SL ( color Int , Ġh sl ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDar ken ĠH SL Ġby Ġfactor Ġof Ġ 1 2 , Ġas Ġspecified Ġin Ġhttps :// stackoverflow . com / a / 4 0 9 6 4 4 5 6 ĊĠĠĠĠĠĠĠ Ġval Ġmaterial Dark 7 0 0 Ġ= Ġ 1 2 ĊĠĠĠĠĠĠĠ Ġh sl [ 2 ] Ġ-= Ġmaterial Dark 7 0 0 Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠ Ġif Ġ( h sl [ 2 ] Ġ< Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh sl [ 2 ] Ġ= Ġ 0 f ĊĊĠĠĠĠĠĠĠ Ġreturn ĠColor Utils . H SL To Color ( h sl ) ĊĠĠĠ Ġ} Ċ Ċ }