package Ġcom . dark min st rel . po cket dict . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Looper Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . util . Log Ċ import Ġcom . dark min st rel . po cket dict . Build Config Ċ import Ġcom . dark min st rel . po cket dict . R Ċ import Ġjava . util .* Ċ Ċ fun ĠDBG ( s : Any ? ){ ĊĠĠĠ Ġif ( Build Config . DEBUG _ FEATURES ) ĠLog . d (" DICT DBG ", Ġs . toString ()) Ċ } Ċ fun ĠDB GE ( s : Throwable ? ){ ĊĠĠĠ ĠDBG (" ERROR : Ġ" Ġ+ Ġs ?. message ) Ċ } Ċ fun ĠDB GT ( s : Any ? ){ ĊĠĠĠ ĠDBG ("$ s Ġis Ġrunning Ġon Ġ${ Thread . currentThread (). name }") Ċ } Ċ Ċ fun Ġassert Worker Thread (){ ĊĠĠĠ Ġif ( Thread . currentThread () Ġ== ĠL ooper . get Main Looper (). thread ) Ġthrow ĠRuntimeException (" assert Worker Thread () Ġfailed ") Ċ } Ċ fun Ġassert Ui Thread (){ ĊĠĠĠ Ġif ( Thread . currentThread () Ġ!= ĠL ooper . get Main Looper (). thread ) Ġthrow ĠRuntimeException (" assert Ui Thread () Ġfailed ") Ċ } Ċ Ċ fun Ġconvert Html ( s : String ): CharSequence { ĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHtml . from Html ( s , ĠHtml . FROM _ HTML _ MODE _ LEG ACY ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ ĠHtml . from Html ( s ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġtrim Query ( query : String ) Ġ= Ġquery . trim (). toLowerCase ( Locale . getDefault ()) Ċ Ċ fun Ġcolor ize ( context : Context , Ġtext : ĠString , Ġconstraint Lower : ĠString ): ĠCharSequence Ġ{ ĊĠĠĠ Ġif Ġ( text . isEmpty ()) Ġreturn Ġtext ĊĠĠĠ Ġif Ġ( constraint Lower . isEmpty ()) Ġreturn Ġtext ĊĠĠĠ Ġval Ġtext Lower Ġ= Ġtext . toLowerCase ( Locale . US ) ĊĠĠĠ Ġif Ġ( text Lower . length Ġ!= Ġtext . length ) Ġreturn Ġtext Ġ// Iz mir Ġissue ĊĠĠĠ Ġval Ġhighlight Index Ġ= Ġtext Lower . indexOf ( constraint Lower ) ĊĠĠĠ Ġif Ġ( highlight Index Ġ== Ġ- 1 ) Ġreturn Ġtext ĊĠĠĠ Ġval Ġs sb Ġ= ĠSp ann able StringBuilder ( text ) ĊĠĠĠ Ġval Ġcolor Span Ġ= ĠFore ground Color Span ( context . get Attr Color ( R . attr . color Primary )) ĊĠĠĠ Ġs sb . set Span ( color Span , Ġhighlight Index , Ġhighlight Index Ġ+ Ġconstraint Lower . length , ĠSp ann able . SPAN _ INCL USIVE _ INCL USIVE ) ĊĠĠĠ Ġreturn Ġs sb Ċ } ĊĊ