package Ġme . alex . pet . apps . zh ish i . presentation . common . styled text Ċ Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . widget . TextView Ċ import Ġme . alex . pet . apps . zh ish i . domain . common . Character Span Ċ import Ġme . alex . pet . apps . zh ish i . domain . common . Link Ċ import Ġme . alex . pet . apps . zh ish i . domain . common . Paragraph Span Ċ import Ġme . alex . pet . apps . zh ish i . domain . common . Styled Text Ċ import Ġme . alex . pet . apps . zh ish i . presentation . common . styled text . span render ers . Span Renderer Ċ Ċ class ĠStyled Text Renderer ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparagraph Spans Renderer : ĠSpan Renderer < Paragraph Span >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcharacter Spans Renderer : ĠSpan Renderer < Character Span >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlinks Renderer : ĠSpan Renderer < Link >? Ġ= Ġnull Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġrender ( styled Text : ĠStyled Text , ĠtextView : ĠTextView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsp anned Ġ= ĠconvertTo Sp anned ( styled Text ) ĊĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġsp anned ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠconvertTo Sp anned ( styled Text : ĠStyled Text ): ĠSp anned Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcharacter Spans Ġ= Ġcharacter Spans Renderer ?. convertTo Android Spans ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyled Text . character Spans ĊĠĠĠĠĠĠĠ Ġ) Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġval Ġlink Spans Ġ= Ġlinks Renderer ?. convertTo Android Spans ( styled Text . links ) Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġval Ġparagraph Spans Ġ= Ġparagraph Spans Renderer ?. convertTo Android Spans ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyled Text . paragraph Spans ĊĠĠĠĠĠĠĠ Ġ) Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġreturn ĠSp ann able String ( styled Text . string ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Spans ( character Spans Ġ+ Ġlink Spans Ġ+ Ġparagraph Spans ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠSp ann able . set Spans ( spans : ĠList < Position Aware Span >) Ġ{ ĊĠĠĠ Ġspans . forEach Ġ{ Ġset Span ( it . span , Ġit . start , Ġit . end , ĠSp ann able . SPAN _ EXCL USIVE _ EXCL USIVE ) Ġ} Ċ }