package Ġcom . kick starter . ui . extensions Ċ Ċ import Ġandroid . text . Selection Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . text . Text Paint Ċ import Ġandroid . text . method . Link Movement Method Ċ import Ġandroid . text . style . Clickable Span Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġorg . js oup . J soup Ċ import Ġjava . util . Locale Ċ Ċ fun ĠTextView . make Links ( var arg Ġlinks : ĠPair < String , ĠView . OnClickListener >) Ġ{ ĊĠĠĠ Ġval Ġsp ann able String Ġ= ĠSp ann able String ( this . text ) ĊĠĠĠ Ġvar Ġstart IndexOf Link Ġ= Ġ- 1 ĊĠĠĠ Ġfor Ġ( link Ġin Ġlinks ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclick able Span Ġ= Ġobject Ġ: ĠClick able Span () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate Draw State ( text Paint : ĠText Paint ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Paint . is Underline Text Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSelection . setSelection (( view Ġas ĠTextView ). text Ġas ĠSp ann able , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . invalidate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . second . onClick ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġstart IndexOf Link Ġ= Ġthis . text . toString (). indexOf ( link . first . toLowerCase ( Locale . getDefault ()), Ġstart IndexOf Link Ġ+ Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( start IndexOf Link Ġ== Ġ- 1 ) Ġcontinue Ġ// Ġtodo Ġif Ġyou Ġwant Ġto Ġverify Ġyour Ġtexts Ġcontains Ġlinks Ġtext ĊĊĠĠĠĠĠĠĠ Ġsp ann able String . set Span ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick able Span , Ġstart IndexOf Link , Ġstart IndexOf Link Ġ+ Ġlink . first . length , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp anned . SPAN _ EXCL USIVE _ EXCL USIVE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġthis . setText ( span nable String , ĠTextView . Buffer Type . SPAN N ABLE ) ĊĠĠĠ Ġthis . movement Method Ġ= ĊĠĠĠĠĠĠĠ ĠLink Movement Method . getInstance () Ġ// Ġwithout ĠLink Movement Method , Ġlink Ġcan Ġnot Ġclick ĊĠĠĠ Ġthis . links Clickable Ġ= Ġtrue Ċ } Ċ Ċ /** Ċ Parse ĠHTML Ġinto Ġa ĠDocument . ĠAs Ġno Ġbase ĠURI Ġis Ġspecified , Ġabsolute ĠURL Ġdetection Ġrelies Ġon Ġthe ĠHTML Ġincluding Ġa Ċ {@ code Ġ< base Ġhref >} Ġtag . Ċ Ċ @ see Ġ# J soup . parse ( String ) Ċ Ġ*/ Ċ fun ĠTextView . parse Html Tag () Ġ{ ĊĠĠĠ Ġthis . text Ġ= ĠJ soup . parse ( this . text . toString ()). text () Ċ } Ċ