package Ġio . lat te kit . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Typed Value Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġma an Ġon Ġ 3 / 2 9 / 1 6 . Ċ Ġ*/ Ċ val ĠP ATTERN Ġ: ĠRegex Ġ= ĠRegex (""" (- ?\ d +( ?:\ .\ d + )? ) ([ ^\ d % ]+ )? """) Ċ Ċ object ĠValues Ġ{ ĊĠĠĠ Ġfun Ġto Boolean ( value Ġ: ĠString ) Ġ= Ġif Ġ( value == Ġ" true ") Ġtrue Ġelse Ġfalse ĊĊĠĠĠ Ġfun Ġto Int ( number : ĠString , Ġcontext : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Float ( number , context ). toInt () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġto Float ( number : ĠString , Ġcontext : ĠContext ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmatch Ġ= ĠP ATTERN . match Ent ire ( number ) ĊĠĠĠĠĠĠĠ Ġif Ġ( match Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnumber Ġ= Ġmatch . group Values [ 1 ]. toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġunit Ġ= Ġmatch . group Values [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( unit Ġ== Ġ"" Ġ|| Ġunit Ġ== Ġnull ) Ġunit Ġ= Ġ" px " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( unit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dp " Ġ-> ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġnumber , Ġcontext . resources . display Metrics ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dip " Ġ-> ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġnumber , Ġcontext . resources . display Metrics ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sp " Ġ-> ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ SP , Ġnumber , Ġcontext . resources . display Metrics ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnumber !! ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 f ; ĊĠĠĠ Ġ} Ċ }