/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠX iz hi ĠZ hu Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġme . x iz zh u . android . j osh ua . ui Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġandroid . text . style . BackgroundColor Span Ċ import Ġandroid . text . style . Character Style Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . text . style . Relative Size Span Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroidx . annotation . Color Int Ċ import Ġme . x iz zh u . android . j osh ua . core . Highlight Ċ Ċ fun Ġcreate Title Style Span () Ġ= ĠStyle Span ( Type face . BOLD ) Ċ fun Ġcreate Title Spans (): ĠArray < Character Style > Ġ= ĠarrayOf ( Relative Size Span ( 0 . 8 5 F ), Ġcreate Title Style Span ()) Ċ Ċ fun Ġcreate Highlight Spans (@ Color Int Ġhighlight Color : ĠInt ): ĠArray < Character Style > Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( highlight Color Ġ!= ĠHighlight . COLOR _ NONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBackground Color Span ( highlight Color ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFore ground Color Span ( if Ġ( highlight Color Ġ== ĠHighlight . COLOR _ BLUE ) ĠColor . WHITE Ġelse ĠColor . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty Array () ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġcreate Keyword Spans (): ĠArray < Character Style > Ġ= ĠarrayOf ( Relative Size Span ( 1 . 2 F ), ĠStyle Span ( Type face . BOLD )) Ċ Ċ fun ĠSp ann able StringBuilder . clear All (): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġclear () ĊĠĠĠ Ġclear Spans () ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun ĠSp ann able StringBuilder . append ( i : ĠInt ): ĠSp ann able StringBuilder Ġ= Ġappend ( i . toString ()) Ċ Ċ fun ĠSp ann able StringBuilder . set Span ( span : ĠCharacter Style , Ġstart : ĠInt Ġ= Ġ 0 , Ġend : ĠInt Ġ= Ġlength ): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġset Span ( span , Ġstart , Ġend , ĠSp ann able . SPAN _ INCL USIVE _ EXCL USIVE ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun ĠSp ann able StringBuilder . set Spans ( spans : ĠArray < Character Style >, Ġstart : ĠInt Ġ= Ġ 0 , Ġend : ĠInt Ġ= Ġlength ): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġspans . forEach Ġ{ Ġset Span ( it , Ġstart , Ġend ) Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun ĠSp ann able StringBuilder . to CharSequence (): ĠCharSequence Ġ= Ġsub Sequence ( 0 , Ġlength ) Ċ