package Ġpl . app lover . architecture . mv vm . util . extensions Ċ Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . text . Text Paint Ċ import Ġandroid . text . style . Clickable Span Ċ import Ġandroid . view . View ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠJan us z ĠH ain Ġon Ġ 2 0 1 8 - 0 1 - 2 3 . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠMakes Ġfirst Ġoccurrence Ġof Ġ[ text ] Ġclick able . ĠTo Ġcolor Ġit , Ġuse Ġ[ click able Span . update Draw State ] Ċ Ġ*/ Ċ fun ĠSp ann able String . set Clickable Sp ann able ( click able Span : ĠClick able Span , Ġtext : ĠString ) Ġ{ ĊĊĠĠĠ Ġval ĠstartIndex Ġ= ĠindexOf ( text ) ĊĠĠĠ Ġval Ġend Index Ġ= ĠstartIndex Ġ+ Ġtext . length ĊĊĠĠĠ Ġset Span ( click able Span , ĠstartIndex , Ġend Index , ĠSp anned . SPAN _ EXCL USIVE _ EXCL USIVE ); Ċ } Ċ Ċ /** Ċ Ġ* ĠDon 't Ġforget Ġto Ġset ĠtextView . movement Method Ġ= ĠLink Movement Method . getInstance () Ġ!! Ċ Ġ* ĠAnd Ġthis Ġone Ġcan Ġbe Ġnice Ġtoo : ĠtextView . highlight Color Ġ= ĠColor . TRANSP ARENT Ċ Ġ*/ Ċ fun Ġcreate Underline Text ( text : ĠString , ĠtextColor R id : ĠInt , Ġclick Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ): ĠSp ann able String Ġ{ ĊĠĠĠ Ġval Ġsp ann able String Ġ= ĠSp ann able String ( text ) ĊĠĠĠ Ġval Ġclick able Span Ġ= Ġobject Ġ: ĠClick able Span () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( p 0 : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Callback ?. invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate Draw State ( ds : ĠText Paint ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . update Draw State ( ds ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġds ?. color Ġ= Ġget Color ( textColor R id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġds ?. is Underline Text Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġsp ann able String . set Span ( click able Span , Ġ 0 , Ġtext . length , ĠSp anned . SPAN _ EXCL USIVE _ EXCL USIVE ); ĊĊĠĠĠ Ġreturn Ġsp ann able String Ċ } Ċ Ċ fun Ġdouble To Two Digits Format ( value : ĠDouble ?) Ġ= Ġif Ġ( value Ġ!= Ġnull ) Ġ"% . 2 f ". format ( value ) Ġelse Ġnull Ċ Ċ fun Ġdouble ToOne Digit Format ( value : ĠDouble ?) Ġ= Ġif Ġ( value Ġ!= Ġnull ) Ġ"% . 1 f ". format ( value ) Ġelse Ġnull