@ file : Jvm Name (" String Extensions ") Ċ Ċ package Ġio . ro ver . sdk . platform Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ Ċ internal Ġfun ĠString . ro ver Text Html As Sp anned (): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġval Ġsp anned Builder Ġ= ĠHtml . from Html ( this ) Ġas ĠSp ann able StringBuilder ĊĠĠĠĠĠĠĠ Ġ// Ġthe Ġlegacy Ġversion Ġof Ġandroid . text . Html Ġ( ie Ġwithout ĊĠĠĠĠĠĠĠ Ġ// ĠHtml . FROM _ HTML _ SEPARATOR _ LINE _ BREAK _ PAR AG R APH ), ĠHtml . from Html () Ġreturns Ġone Ġadditional ĊĠĠĠĠĠĠĠ Ġ// Ġexcess ive Ġnewline Ġ( specific ally , Ġa Ġ\ n Ġcharacter ) Ġper Ġeach Ġparagraph Ġin Ġthe Ġsource ĠHTML . ĊĠĠĠĠĠĠĠ Ġ// ĠSo , Ġfor Ġevery Ġrun Ġof Ġnew lines Ġin Ġthe Ġoutput Ġsp ann able , Ġwe Ġwant Ġto Ġremove Ġone Ġof Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġnew lines . ĊĊĠĠĠĠĠĠĠ Ġval Ġindexes Of Super flu ous New lines Ġ= Ġsp anned Builder . fold Indexed ( listOf < Int >()) Ġ{ Ġindex , Ġaccumulated Indexes , Ġcharacter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( character Ġ!= Ġ'\ n ' Ġ&& Ġindex Ġ> Ġ 0 Ġ&& Ġsp anned Builder [ index Ġ- Ġ 1 ] Ġ== Ġ'\ n ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġa Ġsequence Ġof Ġ\ n 's Ġis Ġterminating . Ġ Ġdrop Ġthe Ġlast Ġone . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġthe Ġappend Ġoperation Ġhere Ġis Ġcausing Ġunnecessary Ġcopies ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccumulated Indexes Ġ+ Ġ( index Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccumulated Indexes ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġnow Ġto Ġremove Ġall Ġof Ġthese Ġdiscovered Ġextra Ġnew lines . ĊĠĠĠĠĠĠĠ Ġvar Ġdeletion Def lection Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġindexes Of Super flu ous New lines . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmutate Ġthe Ġsp anned Ġbuilder . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp anned Builder . delete ( it Ġ+ Ġdeletion Def lection , Ġit Ġ+ Ġdeletion Def lection Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeletion Def lection Ġ-= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsp anned Builder ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠHtml . from Html ( this . replace ("< p ></ p >", Ġ"< p >& nbsp ;</ p > "), ĠHtml . FROM _ HTML _ SEPARATOR _ LINE _ BREAK _ PAR AG R APH ) Ġas ĠSp ann able StringBuilder ĊĠĠĠ Ġ} Ċ } Ċ