package Ġio . lat te kit . plugin . css . declaration Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . util . Log Ċ import Ġio . lat te kit . plugin . css . Css Parser Ċ import Ġio . lat te kit . view . Lat te View Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġma an Ġon Ġ 2 / 2 6 / 1 6 . Ċ Ġ*/ Ċ Ċ var ĠGLOBAL _ STY LES HE ETS Ġ= Ġmutable ListOf < Style sheet >() Ċ Ċ inline Ġfun Ġcss ( Ġinit : ĠStyles heet . () Ġ-> ĠUnit ) Ġ Ġ: ĠStyles heet Ġ{ ĊĠĠĠ Ġvar Ġstylesheet Ġ= ĠStyles heet () ĊĠĠĠ Ġstylesheet . init () ĊĠĠĠ ĠGLOBAL _ STY LES HE ETS . add ( stylesheet ) ĊĠĠĠ Ġreturn Ġstylesheet Ċ } Ċ inline Ġfun ĠApplication . css ( css File Ġ: ĠString ) Ġ Ġ{ ĊĠĠĠ Ġvar Ġis File Ġ= ĠCSS _ FILE _ PATH _ RE . matches ( css File . trim ()) ĊĠĠĠ Ġif Ġ( isFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcss List Ġ= ĠGLOBAL _ STY LES HE ETS ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstylesheet Ġ= ĠStyles heet . getStyle sheet ( css File . trim ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGLOBAL _ STY LES HE ETS . add ( stylesheet ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e Ġ: Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Lat te ", Ġ" WARNING : ĠCO UL DN ' T ĠF IND ĠSTY LES HE ET Ġ${ css File }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d (" Lat te ", Ġ" WARNING : ĠINVALID ĠCSS ĠFILE ĠPATH Ġ${ css File }") ĊĠĠĠ Ġ} Ċ } ĊĊĊ Ċ var ĠCSS _ FILE _ PATH _ RE Ġ= ĠRegex (""" ([ a - zA - Z 0 - 9 ]+ )( \. [ a - zA - Z 0 - 9 ]+ )* \/ ([ a - zA - Z 0 - 9 ]+ )\ . css """) Ċ Ċ inline Ġfun ĠLat te View . css ( stylesheet Ġ: ĠStyles heet ) Ġ Ġ{ ĊĠĠĠ Ġvar Ġcss Ġ= Ġdata Or Put (" css ", Ġ{ Ġmutable ListOf < Any >() Ġ}) Ġas ĠMutable List < Any > ĊĠĠĠ Ġcss . add ( stylesheet ) Ċ } Ċ Ċ inline Ġfun ĠLat te View . css ( stylesheet Ġ: ĠString ) Ġ Ġ{ ĊĠĠĠ Ġvar Ġis File Ġ= ĠCSS _ FILE _ PATH _ RE . matches ( stylesheet . trim ()) ĊĠĠĠ Ġif Ġ( isFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcss List Ġ= Ġdata Or Put (" css ", Ġ{ Ġmutable ListOf < Any >() Ġ}) Ġas ĠMutable List < Any > ĊĠĠĠĠĠĠĠ Ġcss List . add ( stylesheet ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlocal Css List Ġ= Ġdata Or Put (" local Css ", Ġ{ Ġmutable ListOf < Any >() Ġ}) Ġas ĠMutable List < Any > ĊĠĠĠĠĠĠĠ Ġlocal Css List . add ( Css Parser . parse ( stylesheet )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun ĠLat te View . css ( init Style : ĠStyles heet . () Ġ-> ĠUnit ) Ġ Ġ{ ĊĠĠĠ Ġval Ġre Ġ= ĠStyles heet () ĊĠĠĠ Ġre . init Style () ĊĠĠĠ Ġvar Ġcss Ġ= Ġdata Or Put (" css ", Ġ{ Ġmutable ListOf < Any >() Ġ}) Ġas ĠMutable List < Any > ĊĠĠĠ Ġcss . add ( re ) Ċ } ĊĊ Ċ inline Ġfun ĠStyles heet . selector ( selector Ġ: ĠString , Ġinit : ĠRule Set . () Ġ-> ĠUnit ): ĠRule Set Ġ{ ĊĠĠĠ Ġvar Ġrule Set Ġ= ĠRule Set ( selector ) ĊĠĠĠ Ġrule Set . init () ĊĠĠĠ Ġadd Rule Set ( rule Set ) ĊĠĠĠ Ġreturn Ġrule Set Ċ } ĊĊ Ċ inline Ġfun ĠLat te View . in Px ( value Ġ: ĠString ) Ġ Ġ= ĠLength Value ( value ). in Pixels ( this . activity !! ) Ċ Ċ inline Ġfun ĠRule Set . margin ( Ġvalue : ĠString ) Ġ= Ġadd (" margin ", Ġvalue ) Ċ inline Ġfun ĠRule Set . margin Left ( Ġvalue : ĠString ) Ġ= Ġadd (" margin - left ", Ġvalue ) Ċ inline Ġfun ĠRule Set . margin Top ( Ġvalue : ĠString ) Ġ= Ġadd (" margin - top ", Ġvalue ) Ċ inline Ġfun ĠRule Set . margin Right ( Ġvalue : ĠString ) Ġ= Ġadd (" margin - right ", Ġvalue ) Ċ inline Ġfun ĠRule Set . margin Bottom ( Ġvalue : ĠString ) Ġ= Ġadd (" margin - bottom ", Ġvalue ) Ċ inline Ġfun ĠRule Set . padding ( Ġvalue : ĠString ) Ġ= Ġadd (" padding ", Ġvalue ) Ċ inline Ġfun ĠRule Set . padding Top ( Ġvalue : ĠString ) Ġ= Ġadd (" padding - top ", Ġvalue ) Ċ inline Ġfun ĠRule Set . padding Right ( Ġvalue : ĠString ) Ġ= Ġadd (" padding - right ", Ġvalue ) Ċ inline Ġfun ĠRule Set . padding Bottom ( Ġvalue : ĠString ) Ġ= Ġadd (" padding - bottom ", Ġvalue ) Ċ inline Ġfun ĠRule Set . padding Left ( Ġvalue : ĠString ) Ġ= Ġadd (" padding - left ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border ( Ġvalue : ĠString ) Ġ= Ġadd (" border ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Left ( Ġvalue : ĠString ) Ġ= Ġadd (" border - left ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Right ( Ġvalue : ĠString ) Ġ= Ġadd (" border - right ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Bottom ( Ġvalue : ĠString ) Ġ= Ġadd (" border - bottom ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Top ( Ġvalue : ĠString ) Ġ= Ġadd (" border - top ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Width ( Ġvalue : ĠString ) Ġ= Ġadd (" border - width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Top Width ( Ġvalue : ĠString ) Ġ= Ġadd (" border - top - width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Right Width ( Ġvalue : ĠString ) Ġ= Ġadd (" border - right - width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Bottom Width ( Ġvalue : ĠString ) Ġ= Ġadd (" border - bottom - width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Left Width ( Ġvalue : ĠString ) Ġ= Ġadd (" border - left - width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Radius ( Ġvalue : ĠString ) Ġ= Ġadd (" border - radius ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Top Left Radius ( Ġvalue : ĠString ) Ġ= Ġadd (" border - top - left - radius ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Top Right Radius ( Ġvalue : ĠString ) Ġ= Ġadd (" border - top - right - radius ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Bottom Right Radius ( Ġvalue : ĠString ) Ġ= Ġadd (" border - bottom - right - radius ", Ġvalue ) Ċ inline Ġfun ĠRule Set . border Bottom Left Radius ( Ġvalue : ĠString ) Ġ= Ġadd (" border - bottom - left - radius ", Ġvalue ) Ċ inline Ġfun ĠRule Set . fontSize ( Ġvalue : ĠString ) Ġ= Ġadd (" font - size ", Ġvalue ) Ċ inline Ġfun ĠRule Set . fontFamily ( Ġvalue : ĠString ) Ġ= Ġadd (" font - family ", Ġvalue ) Ċ inline Ġfun ĠRule Set . font Weight ( Ġvalue : ĠString ) Ġ= Ġadd (" font - weight ", Ġvalue ) Ċ inline Ġfun ĠRule Set . font Style ( Ġvalue : ĠString ) Ġ= Ġadd (" font - style ", Ġvalue ) Ċ inline Ġfun ĠRule Set . color ( Ġvalue : ĠString ) Ġ= Ġadd (" color ", Ġvalue ) Ċ inline Ġfun ĠRule Set . backgroundColor ( Ġvalue : ĠString ) Ġ= Ġadd (" background - color ", Ġvalue ) Ċ inline Ġfun ĠRule Set . elevation ( Ġvalue : ĠString ) Ġ= Ġadd (" elevation ", Ġvalue ) Ċ inline Ġfun ĠRule Set . width ( Ġvalue : ĠString ) Ġ= Ġadd (" width ", Ġvalue ) Ċ inline Ġfun ĠRule Set . height ( Ġvalue : ĠString ) Ġ= Ġadd (" height ", Ġvalue ) Ċ inline Ġfun ĠRule Set . textAlign ( Ġvalue : ĠString ) Ġ= Ġadd (" text - align ", Ġvalue )