/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠThe Android Mon k Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 Ġcom . g works . ric hed it text . mark ups Ċ Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . style . Absolute Size Span Ċ import Ġandroid . text . style . BackgroundColor Span Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . text . style . Type face Span Ċ import Ġcom . g works . ric hed it text . converters . Attribute Converter Ċ import Ġcom . g works . ric hed it text . converters . Markup Converter Ċ import Ġcom . g works . ric hed it text . update Span Flags Ċ Ċ open Ġclass ĠFont ( attributes : ĠAttributes ) Ġ: ĠAt tribut ed Markup < Font . Attributes >( attributes ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtype face Span Ġ= Ġif Ġ( attributes . type face Ġ!= Ġnull ) ĠType face Span ( attributes . type face ) Ġelse Ġnull ĊĠĠĠ Ġprivate Ġval Ġsize Span Ġ= Ġif Ġ( attributes . size Ġ!= Ġnull ) ĠAbsolute Size Span ( attributes . size , Ġtrue ) Ġelse Ġnull ĊĠĠĠ Ġprivate Ġval Ġcolor Span Ġ= Ġif Ġ( attributes . color Ġ!= Ġnull ) ĠFore ground Color Span ( attributes . color ) Ġelse Ġnull ĊĠĠĠ Ġprivate Ġval Ġbackground Span Ġ= Ġif Ġ( attributes . backgroundColor Ġ!= Ġnull ) ĠBackground Color Span ( attributes . backgroundColor ) Ġelse Ġnull ĊĊĠĠĠ Ġoverride Ġval Ġis Split table : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrue ĊĊĠĠĠ Ġconstructor ( converter : ĠAttribute Converter < Any >, Ġattr : ĠAny ) Ġ: Ġthis ( converter . convert Font Attribute ( attr ) !! ) ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( sb : ĠStringBuilder , Ġoffset : ĠInt , Ġconverter : ĠMark up Converter , Ġbegin : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconverter . convert Markup ( sb , Ġoffset , Ġthis , Ġbegin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( text : ĠSp ann able , Ġfrom : ĠInt , Ġto : ĠInt , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type face Span Ġ!= Ġnull ) Ġtext . set Span ( type face Span , Ġfrom , Ġto , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( size Span Ġ!= Ġnull ) Ġtext . set Span ( size Span , Ġfrom , Ġto , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( color Span Ġ!= Ġnull ) Ġtext . set Span ( color Span , Ġfrom , Ġto , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( background Span Ġ!= Ġnull ) Ġtext . set Span ( background Span , Ġfrom , Ġto , Ġflags ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( text : ĠSp ann able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type face Span Ġ!= Ġnull ) Ġtext . remove Span ( type face Span ) ĊĠĠĠĠĠĠĠ Ġif Ġ( size Span Ġ!= Ġnull ) Ġtext . remove Span ( size Span ) ĊĠĠĠĠĠĠĠ Ġif Ġ( color Span Ġ!= Ġnull ) Ġtext . remove Span ( color Span ) ĊĠĠĠĠĠĠĠ Ġif Ġ( background Span Ġ!= Ġnull ) Ġtext . remove Span ( background Span ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Span Flags ( text : ĠSp ann able , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type face Span Ġ!= Ġnull ) Ġupdate Span Flags ( text , Ġtype face Span , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( size Span Ġ!= Ġnull ) Ġupdate Span Flags ( text , Ġsize Span , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( color Span Ġ!= Ġnull ) Ġupdate Span Flags ( text , Ġcolor Span , Ġflags ) ĊĠĠĠĠĠĠĠ Ġif Ġ( background Span Ġ!= Ġnull ) Ġupdate Span Flags ( text , Ġbackground Span , Ġflags ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠAttributes ( val Ġtype face : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠbackgroundColor : ĠInt ? Ġ= Ġnull ) Ċ } Ċ