package Ġcom . reddit . indicator fast scroll Ċ Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . text . clear Spans Ċ Ċ internal Ġobject ĠText Color Util Ġ{ ĊĊĠĠĠ Ġfun Ġhighlight AtIndex ( textView : ĠTextView , Ġhighlighted Index : ĠInt ?, Ġcolor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( highlighted Index Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Highlight ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠSp ann able String . valueOf ( text ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Spans () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlines Up To Highlight Ġ= Ġline Sequence (). take ( highlighted Index Ġ+ Ġ 1 ). toList () Ġ// Ġinclusive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġlines Up To Highlight ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. drop Last ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fold ( 0 ) Ġ{ Ġacc , Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġacc Ġ+ Ġline . length Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhighlighted Line Size Ġ= Ġlines Up To Highlight . last OrNull ()?. length Ġ?: Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Span ( ForegroundColor Span ( color ), Ġstart , Ġstart Ġ+ Ġhighlighted Line Size , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Highlight ( textView : ĠTextView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( text Ġis ĠSp anned ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠSp ann able String . valueOf ( text ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Spans () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ