/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠOr k han ĠG as im li Ġ- ĠAll ĠRights ĠReserved Ċ Ġ* ĠUnauthorized Ġcopying Ġof Ġthis Ġfile , Ġvia Ġany Ġmedium Ġis Ġstrictly Ġpro hibited . Ċ Ġ* ĠThis Ġfile Ġis Ġpropri etary Ġand Ġconf idential . Ċ Ġ* ĠWritten Ġby ĠOr k han ĠG as im li Ġor k han . gas im li @ gmail . com Ġin Ġ 2 0 1 8 . Ċ Ġ*/ Ċ Ċ package Ġapp . og as im li . rh ino . helper . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . annotation . Color Res Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . core . content . res . Resources Compat Ċ Ċ /** Ċ Ġ* ĠClass Ġholding Ġstatic Ġmethods Ġused Ġfor Ġmanip ulating Ġdraw ables Ċ Ġ* Ċ Ġ* Ġ@ author ĠOr k han ĠG as im li Ġon Ġ 2 9 . 0 7 . 2 0 1 8 . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠHelper Ġmethod Ġto Ġget Ġand Ġchange Ġcolor Ġof Ġdrawable Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠĠĠĠĠĠ Ġthe Ġcontext Ċ Ġ* Ġ@ param Ġres Id ĠĠĠĠĠĠĠĠ Ġresource Ġid Ġof Ġcolor Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthe Ġdrawable Ġresource Ċ Ġ*/ Ċ fun Ġget Drawable ( context : ĠContext ?, Ġres Id : ĠInt ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResources Compat . get Drawable ( context . resources , Ġres Id , Ġcontext . theme ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ /** Ċ Ġ* ĠHelper Ġmethod Ġto Ġget Ġand Ġchange Ġcolor Ġof Ġdrawable Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠĠĠĠĠĠ Ġthe Ġcontext Ċ Ġ* Ġ@ param Ġdrawable Res Id Ġresource Ġid Ġof Ġdrawable Ċ Ġ* Ġ@ param Ġcolor ĠĠĠĠĠĠĠĠ Ġresource Ġid Ġof Ġcolor Ġwhich Ġwill Ġbe Ġused Ġto Ġpaint Ġdrawable Ċ Ġ* Ġ@ param Ġmutate ĠĠĠĠĠĠĠ Ġboolean Ġindicating Ġwhether Ġthe Ġdrawable Ġshould Ġbe Ġmut ated Ċ Ġ* Ġ@ return ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthe Ġdrawable Ċ Ġ*/ Ċ fun Ġget Colo red Drawable ( context : ĠContext ?, Ġ@ Drawable Res Ġdrawable Res Id : ĠInt , Ġ@ Color Res Ġcolor : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutate : ĠBoolean Ġ= Ġtrue ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= ĠResources Compat . get Drawable ( context . resources , Ġdrawable Res Id , Ġcontext . theme ) ĊĠĠĠĠĠĠĠ Ġif Ġ( mutate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable ?. mutate ()?. setColor Filter ( getColor ( context , Ġcolor ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable ?. setColor Filter ( getColor ( context , Ġcolor ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdrawable ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ /** Ċ Ġ* ĠHelper Ġmethod Ġto Ġset Ġcolor Ġto Ġdrawable Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠĠĠĠĠĠ Ġthe Ġcontext Ċ Ġ* Ġ@ param Ġcolor Res Id ĠĠĠ Ġresource Ġid Ġof Ġcolor Ċ Ġ* Ġ@ param Ġmutate ĠĠĠĠĠĠĠ Ġboolean Ġindicating Ġwhether Ġthe Ġdrawable Ġshould Ġbe Ġmut ated Ċ Ġ*/ Ċ fun ĠDrawable . setColor ( context : ĠContext , Ġ@ Color Res Ġcolor Res Id : ĠInt , Ġmutate : ĠBoolean Ġ= Ġtrue ) Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( mutate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . mutate (). setColor Filter ( getColor ( context , Ġcolor Res Id ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . setColor Filter ( getColor ( context , Ġcolor Res Id ), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠ Ġ} Ċ