/* Ċ Ġ* ĠCopyright Ġ( c ) ĠFacebook , ĠInc . Ġand Ġits Ġaffiliates . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . facebook . l ith o . view Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Sparse Array Ċ import Ġandroid . view . View Outline Provider Ċ import Ġandroidx . annotation . Color Int Ċ import Ġcom . facebook . l ith o . Click Event Ċ import Ġcom . facebook . l ith o . Component Ċ import Ġcom . facebook . l ith o . Long Click Event Ċ import Ġcom . facebook . l ith o . Resource Resolver Ċ import Ġcom . facebook . l ith o . Style Ċ import Ġcom . facebook . l ith o . Style Item Ċ import Ġcom . facebook . l ith o . drawable . Comparable Color Drawable Ċ import Ġcom . facebook . l ith o . event Handler Ċ import Ġcom . facebook . l ith o . event Handler With Return Ċ import Ġcom . facebook . l ith o . exhaustive Ċ import Ġcom . facebook . l ith o . get Common Props Holder Ċ Ċ /** ĠEnums Ġfor Ġ[ Object Style Item ]. Ġ*/ Ċ private Ġenum Ġclass ĠObject Field Ġ{ ĊĠ ĠBACK GROUND , ĊĠ ĠFO REG ROUND , ĊĠ ĠON _ CLICK , ĊĠ ĠON _ LONG _ CLICK , ĊĠ ĠWR AP _ IN _ VIEW , ĊĠ ĠVIEW _ TAG , ĊĠ ĠVIEW _ TAGS , ĊĠ ĠOUT LINE _ PROVIDER , Ċ } Ċ Ċ /** ĠEnums Ġfor Ġ[ Float Style Item ]. Ġ*/ Ċ private Ġenum Ġclass ĠFloat Field Ġ{ ĊĠ ĠAL PH A , ĊĠ ĠE LE V ATION , Ċ } Ċ Ċ /** ĠCommon Ġstyle Ġitem Ġfor Ġall Ġobject Ġstyles . ĠSee Ġnote Ġon Ġ[ Dim en Field ] Ġabout Ġthis Ġpattern . Ġ*/ Ċ private Ġclass ĠObject Style Item ( val Ġfield : ĠObject Field , Ġval Ġvalue : ĠAny ?) Ġ: ĠStyle Item Ġ{ ĊĠ Ġoverride Ġfun Ġapply To Component ( resource Resolver : ĠResource Resolver , Ġcomponent : ĠComponent ) Ġ{ ĊĠĠĠ Ġval Ġcommon Props Ġ= Ġcomponent . get Common Props Holder () ĊĠĠĠ Ġwhen Ġ( field ) Ġ{ ĊĠĠĠĠĠ ĠObject Field . BACKGROUND Ġ-> Ġcommon Props . background ( value Ġas ĠDrawable ?) ĊĠĠĠĠĠ ĠObject Field . FO REG ROUND Ġ-> Ġcommon Props . foreground ( value Ġas ĠDrawable ?) ĊĠĠĠĠĠ ĠObject Field . ON _ CLICK Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġcommon Props . click Handler ( event Handler ( value Ġas Ġ(( Click Event ) Ġ-> ĠUnit ))) ĊĠĠĠĠĠ ĠObject Field . ON _ LONG _ CLICK Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġcommon Props . long Click Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Handler With Return ( value Ġas Ġ(( Long Click Event ) Ġ-> ĠBoolean ))) ĊĠĠĠĠĠ ĠObject Field . WRAP _ IN _ VIEW Ġ-> Ġcommon Props . wrap In View () ĊĠĠĠĠĠ ĠObject Field . VIEW _ TAG Ġ-> Ġcommon Props . view Tag ( value ) ĊĠĠĠĠĠ ĠObject Field . VIEW _ TAGS Ġ-> Ġcommon Props . view Tags ( value Ġas ĠSparse Array < Any >) ĊĠĠĠĠĠ ĠObject Field . OUT LINE _ PROVIDER Ġ-> Ġcommon Props . outline Provider ( value Ġas ĠView Outline Provider ?) ĊĠĠĠ Ġ}. exhaustive ĊĠ Ġ} Ċ } Ċ Ċ /** ĠCommon Ġstyle Ġitem Ġfor Ġall Ġfloat Ġstyles . ĠSee Ġnote Ġon Ġ[ Float Field ] Ġabout Ġthis Ġpattern . Ġ*/ Ċ private Ġclass ĠFloat Style Item ( val Ġfield : ĠFloat Field , Ġval Ġvalue : ĠFloat ) Ġ: ĠStyle Item Ġ{ ĊĠ Ġoverride Ġfun Ġapply To Component ( resource Resolver : ĠResource Resolver , Ġcomponent : ĠComponent ) Ġ{ ĊĠĠĠ Ġval Ġcommon Props Ġ= Ġcomponent . get Common Props Holder () ĊĠĠĠ Ġwhen Ġ( field ) Ġ{ ĊĠĠĠĠĠ ĠFloat Field . ALPHA Ġ-> Ġcommon Props . alpha ( value ) ĊĠĠĠĠĠ ĠFloat Field . E LE V ATION Ġ-> Ġcommon Props . shadow Elevation Px ( value ) ĊĠĠĠ Ġ}. exhaustive ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġbackground Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe Ċ Ġ* ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . setBackground ] Ċ Ġ*/ Ċ fun ĠStyle . background ( background : ĠDrawable ?) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . BACKGROUND , Ġbackground ) Ċ Ċ /** Ċ Ġ* ĠSets ĠColor Drawable Ġof Ġthe Ġgiven Ġcolor Ġas Ġa Ġbackground Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . Ċ Ġ* ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ċ Ġ* Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . set BackgroundColor ] Ċ Ġ*/ Ċ fun ĠStyle . backgroundColor (@ Color Int ĠbackgroundColor : ĠInt ) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . BACKGROUND , ĠComparable Color Drawable . create ( backgroundColor )) Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġforeground Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe Ċ Ġ* ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . setForeground ] Ċ Ġ*/ Ċ fun ĠStyle . foreground ( foreground : ĠDrawable ?) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . FO REG ROUND , Ġforeground ) Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġlistener Ġthat Ġwill Ġinvoke Ġthe Ġgiven Ġlambda Ġwhen Ġthis ĠComponent Ġis Ġclicked . ĠSetting Ġthis Ċ Ġ* Ġproperty Ġwill Ġcause Ġthe ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ċ Ġ* Ġalready . Ċ Ġ*/ Ċ fun ĠStyle . onClick ( onClick : Ġ( Click Event ) Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . ON _ CLICK , ĠonClick ) Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġlistener Ġthat Ġwill Ġinvoke Ġthe Ġgiven Ġlambda Ġwhen Ġthis ĠComponent Ġis Ġlong Ġclicked . ĠSetting Ċ Ġ* Ġthis Ġproperty Ġwill Ġcause Ġthe ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ċ Ġ* Ġgoing Ġto Ġalready . Ċ Ġ*/ Ċ fun ĠStyle . on Long Click ( on Long Click : Ġ( Long Click Event ) Ġ-> ĠBoolean ) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . ON _ LONG _ CLICK , Ġon Long Click ) Ċ Ċ /** Ċ Ġ* ĠSpecifies Ġthat Ġthis ĠComponent Ġshould Ġbe Ġrepresented Ġas Ġa ĠView Ġwhen Ġthis Ġhierarchy Ġis Ġmounted . Ċ Ġ* Ċ Ġ* ĠBy Ġdefault Ġa ĠComponent Ġdoes Ġnot Ġmount Ġany Ġcontent . ĠThe Ġexceptions Ġto Ġthis Ġare Ġif : Ċ Ġ* Ġ- ĠThe ĠComponent Ġrenders Ġto Ġa Ġ[ com . facebook . l ith o . annotations . Mount Spec ] Ġwith ĠView Ġmount Ġcontent Ċ Ġ* Ġ- ĠThe ĠComponent Ġhas Ġstyles Ġthat Ġrequire Ġa ĠView Ġ( like Ġ[ background ]) Ċ Ġ* Ġ- ĠThe ĠComponent Ġhas Ġthe Ġwrap In View Ġstyle Ċ Ġ*/ Ċ fun ĠStyle . wrap In View () Ġ= Ġthis Ġ+ ĠObject Style Item ( Object Field . WRAP _ IN _ VIEW , Ġnull ) Ċ Ċ /** Ċ Ġ* ĠAdds Ġa ĠView Ġtag Ġto Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe Ċ Ġ* ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . setTag ] Ċ Ġ*/ Ċ fun ĠStyle . view Tag ( view Tag : ĠAny ) Ġ= Ġthis Ġ+ ĠObject Style Item ( Object Field . VIEW _ TAG , Ġview Tag ) Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġset Ġof ĠView Ġtags Ġto Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ċ Ġ* Ġthe ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠFor Ġeach ĠInt , ĠAny Ġpair Ġin Ġthe Ġgiven ĠSparse Array , Ġ` View . setTag ( Int , ĠAny )` Ġwill Ġbe Ġcalled . ĠThese Ċ Ġ* Ġtags Ġcan Ġbe Ġretrieved Ġwith Ġ` View . getTag ( Int )` Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . setTag ] Ċ Ġ*/ Ċ fun ĠStyle . view Tags ( view Tags : ĠSparse Array < out ĠAny >) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . VIEW _ TAGS , Ġview Tags ) Ċ Ċ /** Ċ Ġ* ĠSets Ġan Ġalpha Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe Ċ Ġ* ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . set Alpha ] Ċ Ġ*/ Ċ fun ĠStyle . alpha ( alpha : ĠFloat ) Ġ= Ġthis Ġ+ ĠFloat Style Item ( Float Field . ALPHA , Ġalpha ) Ċ Ċ /** Ċ Ġ* ĠSets Ġan Ġelevation Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ġcause Ġthe Ċ Ġ* ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠNOTE : ĠThis Ġstyle Ġwill Ġbe Ġignored Ġpre - API Ġ 2 1 . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . set Elevation ] Ċ Ġ*/ Ċ fun ĠStyle . elevation ( elevation : ĠFloat ) Ġ= Ġthis Ġ+ ĠFloat Style Item ( Float Field . E LE V ATION , Ġelevation ) Ċ Ċ /** Ċ Ġ* ĠSets Ġa Ġ[ View Outline Provider ] Ġon Ġthe ĠView Ġthis ĠComponent Ġmount s Ġto . ĠSetting Ġthis Ġproperty Ġwill Ċ Ġ* Ġcause Ġthe ĠComponent Ġto Ġbe Ġrepresented Ġas Ġa ĠView Ġat Ġmount Ġtime Ġif Ġit Ġwasn 't Ġgoing Ġto Ġalready . Ċ Ġ* Ċ Ġ* ĠNOTE : ĠThis Ġstyle Ġwill Ġbe Ġignored Ġpre - API Ġ 2 1 . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ android . view . View . set Outline Provider ] Ċ Ġ*/ Ċ fun ĠStyle . outline Provider ( outline Provider : ĠView Outline Provider ?) Ġ= ĊĠĠĠ Ġthis Ġ+ ĠObject Style Item ( Object Field . OUT LINE _ PROVIDER , Ġoutline Provider ) Ċ