package Ġes . sd os . library . and roi dex t ensions Ċ Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Sp ann able Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġandroid . text . style . Clickable Span Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroid . util . Patterns Ċ import Ġandroidx . annotation . Color Int Ċ Ċ fun ĠString . is Email (): ĠBoolean Ġ= Ġ( isNotBlank () Ġ&& ĊĠĠĠĠĠĠĠ ĠPattern s . EMAIL _ ADDRESS . matcher ( this ). matches ()) Ċ Ċ fun ĠString . is URL (): ĠBoolean Ġ= Ġ( isNotBlank () Ġ&& ĊĠĠĠĠĠĠĠ ĠPattern s . WEB _ URL . matcher ( this ). matches ()) Ċ Ċ fun ĠSp ann able StringBuilder . add Clickable Span ( span : ĠClick able Span , Ġtext ToBe Made Clickable : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Color Int Ġcolor Int : ĠInt ) Ġ: ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġval Ġstart Ġ= ĠindexOf ( text ToBe Made Clickable ) ĊĠĠĠ Ġif Ġ( start Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġstart Ġ+ Ġtext ToBe Made Clickable . length ĊĠĠĠĠĠĠĠ Ġset Span ( span , Ġstart , Ġend , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset Span ( ForegroundColor Span ( color Int ), Ġstart , Ġend , Ġ 0 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun ĠSp ann able StringBuilder . setBold Style ( text ToBe Made Clickable : ĠString ): ĠSp ann able StringBuilder Ġ{ ĊĠĠĠ Ġval Ġstart Ġ= ĠindexOf ( text ToBe Made Clickable ) ĊĠĠĠ Ġif Ġ( start Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġstart Ġ+ Ġtext ToBe Made Clickable . length ĊĠĠĠĠĠĠĠ Ġval Ġbold Ġ= ĠStyle Span ( Type face . BOLD ) ĊĠĠĠĠĠĠĠ Ġset Span ( bold , Ġstart , Ġend , ĠSp ann able . SPAN _ INCL USIVE _ INCL USIVE ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ }