package Ġcom . easy apps . ric hed itor lib . helpers Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Layer Drawable Ċ import Ġandroidx . core . graphics . drawable . Drawable Compat Ċ import Ġcom . easy apps . ric hed itor lib . R Ċ import Ġcom . easy apps . ric hed itor lib . interfaces . Style Listener Ċ Ċ object ĠHelper Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠZERO _ WIDTH _ SPACE _ STR Ġ= Ġ"\ u 2 0 0 B " ĊĠĠĠ Ġconst Ġval ĠB UL LET Ġ= Ġ"\ u 2 0 2 2 " ĊĠĠĠ Ġconst Ġval ĠLE ADING _ M ARGIN Ġ= Ġ 3 0 f ĊĠĠĠ Ġconst Ġval ĠZERO _ WIDTH _ SPACE _ INT Ġ= Ġ 8 2 0 3 ĊĠĠĠ Ġconst Ġval ĠZERO _ WIDTH _ SPACE _ STR _ ESCAPE Ġ= Ġ" &# 8 2 0 3 ;" ĊĊĠĠĠ Ġfun Ġitem Check Status ( ĊĠĠĠĠĠĠĠ Ġstyle Listener : ĠStyle Listener , ĊĠĠĠĠĠĠĠ Ġis Checked : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġicon Tint : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstyle Listener . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Checked ( isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Style Button (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . isChecked Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Tint ?. let Ġ{ Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Tint ( icon , Ġcolor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Tint ( drawable : ĠDrawable , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( drawable Ġas ? ĠLayer Drawable )?. get Drawable ( 1 )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrawable Compat . set Tint ( it , Ġcolor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Colors ( context : ĠContext ): ĠArrayList < Int ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor List Ġ= ĠArrayList < Int ?> () ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . colors ). forEach Ġ{ Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor List . add ( Color . parse Color ( color )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcolor List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Color ( color : ĠInt ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtmp Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Ġ= ĠColor . parse Color ("# " Ġ+ ĠInteger . to HexString ( color !! )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtmp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Px By Dp ( dp : ĠInt ): ĠInt Ġ= Ġ( dp Ġ* ĠResources . getSystem (). display Metrics . density ). toInt () ĊĊĠĠĠ Ġfun Ġget Screen Width (): ĠInt Ġ= ĠResources . getSystem (). display Metrics . width Pixels Ċ } Ċ