/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 Ġandroidx . gl ance Ċ Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . gl ance . action . Action Ċ import Ġandroidx . gl ance . action . click able Ċ import Ġandroidx . gl ance . text . Emit table Text Ċ import Ġandroidx . gl ance . text . TextStyle Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġbutton Ġview Ġto Ġthe Ġgl ance Ġview . Ċ Ġ* Ċ Ġ* Ġ@ param Ġtext ĠThe Ġtext Ġthat Ġthis Ġbutton Ġwill Ġshow . Ċ Ġ* Ġ@ param ĠonClick ĠThe Ġaction Ġto Ġbe Ġperformed Ġwhen Ġthis Ġbutton Ġis Ġclicked . Ċ Ġ* Ġ@ param Ġmodifier ĠThe Ġmodifier Ġto Ġbe Ġapplied Ġto Ġthis Ġbutton . Ċ Ġ* Ġ@ param Ġenabled ĠIf Ġfalse , Ġthe Ġbutton Ġwill Ġnot Ġbe Ġclick able . Ċ Ġ* Ġ@ param Ġstyle ĠThe Ġstyle Ġto Ġbe Ġapplied Ġto Ġthe Ġtext Ġin Ġthis Ġbutton . Ċ Ġ*/ Ċ @ Composable Ċ fun ĠButton ( ĊĠĠĠ Ġtext : ĠString , ĊĠĠĠ ĠonClick : ĠAction , ĊĠĠĠ Ġmodifier : ĠGl ance Modifier Ġ= ĠGl ance Modifier , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġstyle : ĠTextStyle ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġval Ġfinal Modifier Ġ= Ġif Ġ( enabled ) Ġmodifier . click able ( onClick ) Ġelse Ġmodifier ĊĠĠĠ ĠGl ance Node ( ĊĠĠĠĠĠĠĠ Ġfactory Ġ= Ġ:: Emit table Button , ĊĠĠĠĠĠĠĠ Ġupdate Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set ( text ) Ġ{ Ġthis . text Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set ( final Modifier ) Ġ{ Ġthis . modifier Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set ( style ) Ġ{ Ġthis . style Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set ( enabled ) Ġ{ Ġthis . enabled Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ġ@ suppress Ġ*/ Ċ @ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) Ċ class ĠEmit table Button Ġ: ĠEmit table Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġmodifier : ĠGl ance Modifier Ġ= ĠGl ance Modifier ĊĠĠĠ Ġvar Ġtext : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġstyle : ĠTextStyle ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġenabled : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" Emit table Button ('$ text ', Ġenabled =$ enabled , Ġstyle =$ style , Ġ" Ġ+ ĊĠĠĠĠĠĠĠ Ġ" modifier =$ modifier )" Ċ } Ċ Ċ /** Ġ@ suppress Ġ*/ Ċ @ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) Ċ fun ĠEmit table Button . to Emit table Text () Ġ= ĠEmit table Text (). also Ġ{ ĊĠĠĠ Ġit . modifier Ġ= Ġmodifier ĊĠĠĠ Ġit . text Ġ= Ġtext ĊĠĠĠ Ġit . style Ġ= Ġstyle Ċ } Ċ