/* Ċ Ġ* Ġ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 . we ar . compose . material Ċ Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . interaction . Interaction Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Row Scope Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . calculate End Padding Ċ import Ġandroidx . compose . foundation . layout . calculate Start Padding Ċ import Ġandroidx . compose . foundation . layout . fill Max Height Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . height Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . foundation . layout . wrap Content Height Ċ import Ġandroidx . compose . foundation . layout . wrap Content Size Ċ import Ġandroidx . compose . foundation . layout . wrap Content Width Ċ import Ġandroidx . compose . foundation . selection . toggle able Ċ import Ġandroidx . compose . material . icons . material Icon Ċ import Ġandroidx . compose . material . icons . material Path Ċ import Ġandroidx . compose . material . ripple . remember R ipple Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . runtime . Immutable Ċ import Ġandroidx . compose . runtime . Stable Ċ import Ġandroidx . compose . runtime . State Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . remember Updated State Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . draw . draw With Cache Ċ import Ġandroidx . compose . ui . draw . paint Ċ import Ġandroidx . compose . ui . graphics . Brush Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . Path Fill Type Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . graphics . p ainter . Painter Ċ import Ġandroidx . compose . ui . graphics . vector . Image Vector Ċ import Ġandroidx . compose . ui . platform . Local Layout Direction Ċ import Ġandroidx . compose . ui . semantics . Role Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . Layout Direction Ċ import Ġandroidx . compose . ui . unit . dp Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Toggle Chip ] Ġis Ġa Ġspecialized Ġtype Ġof Ġ[ Chip ] Ġthat Ġincludes Ġa Ġslot Ġfor Ġa Ġbi - state Ġtoggle Ġicon Ċ Ġ* Ġsuch Ġas Ġa Ġradio Ġbutton , Ġtoggle Ġor Ġcheckbox . Ċ Ġ* Ċ Ġ* ĠThe ĠW ear ĠMaterial Ġ[ Toggle Chip ] Ġoffers Ġfour Ġslots Ġand Ġa Ġspecific Ġlayout Ġfor Ġan Ġapplication Ġicon , Ġa Ċ Ġ* Ġlabel , Ġa Ġsecondary Label Ġand Ġtoggle Ġicon . ĠThe Ġapplication Ġicon Ġand Ġsecondary Label Ġare Ġoptional . Ċ Ġ* ĠThe Ġitems Ġare Ġla id Ġout Ġin Ġa Ġrow Ġwith Ġthe Ġoptional Ġicon Ġat Ġthe Ġstart , Ġa Ġcolumn Ġcontaining Ġthe Ġtwo Ċ Ġ* Ġlabel Ġslots Ġin Ġthe Ġmiddle Ġand Ġa Ġslot Ġfor Ġthe Ġtoggle Ġicons Ġat Ġthe Ġend . Ċ Ġ* Ċ Ġ* ĠThe Ġ[ Toggle Chip ] Ġis ĠSt adium Ġsh aped Ġand Ġhas Ġa Ġmax Ġheight Ġdesigned Ġto Ġtake Ġno Ġmore Ġthan Ċ Ġ* Ġtwo Ġlines Ġof Ġtext Ġof Ġ[ Typography . button ] Ġstyle . Ċ Ġ* Ċ Ġ* ĠThe Ġrecommended Ġset Ġof Ġ[ Toggle Chip Colors ] Ġcan Ġbe Ġobtained Ġfrom Ċ Ġ* Ġ[ Toggle Chip Defaults ], Ġe . g . Ġ[ Toggle Chip Defaults . toggle Chip Colors ]. Ċ Ġ* Ċ Ġ* ĠCh ips Ġcan Ġbe Ġenabled Ġor Ġdisabled . ĠA Ġdisabled Ġchip Ġwill Ġnot Ġrespond Ġto Ġclick Ġevents . Ċ Ġ* Ċ Ġ* ĠExample Ġof Ġa Ġ[ Toggle Chip ] Ġwith Ġan Ġicon , Ġlabel Ġand Ġsecondary Ġlabel Ġ( defaults Ġto Ġswitch Ġtoggle ): Ċ Ġ* Ġ@ sample Ġandroidx . we ar . compose . material . samples . Toggle Chip With Icon Ċ Ġ* Ċ Ġ* Ġ@ param Ġchecked ĠBoolean Ġflag Ġindicating Ġwhether Ġthis Ġbutton Ġis Ġcurrently Ġchecked . Ċ Ġ* Ġ@ param Ġon Checked Change ĠCallback Ġto Ġbe Ġinvoked Ġwhen Ġthis Ġbuttons Ġchecked / selected Ġstatus Ġis Ċ Ġ* Ġ@ param Ġlabel ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġmain Ġlabel . ĠThe Ġcontents Ġare Ġexpected Ġto Ġbe Ġtext Ċ Ġ* Ġwhich Ġis Ġ" start " Ġaligned . Ċ Ġ* Ġ@ param Ġmodifier ĠModifier Ġto Ġbe Ġapplied Ġto Ġthe Ġchip Ċ Ġ* Ġ@ param Ġtoggle Icon ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġtoggle Ġicon ( s ). ĠThe Ġcontents Ġare Ġexpected Ġto Ġbe Ċ Ġ* Ġa Ġh orizontally Ġand Ġvert ically Ġcentre Ġaligned Ġicon Ġof Ġsize Ġ[ Toggle Chip Defaults . Icon Size ]. ĠThree Ċ Ġ* Ġtypes Ġof Ġtoggle Ġicon Ġare Ġsupported Ġand Ġcan Ġbe Ġobtained Ġfrom Ċ Ġ* Ġ[ Toggle Chip Defaults . Switch Icon ], Ġ[ Toggle Chip Defaults . Radio Icon ] Ġand Ċ Ġ* Ġ[ Toggle Chip Defaults . Checkbox Icon ] Ċ Ġ* Ġ@ param Ġapp Icon ĠAn Ġoptional Ġslot Ġfor Ġproviding Ġan Ġicon Ġto Ġindicate Ġthe Ġpurpose Ġof Ġthe Ġchip . ĠThe Ċ Ġ* Ġcontents Ġare Ġexpected Ġto Ġbe Ġa Ġh orizontally Ġand Ġvert ically Ġcentre Ġaligned Ġicon Ġof Ġsize Ċ Ġ* Ġ[ Toggle Chip Defaults . Icon Size ]. Ċ Ġ* Ġ@ param Ġsecondary Label ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġsecondary Ġlabel . ĠThe Ġcontents Ġare Ġexpected Ċ Ġ* Ġto Ġbe Ġtext Ġwhich Ġis Ġ" start " Ġaligned Ġif Ġthere Ġis Ġan Ġicon Ġpreset Ġand Ġ" start " Ġor Ġ" center " Ġaligned Ġif Ċ Ġ* Ġnot . Ġlabel Ġand Ġsecondary Label Ġcontents Ġshould Ġbe Ġconsistently Ġaligned . Ċ Ġ* Ġ@ param Ġcolors Ġ[ Toggle Chip Colors ] Ġthat Ġwill Ġbe Ġused Ġto Ġresolve Ġthe Ġbackground Ġand Ċ Ġ* Ġcontent Ġcolor Ġfor Ġthis Ġchip Ġin Ġdifferent Ġstates , Ġsee Ċ Ġ* Ġ[ Toggle Chip Defaults . toggle Chip Colors ]. Ċ Ġ* Ġ@ param Ġenabled ĠControls Ġthe Ġenabled Ġstate Ġof Ġthe Ġchip . ĠWhen Ġ` false `, Ġthis Ġchip Ġwill Ġnot Ċ Ġ* Ġbe Ġclick able Ċ Ġ* Ġ@ param Ġinteraction Source ĠThe Ġ[ Mutable Interaction Source ] Ġrepresenting Ġthe Ġstream Ġof Ċ Ġ* Ġ[ Interaction ] s Ġfor Ġthis Ġchip 's Ġ" toggle able " Ġtap Ġarea . ĠYou Ġcan Ġcreate Ġand Ġpass Ġin Ġyour Ġown Ċ Ġ* Ġremember ed Ġ[ Mutable Interaction Source ] Ġif Ġyou Ġwant Ġto Ġobserve Ġ[ Interaction ] s Ġand Ġcustomize Ġthe Ċ Ġ* Ġappearance Ġ/ Ġbehavior Ġof Ġthis ĠCh ip Ġin Ġdifferent Ġ[ Interaction ] s . Ċ Ġ* Ġ@ param Ġcontent Padding ĠThe Ġspacing Ġvalues Ġto Ġapply Ġinternally Ġbetween Ġthe Ġcontainer Ġand Ġthe Ċ Ġ* Ġcontent Ċ Ġ* Ġ@ param Ġshape ĠDefines Ġthe Ġchip 's Ġshape . ĠIt Ġis Ġstrongly Ġrecommended Ġto Ġuse Ġthe Ġdefault Ġas Ġthis Ċ Ġ* Ġshape Ġis Ġa Ġkey Ġcharacteristic Ġof Ġthe ĠW ear ĠMaterial ĠTheme Ċ Ġ*/ Ċ @ Composable Ċ public Ġfun ĠToggle Chip ( ĊĠĠĠ Ġchecked : ĠBoolean , ĊĠĠĠ Ġon Checked Change : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġlabel : Ġ@ Composable Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġtoggle Icon : Ġ@ Composable Ġ() Ġ-> ĠUnit Ġ= Ġ{ ĠToggle Chip Defaults . Checkbox Icon ( checked Ġ= Ġchecked ) Ġ}, ĊĠĠĠ Ġapp Icon : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġsecondary Label : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġcolors : ĠToggle Chip Colors Ġ= ĠToggle Chip Defaults . toggle Chip Colors (), ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġinteraction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġcontent Padding : ĠPadding Values Ġ= ĠToggle Chip Defaults . Content Padding , ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , Ċ ) Ġ{ ĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( Toggle Chip Defaults . Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( shape Ġ= Ġshape ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠDue Ġto Ġb / 1 7 8 2 0 1 3 3 7 Ġthe Ġpaint () Ġmodifier Ġon Ġthe Ġbox Ġdoesn 't Ġmake Ġa Ġcall Ġto Ġdraw Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġbox Ġcontents . ĠAs Ġa Ġresult Ġwe Ġneed Ġto Ġhave Ġstack ed Ġboxes Ġto Ġenable Ġus Ġto Ġpaint Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġbackground ĊĠĠĠĠĠĠĠ Ġval Ġpainter Modifier Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. paint ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġcolors . background ( enabled Ġ= Ġenabled , Ġchecked Ġ= Ġchecked ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Box Modifier Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toggle able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġchecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Checked Change , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠRole . Checkbox , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindication Ġ= Ġremember R ipple (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġpainter Modifier ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġcontent Box Modifier ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( content Padding ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( app Icon Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . wrap Content Size ( align Ġ= ĠAlignment . Center ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Color Ġprovides Ġcolors . content Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . content Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value . alpha , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġapp Icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . size ( Toggle Chip Defaults . Icon Spacing )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLabels ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Label Ġ= Ġsecondary Label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 3 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap Content Width ( align Ġ= ĠAlignment . End ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToggle Chip Defaults . Toggle Icon Spacing ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Color Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . toggle Icon Tint Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . toggle Icon Tint Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value . alpha , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġtoggle Icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Split Toggle Chip ] Ġis Ġa Ġspecialized Ġtype Ġof Ġ[ Chip ] Ġthat Ġincludes Ġa Ġslot Ġfor Ġa Ġtoggle Ġcontrol , Ċ Ġ* Ġsuch Ġas Ġa Ġradio Ġbutton , Ġtoggle Ġor Ġcheckbox . ĠThe Ġ[ Split Toggle Chip ] Ġdiffers Ġfrom Ġthe Ċ Ġ* Ġ[ Toggle Chip ] Ġby Ġhaving Ġtwo Ġ" t appable " Ġareas , Ġone Ġclick able Ġand Ġone Ġtoggle able . Ċ Ġ* Ċ Ġ* ĠThe ĠW ear ĠMaterial Ġ[ Split Toggle Chip ] Ġoffers Ġthree Ġslots Ġand Ġa Ġspecific Ġlayout Ġfor Ġa Ġlabel , Ċ Ġ* Ġsecondary Label Ġand Ġtoggle Ġicon . ĠThe Ġsecondary Label Ġis Ġoptional . ĠThe Ġitems Ġare Ġla id Ġout Ċ Ġ* Ġwith Ġa Ġcolumn Ġcontaining Ġthe Ġtwo Ġlabel Ġslots Ġand Ġa Ġslot Ġfor Ġthe Ġtoggle Ġicon Ġat Ġthe Ċ Ġ* Ġend . Ċ Ġ* Ċ Ġ* ĠA Ġ[ Split Toggle Chip ] Ġhas Ġtwo Ġt appable Ġareas , Ġone Ġtap Ġarea Ġfor Ġthe Ġlabels Ġand Ġanother Ġfor Ġthe Ċ Ġ* Ġtoggle Ġcontrol . ĠThe Ġ[ onClick ] Ġlistener Ġwill Ġbe Ġassociated Ġwith Ġthe Ġmain Ġbody Ġof Ġthe Ġsplit Ġtoggle Ċ Ġ* Ġchip Ġwith Ġthe Ġ[ on Checked Change ] Ġlistener Ġassociated Ġwith Ġthe Ġtoggle Ġicon Ġarea Ġonly . Ċ Ġ* Ċ Ġ* ĠFor Ġa Ġsplit Ġtoggle Ġchip Ġthe Ġbackground Ġof Ġthe Ġt appable Ġbackground Ġarea Ġbehind Ġthe Ġtoggle Ġicon Ċ Ġ* Ġwill Ġhave Ġa Ġvisual Ġeffect Ġapplied Ġto Ġprovide Ġa Ġ" divider " Ġbetween Ġthe Ġtwo Ġt appable Ġareas . Ċ Ġ* Ċ Ġ* ĠThe Ġ[ Split Toggle Chip ] Ġis ĠSt adium Ġsh aped Ġand Ġhas Ġa Ġmax Ġheight Ġdesigned Ġto Ġtake Ġno Ġmore Ġthan Ċ Ġ* Ġtwo Ġlines Ġof Ġtext Ġof Ġ[ Typography . button ] Ġstyle . Ċ Ġ* Ċ Ġ* ĠThe Ġrecommended Ġset Ġof Ġ[ Toggle Chip Colors ] Ġcan Ġbe Ġobtained Ġfrom Ċ Ġ* Ġ[ Toggle Chip Defaults ], Ġe . g . Ġ[ Toggle Chip Defaults . toggle Chip Colors ]. Ċ Ġ* Ċ Ġ* ĠCh ips Ġcan Ġbe Ġenabled Ġor Ġdisabled . ĠA Ġdisabled Ġchip Ġwill Ġnot Ġrespond Ġto Ġclick Ġevents . Ċ Ġ* Ċ Ġ* ĠExample Ġof Ġa Ġ[ Split Toggle Chip ] Ġwith Ġa Ġlabel Ġand Ġthe Ġtoggle Ġicon Ġchanged Ġto Ġcheckbox : Ċ Ġ* Ġ@ sample Ġandroidx . we ar . compose . material . samples . Split Toggle Chip With Checkbox Ċ Ġ* Ċ Ġ* Ġ@ param Ġchecked ĠBoolean Ġflag Ġindicating Ġwhether Ġthis Ġbutton Ġis Ġcurrently Ġchecked . Ċ Ġ* Ġ@ param Ġon Checked Change ĠCallback Ġto Ġbe Ġinvoked Ġwhen Ġthis Ġbuttons Ġchecked / selected Ġstatus Ġis Ċ Ġ* Ġchanged . Ċ Ġ* Ġ@ param Ġlabel ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġmain Ġlabel . ĠThe Ġcontents Ġare Ġexpected Ġto Ġbe Ġtext Ċ Ġ* Ġwhich Ġis Ġ" start " Ġaligned . Ċ Ġ* Ġ@ param ĠonClick ĠClick Ġlistener Ġcalled Ġwhen Ġthe Ġuser Ġclicks Ġthe Ġmain Ġbody Ġof Ġthe Ġchip , Ġthe Ġarea Ċ Ġ* Ġbehind Ġthe Ġlabels . Ċ Ġ* Ġ@ param Ġmodifier ĠModifier Ġto Ġbe Ġapplied Ġto Ġthe Ġchip Ċ Ġ* Ġ@ param Ġtoggle Icon ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġtoggle Ġicon ( s ). ĠThe Ġcontents Ġare Ġexpected Ġto Ġbe Ċ Ġ* Ġa Ġh orizontally Ġand Ġvert ically Ġcentre Ġaligned Ġicon Ġof Ġsize Ġ[ Toggle Chip Defaults . Icon Size ]. ĠThree Ċ Ġ* Ġtypes Ġof Ġtoggle Ġicon Ġare Ġsupported Ġand Ġcan Ġbe Ġobtained Ġfrom Ċ Ġ* Ġ[ Toggle Chip Defaults . Switch Icon ], Ġ[ Toggle Chip Defaults . Radio Icon ] Ġand Ċ Ġ* Ġ[ Toggle Chip Defaults . Checkbox Icon ] Ċ Ġ* Ġ@ param Ġsecondary Label ĠA Ġslot Ġfor Ġproviding Ġthe Ġchip 's Ġsecondary Ġlabel . ĠThe Ġcontents Ġare Ġexpected Ċ Ġ* Ġto Ġbe Ġ" start " Ġor Ġ" center " Ġaligned . Ġlabel Ġand Ġsecondary Label Ġcontents Ġshould Ġbe Ġconsistently Ċ Ġ* Ġaligned . Ċ Ġ* Ġ@ param Ġcolors Ġ[ Toggle Chip Colors ] Ġthat Ġwill Ġbe Ġused Ġto Ġresolve Ġthe Ġbackground Ġand Ċ Ġ* Ġcontent Ġcolor Ġfor Ġthis Ġchip Ġin Ġdifferent Ġstates , Ġsee Ċ Ġ* Ġ[ Toggle Chip Defaults . toggle Chip Colors ]. Ċ Ġ* Ġ@ param Ġenabled ĠControls Ġthe Ġenabled Ġstate Ġof Ġthe Ġchip . ĠWhen Ġ` false `, Ġthis Ġchip Ġwill Ġnot Ċ Ġ* Ġbe Ġclick able Ċ Ġ* Ġ@ param Ġchecked Interaction Source ĠThe Ġ[ Mutable Interaction Source ] Ġrepresenting Ġthe Ġstream Ġof Ċ Ġ* Ġ[ Interaction ] s Ġfor Ġthis Ġchip 's Ġ" toggle able " Ġtap Ġarea . ĠYou Ġcan Ġcreate Ġand Ġpass Ġin Ġyour Ġown Ċ Ġ* Ġremember ed Ġ[ Mutable Interaction Source ] Ġif Ġyou Ġwant Ġto Ġobserve Ġ[ Interaction ] s Ġand Ġcustomize Ġthe Ċ Ġ* Ġappearance Ġ/ Ġbehavior Ġof Ġthis ĠCh ip Ġin Ġdifferent Ġ[ Interaction ] s . Ċ Ġ* Ġ@ param Ġclick Interaction Source ĠThe Ġ[ Mutable Interaction Source ] Ġrepresenting Ġthe Ġstream Ġof Ċ Ġ* Ġ[ Interaction ] s Ġfor Ġthis Ġchip 's Ġ" click able " Ġtap Ġarea . ĠYou Ġcan Ġcreate Ġand Ġpass Ġin Ġyour Ġown Ċ Ġ* Ġremember ed Ġ[ Mutable Interaction Source ] Ġif Ġyou Ġwant Ġto Ġobserve Ġ[ Interaction ] s Ġand Ġcustomize Ġthe Ċ Ġ* Ġappearance Ġ/ Ġbehavior Ġof Ġthis ĠCh ip Ġin Ġdifferent Ġ[ Interaction ] s . Ċ Ġ* Ġ@ param Ġcontent Padding ĠThe Ġspacing Ġvalues Ġto Ġapply Ġinternally Ġbetween Ġthe Ġcontainer Ġand Ġthe Ċ Ġ* Ġcontent Ċ Ġ* Ġ@ param Ġshape ĠDefines Ġthe Ġchip 's Ġshape . ĠIt Ġis Ġstrongly Ġrecommended Ġto Ġuse Ġthe Ġdefault Ġas Ġthis Ċ Ġ* Ġshape Ġis Ġa Ġkey Ġcharacteristic Ġof Ġthe ĠW ear ĠMaterial ĠTheme Ċ Ġ*/ Ċ @ Composable Ċ public Ġfun ĠSplit Toggle Chip ( ĊĠĠĠ Ġchecked : ĠBoolean , ĊĠĠĠ Ġon Checked Change : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġlabel : Ġ@ Composable Ġ() Ġ-> ĠUnit , ĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġtoggle Icon : Ġ@ Composable Ġ() Ġ-> ĠUnit Ġ= Ġ{ ĠToggle Chip Defaults . Checkbox Icon ( checked Ġ= Ġchecked ) Ġ}, ĊĠĠĠ Ġsecondary Label : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġcolors : ĠToggle Chip Colors Ġ= ĠToggle Chip Defaults . toggle Chip Colors (), ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġchecked Interaction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġclick Interaction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġcontent Padding : ĠPadding Values Ġ= ĠToggle Chip Defaults . Content Padding , ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , Ċ ) Ġ{ ĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( Toggle Chip Defaults . Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( shape Ġ= Ġshape ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠDue Ġto Ġb / 1 7 8 2 0 1 3 3 7 Ġthe Ġpaint () Ġmodifier Ġon Ġthe Ġbox Ġdoesn 't Ġmake Ġa Ġcall Ġto Ġdraw Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġbox Ġcontents . ĠAs Ġa Ġresult Ġwe Ġneed Ġto Ġhave Ġstack ed Ġboxes Ġto Ġenable Ġus Ġto Ġpaint Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġbackground ĊĠĠĠĠĠĠĠ Ġval Ġpainter Modifier Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. paint ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġcolors . background ( enabled Ġ= Ġenabled , Ġchecked Ġ= Ġchecked ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Box Modifier Ġ= ĠModifier . fill MaxSize () ĊĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġpainter Modifier ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġcontent Box Modifier ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonClick , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠRole . Checkbox , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindication Ġ= Ġremember R ipple (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġclick Interaction Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġcontent Padding ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. calculate Start Padding ( Local Layout Direction . current ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġcontent Padding . calculate Top Padding (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġcontent Padding . calculate Bottom Padding () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. weight ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLabels ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Label Ġ= Ġsecondary Label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( Toggle Chip Defaults . Toggle Icon Spacing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsplit Box Modifier Ġ= ĠModifier . toggle able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġchecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Checked Change , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠRole . Checkbox , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindication Ġ= Ġremember R ipple (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġchecked Interaction Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsplit Background Overlay Color Ġ= Ġcolors . split Background Overlay ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsplit Box Modifier Ġ= Ġsplit Box Modifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Height () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. draw With Cache Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Draw With Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Content () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Rect ( color Ġ= Ġsplit Background Overlay Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 5 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap Content Height ( align Ġ= ĠAlignment . Center Vert ically ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap Content Width ( align Ġ= ĠAlignment . End ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġcontent Padding ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. calculate End Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLocal Layout Direction . current ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġcontent Padding . calculate Top Padding (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġcontent Padding . calculate Bottom Padding () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġsplit Box Modifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Color Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . toggle Icon Tint Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . toggle Icon Tint Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value . alpha , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġtoggle Icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠRow Scope . Labels ( ĊĠĠĠ Ġcolors : ĠToggle Chip Colors , ĊĠĠĠ Ġenabled : ĠBoolean , ĊĠĠĠ Ġchecked : ĠBoolean , ĊĠĠĠ Ġlabel : Ġ@ Composable Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġsecondary Label : Ġ@ Composable Ġ(() Ġ-> ĠUnit )? Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . weight ( 1 . 0 f )) Ġ{ ĊĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Color Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . content Color ( enabled Ġ= Ġenabled , Ġchecked Ġ= Ġchecked ). value , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocal TextStyle Ġprovides ĠMaterial Theme . typography . button , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . content Color ( enabled Ġ= Ġenabled , Ġchecked Ġ= Ġchecked ). value . alpha , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġlabel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( secondary Label Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Color Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . secondary Content Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal TextStyle Ġprovides ĠMaterial Theme . typography . caption 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Content Alpha Ġprovides ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . secondary Content Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). value . alpha , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġsecondary Label ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠRepresents Ġthe Ġbackground Ġand Ġcontent Ġcolors Ġused Ġin Ġ[ Toggle Chip ] s Ġand Ġ[ Split Toggle Chip ] s Ċ Ġ* Ġin Ġdifferent Ġstates . Ċ Ġ*/ Ċ @ Stable Ċ public Ġinterface ĠToggle Chip Colors Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRepresents Ġthe Ġbackground Ġtreatment Ġfor Ġthis Ġchip , Ġdepending Ġon Ġthe Ġ[ enabled ] Ġand Ġ[ checked ] ĊĠĠĠĠ Ġ* Ġproperties . ĠBackground s Ġare Ġtypically Ġa Ġlinear Ġgradient Ġwhen Ġthe Ġchip Ġis Ġchecked / selected ĊĠĠĠĠ Ġ* Ġand Ġsolid Ġwhen Ġit Ġis Ġnot . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled ĠWhether Ġthe Ġchip Ġis Ġenabled ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked ĠWhether Ġthe Ġchip Ġis Ġcurrently Ġchecked / selected Ġor Ġunchecked / not Ġselected ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġbackground ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Painter > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRepresents Ġthe Ġcontent Ġcolor Ġfor Ġthis Ġchip , Ġdepending Ġon Ġthe Ġ[ enabled ] Ġand Ġ[ checked ] ĊĠĠĠĠ Ġ* Ġproperties . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled ĠWhether Ġthe Ġchip Ġis Ġenabled ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked ĠWhether Ġthe Ġchip Ġis Ġcurrently Ġchecked / selected Ġor Ġunchecked / not Ġselected ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġcontent Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRepresents Ġthe Ġsecondary Ġcontent Ġcolor Ġfor Ġthis Ġchip , Ġdepending Ġon Ġthe Ġ[ enabled ] Ġand ĊĠĠĠĠ Ġ* Ġ[ checked ] Ġproperties . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled ĠWhether Ġthe Ġchip Ġis Ġenabled ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked ĠWhether Ġthe Ġchip Ġis Ġcurrently Ġchecked / selected Ġor Ġunchecked / not Ġselected ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġsecondary Content Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRepresents Ġthe Ġicon Ġt int Ġcolor Ġfor Ġthe Ġtoggle Ġicon Ġfor Ġthis Ġchip , Ġdepending Ġon Ġthe Ġ[ enabled ] ĊĠĠĠĠ Ġ* Ġand Ġ[ checked ] properties . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled ĠWhether Ġthe Ġchip Ġis Ġenabled ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked ĠWhether Ġthe Ġchip Ġis Ġcurrently Ġchecked / selected Ġor Ġunchecked / not Ġselected ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġtoggle Icon Tint Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRepresents Ġthe Ġoverlay Ġto Ġapply Ġto Ġa Ġsplit Ġbackground ĠSplit Toggle Chip Ġto Ġdistinguish ĊĠĠĠĠ Ġ* Ġbetween Ġthe Ġtwo Ġt appable Ġareas . ĠThe Ġoverlay Ġwill Ġbe Ġapplied Ġto Ġ" light en " Ġthe Ġbackground Ġof ĊĠĠĠĠ Ġ* Ġarea Ġunder Ġthe Ġtoggle Ġicons , Ġdepending Ġon Ġthe Ġ[ enabled ] Ġand Ġ[ checked ] Ġproperties . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenabled ĠWhether Ġthe Ġchip Ġis Ġenabled ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked ĠWhether Ġthe Ġchip Ġis Ġcurrently Ġchecked / selected Ġor Ġunchecked / not Ġselected ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġsplit Background Overlay ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > Ċ } Ċ Ċ /** Ċ Ġ* ĠContains Ġthe Ġdefault Ġvalues Ġused Ġby Ġ[ Toggle Chip ] s Ċ Ġ*/ Ċ public Ġobject ĠToggle Chip Defaults Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġ[ Toggle Chip Colors ] Ġfor Ġuse Ġin Ġa ĠToggle Chip Ġor ĠSplit Toggle Chip . ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] s Ġare Ġexpected Ġto Ġhave Ġa Ġlinear Ġgradient Ġbackground Ġwhen ĊĠĠĠĠ Ġ* Ġchecked / selected , Ġsimilar Ġto Ġa Ġ[ Chip Defaults . gradient Background Chip Colors ] Ġand Ġa Ġsolid ĊĠĠĠĠ Ġ* Ġneutral Ġbackground Ġwhen Ġnot Ġchecked / selected Ġ( similar Ġto Ġa ĊĠĠĠĠ Ġ* Ġ[ Chip Defaults . secondary Chip Colors ]) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Start BackgroundColor ĠThe Ġbackground Ġcolor Ġused Ġat Ġthe Ġstart Ġof Ġthe Ġgradient Ġof ĊĠĠĠĠ Ġ* Ġa Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġchecked / selected . ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked End BackgroundColor ĠThe Ġbackground Ġcolor Ġused Ġat Ġthe Ġend Ġof Ġthe Ġgradient Ġof Ġa ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġchecked / selected . ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Content Color ĠThe Ġcontent Ġcolor Ġof Ġa Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] ĊĠĠĠĠ Ġ* Ġwhen Ġenabled Ġand Ġchecked / selected . ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Secondary Content Color ĠThe Ġsecondary Ġcontent Ġcolor Ġof Ġthis ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġchecked / selected , Ġused Ġfor ĊĠĠĠĠ Ġ* Ġsecondary Label Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Toggle Icon Tint Color ĠThe Ġicon Ġt int Ġcolor Ġof Ġthis ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġchecked / selected , Ġused Ġfor ĊĠĠĠĠ Ġ* ĠToggle Icon Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġunchecked Start BackgroundColor ĠThe Ġbackground Ġcolor Ġused Ġat Ġthe Ġstart Ġof Ġthe Ġgradient ĊĠĠĠĠ Ġ* Ġof Ġa Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġunchecked / not Ġselected . ĊĠĠĠĠ Ġ* Ġ@ param Ġunchecked End BackgroundColor ĠThe Ġbackground Ġcolor Ġused Ġat Ġthe Ġend Ġof Ġthe Ġgradient Ġof Ġa ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġunchecked / not Ġselected . ĊĠĠĠĠ Ġ* Ġ@ param Ġunchecked Content Color ĠThe Ġcontent Ġcolor Ġof Ġa Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] ĊĠĠĠĠ Ġ* Ġwhen Ġenabled Ġand Ġchecked / selected . ĊĠĠĠĠ Ġ* Ġ@ param Ġunchecked Secondary Content Color ĠThe Ġsecondary Ġcontent Ġcolor Ġof Ġthis ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġunchecked / not Ġselected , Ġused Ġfor ĊĠĠĠĠ Ġ* Ġsecondary Label Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġunchecked Toggle Icon Tint Color ĠThe Ġicon Ġt int Ġcolor Ġof Ġthis ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġwhen Ġenabled Ġand Ġunchecked / not Ġselected , Ġused Ġfor ĊĠĠĠĠ Ġ* ĠToggle Icon Ġcontent ĊĠĠĠĠ Ġ* Ġ@ param Ġsplit Background Overlay Color ĠThe Ġcolor Ġto Ġuse Ġto Ġlight en / dist ingu ish Ġthe Ġbackground ĊĠĠĠĠ Ġ* Ġbehind Ġthe ĠToggle Icon Ġfor Ġa Ġsplit Ġbackground Ġchip . ĠA Ġsplit Ġbackground Ġchip Ġhas Ġtwo ĊĠĠĠĠ Ġ* Ġt appable Ġareas , Ġone Ġfor Ġthe Ġmain Ġbody Ġof Ġthe Ġchip Ġand Ġone Ġfor Ġarea Ġaround Ġthe Ġtoggle ĊĠĠĠĠ Ġ* Ġcontrol Ġicon . ĊĠĠĠĠ Ġ* Ġ@ param Ġgradient Direction ĠWhether Ġthe Ġch ips Ġgradient Ġshould Ġbe Ġstart Ġto Ġend Ġ( indic ated Ġby ĊĠĠĠĠ Ġ* Ġ[ Layout Direction . L tr ]) Ġor Ġend Ġto Ġstart Ġ( indic ated Ġby Ġ[ Layout Direction . R tl ]). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun Ġtoggle Chip Colors ( ĊĠĠĠĠĠĠĠ Ġchecked Start BackgroundColor : ĠColor Ġ= ĠMaterial Theme . colors . surface . copy ( alpha Ġ= Ġ 0 . 7 5 f ), ĊĠĠĠĠĠĠĠ Ġchecked End BackgroundColor : ĠColor Ġ= ĠMaterial Theme . colors . primary . copy ( alpha Ġ= Ġ 0 . 3 2 5 f ), ĊĠĠĠĠĠĠĠ Ġchecked Content Color : ĠColor Ġ= ĠMaterial Theme . colors . on Surface , ĊĠĠĠĠĠĠĠ Ġchecked Secondary Content Color : ĠColor Ġ= ĠMaterial Theme . colors . on Surface Variant , ĊĠĠĠĠĠĠĠ Ġchecked Toggle Icon Tint Color : ĠColor Ġ= ĠMaterial Theme . colors . secondary , ĊĠĠĠĠĠĠĠ Ġunchecked Start BackgroundColor : ĠColor Ġ= ĠMaterial Theme . colors . surface , ĊĠĠĠĠĠĠĠ Ġunchecked End BackgroundColor : ĠColor Ġ= ĠMaterial Theme . colors . surface , ĊĠĠĠĠĠĠĠ Ġunchecked Content Color : ĠColor Ġ= Ġcontent Color For ( checked End BackgroundColor ), ĊĠĠĠĠĠĠĠ Ġunchecked Secondary Content Color : ĠColor Ġ= Ġunchecked Content Color , ĊĠĠĠĠĠĠĠ Ġunchecked Toggle Icon Tint Color : ĠColor Ġ= Ġunchecked Content Color , ĊĠĠĠĠĠĠĠ Ġsplit Background Overlay Color : ĠColor Ġ= ĠColor . White . copy ( alpha Ġ= Ġ 0 . 0 5 f ), ĊĠĠĠĠĠĠĠ Ġgradient Direction : ĠLayout Direction Ġ= ĠLocal Layout Direction . current ĊĠĠĠ Ġ): ĠToggle Chip Colors Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchecked Background Colors : ĠList < Color > ĊĠĠĠĠĠĠĠ Ġval Ġdisabled Checked Background Colors : ĠList < Color > ĊĠĠĠĠĠĠĠ Ġif Ġ( gradient Direction Ġ== ĠLayout Direction . L tr ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Start BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked End BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Start BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked End BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked End BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Start BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked End BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Start BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġunchecked Background Colors : ĠList < Color > ĊĠĠĠĠĠĠĠ Ġval Ġdisabled Unchecked Background Colors : ĠList < Color > ĊĠĠĠĠĠĠĠ Ġif Ġ( gradient Direction Ġ== ĠLayout Direction . L tr ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Start BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked End BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Start BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked End BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked End BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Start BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Background Colors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked End BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Start BackgroundColor . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDefault Toggle Chip Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Background Painter Ġ= ĠBr ush Painter ( Brush . linear Gradient ( checked Background Colors )), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Content Color Ġ= Ġchecked Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Secondary Content Color Ġ= Ġchecked Secondary Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Icon Tint Color Ġ= Ġchecked Toggle Icon Tint Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Split Background Overlay Ġ= Ġsplit Background Overlay Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Background Painter Ġ= ĠBr ush Painter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBr ush . linear Gradient ( unchecked Background Colors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Content Color Ġ= Ġunchecked Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Secondary Content Color Ġ= Ġunchecked Secondary Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Icon Tint Color Ġ= Ġunchecked Toggle Icon Tint Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunchecked Split Background Overlay Ġ= Ġsplit Background Overlay Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Background Painter Ġ= ĠBr ush Painter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBr ush . linear Gradient ( disabled Checked Background Colors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Content Color Ġ= Ġchecked Content Color . copy ( alpha Ġ= ĠContent Alpha . disabled ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Secondary Content Color Ġ= Ġchecked Secondary Content Color . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= ĠContent Alpha . disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Icon Tint Color Ġ= Ġchecked Toggle Icon Tint Color . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= ĠContent Alpha . disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Checked Split Background Overlay Ġ= Ġsplit Background Overlay Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Background Painter Ġ= ĠBr ush Painter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBr ush . linear Gradient ( disabled Unchecked Background Colors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Content Color Ġ= Ġunchecked Content Color . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= ĠContent Alpha . disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Secondary Content Color Ġ= Ġunchecked Secondary Content Color . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= ĠContent Alpha . disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Icon Tint Color Ġ= Ġunchecked Toggle Icon Tint Color . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= ĠContent Alpha . disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Split Background Overlay Ġ= Ġsplit Background Overlay Color , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠCh ip Horizontal Padding Ġ= Ġ 1 4 . dp ĊĠĠĠ Ġprivate Ġval ĠCh ip Vertical Padding Ġ= Ġ 6 . dp ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdefault Ġcontent Ġpadding Ġused Ġby Ġ[ Toggle Chip ] Ġand Ġ[ Split Toggle Chip ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval ĠContent Padding : ĠPadding Values Ġ= ĠPadding Values ( ĊĠĠĠĠĠĠĠ Ġstart Ġ= ĠCh ip Horizontal Padding , ĊĠĠĠĠĠĠĠ Ġtop Ġ= ĠCh ip Vertical Padding , ĊĠĠĠĠĠĠĠ Ġend Ġ= ĠCh ip Horizontal Padding , ĊĠĠĠĠĠĠĠ Ġbottom Ġ= ĠCh ip Vertical Padding ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġswitch Ġstyle Ġtoggle Ġ[ Icon ] s Ġfor Ġuse Ġin Ġthe Ġtoggle Icon Ġslot Ġof Ġa Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ* ĠDep ending Ġon Ġ[ checked ] Ġwill Ġreturn Ġeither Ġan Ġ' on ' Ġ( checked ) Ġor Ġ' off ' Ġ( unchecked ) Ġswitch Ġicon . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Ġwhether Ġthe Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġis Ġcurrently Ġ' on ' Ġ( checked / true ) ĊĠĠĠĠ Ġ* Ġor Ġ' off ' Ġ( unchecked / false ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun ĠSwitch Icon ( ĊĠĠĠĠĠĠĠ Ġchecked : ĠBoolean , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠSwitch On , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Switch Ġselector ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 2 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠSwitch Off , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Switch Ġselector ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 2 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠMaterial Theme . colors . on Surface . copy ( 0 . 6 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġradio Ġbutton Ġstyle Ġtoggle Ġ[ Icon ] s Ġfor Ġuse Ġin Ġthe Ġtoggle Icon Ġslot Ġof Ġa Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ* ĠDep ending Ġon Ġ[ checked ] Ġwill Ġreturn Ġeither Ġan Ġ' on ' Ġ( checked ) Ġor Ġ' off ' Ġ( unchecked ) Ġradio Ġbutton ĊĠĠĠĠ Ġ* Ġicon . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Ġwhether Ġthe Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġis Ġcurrently Ġ' on ' Ġ( checked / true ) ĊĠĠĠĠ Ġ* Ġor Ġ' off ' Ġ( unchecked / false ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun ĠRadio Icon ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= Ġif Ġ( checked ) ĠRadio On Ġelse ĠRadio Off , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Radio Ġselector ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 2 4 . dp ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġcheckbox Ġstyle Ġtoggle Ġ[ Icon ] s Ġfor Ġuse Ġin Ġthe Ġtoggle Icon Ġslot Ġof Ġa Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ* ĠDep ending Ġon Ġ[ checked ] Ġwill Ġreturn Ġeither Ġan Ġ' on ' Ġ( tick ed / checked ) Ġor Ġ' off ' ĊĠĠĠĠ Ġ* Ġ( unt ick ed / unchecked ) Ġcheckbox Ġicon . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġchecked Ġwhether Ġthe Ġ[ Toggle Chip ] Ġor Ġ[ Split Toggle Chip ] Ġis Ġcurrently Ġ' on ' Ġ( checked / true ) ĊĠĠĠĠ Ġ* Ġor Ġ' off ' Ġ( unchecked / false ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġpublic Ġfun ĠCheckbox Icon ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= Ġif Ġ( checked ) ĠCheckbox On Ġelse ĠCheckbox Off , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Checkbox Ġselector ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 2 4 . dp ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdefault Ġheight Ġapplied Ġfor Ġthe Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ* ĠNote Ġthat Ġyou Ġcan Ġoverride Ġit Ġby Ġapplying ĠModifier . height In Ġdirectly Ġon Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġval ĠHeight Ġ= Ġ 5 2 . dp ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdefault Ġsize Ġof Ġapp Ġor Ġtoggle Ġicons Ġwhen Ġused Ġinside Ġa Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval ĠIcon Size : ĠD p Ġ= Ġ 2 4 . dp ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdefault Ġsize Ġof Ġthe Ġspacing Ġbetween Ġan Ġicon Ġand Ġa Ġtext Ġwhen Ġthey Ġare Ġused Ġinside Ġa ĊĠĠĠĠ Ġ* Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġval ĠIcon Spacing Ġ= Ġ 6 . dp ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdefault Ġsize Ġof Ġthe Ġspacing Ġbetween Ġa Ġtoggle Ġicon Ġand Ġtext Ġwhen Ġthey Ġare Ġused ĊĠĠĠĠ Ġ* Ġinside Ġa Ġ[ Toggle Chip ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġval ĠToggle Icon Spacing Ġ= Ġ 4 . dp ĊĊĠĠĠ Ġprivate Ġval ĠSwitch On : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ switch On Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ switch On !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ switch On Ġ= Ġmaterial Icon ( name Ġ= Ġ" Switch On ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path ( fill Alpha Ġ= Ġ 0 . 3 8 f , Ġstroke Alpha Ġ= Ġ 0 . 3 8 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 5 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 9 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 2 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 2 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 1 9 . 0 f , Ġ 1 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 5 . 0 f , Ġ 1 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 5 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path ( path Fill Type Ġ= ĠPath Fill Type . Even Odd ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 7 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 0 . 8 6 6 f , Ġ 1 9 . 0 f , Ġ 2 4 . 0 f , Ġ 1 5 . 8 6 6 f , Ġ 2 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 4 . 0 f , Ġ 8 . 1 3 4 f , Ġ 2 0 . 8 6 6 f , Ġ 5 . 0 f , Ġ 1 7 . 0 f , Ġ 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 3 . 1 3 4 f , Ġ 5 . 0 f , Ġ 1 0 . 0 f , Ġ 8 . 1 3 4 f , Ġ 1 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 0 . 0 f , Ġ 1 5 . 8 6 6 f , Ġ 1 3 . 1 3 4 f , Ġ 1 9 . 0 f , Ġ 1 7 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ switch On !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ switch On : ĠImage Vector ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval ĠSwitch Off : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ switch Off Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ switch Off !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ switch Off Ġ= Ġmaterial Icon ( name Ġ= Ġ" Switch Off ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path ( fill Alpha Ġ= Ġ 0 . 3 8 f , Ġstroke Alpha Ġ= Ġ 0 . 3 8 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 5 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 9 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 2 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 2 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 1 9 . 0 f , Ġ 1 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 5 . 0 f , Ġ 1 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġfalse , Ġtrue , Ġ 5 . 0 f , Ġ 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path ( path Fill Type Ġ= ĠPath Fill Type . Even Odd ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 7 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 0 . 8 6 6 f , Ġ 1 9 . 0 f , Ġ 1 4 . 0 f , Ġ 1 5 . 8 6 6 f , Ġ 1 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 4 . 0 f , Ġ 8 . 1 3 4 f , Ġ 1 0 . 8 6 6 f , Ġ 5 . 0 f , Ġ 7 . 0 f , Ġ 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 3 . 1 3 4 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġ 8 . 1 3 4 f , Ġ 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 0 . 0 f , Ġ 1 5 . 8 6 6 f , Ġ 3 . 1 3 4 f , Ġ 1 9 . 0 f , Ġ 7 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ switch Off !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ switch Off : ĠImage Vector ? Ġ= Ġnull ĊĊĠĠĠ Ġpublic Ġval ĠRadio On : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ radio On Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ radio On !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ radio On Ġ= Ġmaterial Icon ( name Ġ= Ġ" Radio On ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 2 . 0 f , Ġ 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 6 . 4 8 f , Ġ 2 . 0 f , Ġ 2 . 0 f , Ġ 6 . 4 8 f , Ġ 2 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 . 0 f , Ġ 1 7 . 5 2 f , Ġ 6 . 4 8 f , Ġ 2 2 . 0 f , Ġ 1 2 . 0 f , Ġ 2 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 7 . 5 2 f , Ġ 2 2 . 0 f , Ġ 2 2 . 0 f , Ġ 1 7 . 5 2 f , Ġ 2 2 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 2 . 0 f , Ġ 6 . 4 8 f , Ġ 1 7 . 5 2 f , Ġ 2 . 0 f , Ġ 1 2 . 0 f , Ġ 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 2 . 0 f , Ġ 2 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 7 . 5 8 f , Ġ 2 0 . 0 f , Ġ 4 . 0 f , Ġ 1 6 . 4 2 f , Ġ 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 4 . 0 f , Ġ 7 . 5 8 f , Ġ 7 . 5 8 f , Ġ 4 . 0 f , Ġ 1 2 . 0 f , Ġ 4 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 6 . 4 2 f , Ġ 4 . 0 f , Ġ 2 0 . 0 f , Ġ 7 . 5 8 f , Ġ 2 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 0 . 0 f , Ġ 1 6 . 4 2 f , Ġ 1 6 . 4 2 f , Ġ 2 0 . 0 f , Ġ 1 2 . 0 f , Ġ 2 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 2 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To Relative (- 5 . 0 f , Ġ 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To Relative ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġtrue , Ġtrue , Ġ 1 0 . 0 f , Ġ 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarc To Relative ( 5 . 0 f , Ġ 5 . 0 f , Ġ 0 . 0 f , Ġtrue , Ġtrue , Ġ- 1 0 . 0 f , Ġ 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ radio On !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ radio On : ĠImage Vector ? Ġ= Ġnull ĊĊĠĠĠ Ġpublic Ġval ĠRadio Off : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ radio Off Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ radio Off !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ radio Off Ġ= Ġmaterial Icon ( name Ġ= Ġ" Radio Off ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 2 . 0 f , Ġ 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 6 . 4 8 f , Ġ 2 . 0 f , Ġ 2 . 0 f , Ġ 6 . 4 8 f , Ġ 2 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 . 0 f , Ġ 1 7 . 5 2 f , Ġ 6 . 4 8 f , Ġ 2 2 . 0 f , Ġ 1 2 . 0 f , Ġ 2 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 7 . 5 2 f , Ġ 2 2 . 0 f , Ġ 2 2 . 0 f , Ġ 1 7 . 5 2 f , Ġ 2 2 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 2 . 0 f , Ġ 6 . 4 8 f , Ġ 1 7 . 5 2 f , Ġ 2 . 0 f , Ġ 1 2 . 0 f , Ġ 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 2 . 0 f , Ġ 2 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 7 . 5 8 f , Ġ 2 0 . 0 f , Ġ 4 . 0 f , Ġ 1 6 . 4 2 f , Ġ 4 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 4 . 0 f , Ġ 7 . 5 8 f , Ġ 7 . 5 8 f , Ġ 4 . 0 f , Ġ 1 2 . 0 f , Ġ 4 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 1 6 . 4 2 f , Ġ 4 . 0 f , Ġ 2 0 . 0 f , Ġ 7 . 5 8 f , Ġ 2 0 . 0 f , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 0 . 0 f , Ġ 1 6 . 4 2 f , Ġ 1 6 . 4 2 f , Ġ 2 0 . 0 f , Ġ 1 2 . 0 f , Ġ 2 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ radio Off !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ radio Off : ĠImage Vector ? Ġ= Ġnull ĊĊĠĠĠ Ġpublic Ġval ĠCheckbox On : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ checkbox On Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ checkbox On !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ checkbox On Ġ= Ġmaterial Icon ( name Ġ= Ġ" Checkbox On ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 9 . 0 f , Ġ 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 3 . 9 f , Ġ 3 . 0 f , Ġ 3 . 0 f , Ġ 3 . 9 f , Ġ 3 . 0 f , Ġ 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 3 . 0 f , Ġ 2 0 . 1 f , Ġ 3 . 9 f , Ġ 2 1 . 0 f , Ġ 5 . 0 f , Ġ 2 1 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 0 . 1 f , Ġ 2 1 . 0 f , Ġ 2 1 . 0 f , Ġ 2 0 . 1 f , Ġ 2 1 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 1 . 0 f , Ġ 3 . 9 f , Ġ 2 0 . 1 f , Ġ 3 . 0 f , Ġ 1 9 . 0 f , Ġ 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 9 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 8 . 0 f , Ġ 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 6 . 6 f , Ġ 7 . 6 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 3 . 3 f , Ġ 1 0 . 9 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 0 . 0 f , Ġ 1 4 . 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 7 . 4 f , Ġ 1 1 . 6 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 6 . 0 f , Ġ 1 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 0 . 0 f , Ġ 1 7 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline To ( 1 8 . 0 f , Ġ 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ checkbox On !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ checkbox On : ĠImage Vector ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval ĠCheckbox Off : ĠImage Vector ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(_ checkbox Off Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ checkbox Off !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ checkbox Off Ġ= Ġmaterial Icon ( name Ġ= Ġ" Checkbox Off ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 9 . 0 f , Ġ 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 9 . 0 f , Ġ 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 3 . 9 f , Ġ 3 . 0 f , Ġ 3 . 0 f , Ġ 3 . 9 f , Ġ 3 . 0 f , Ġ 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 3 . 0 f , Ġ 2 0 . 1 f , Ġ 3 . 9 f , Ġ 2 1 . 0 f , Ġ 5 . 0 f , Ġ 2 1 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Line To ( 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 0 . 1 f , Ġ 2 1 . 0 f , Ġ 2 1 . 0 f , Ġ 2 0 . 1 f , Ġ 2 1 . 0 f , Ġ 1 9 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Line To ( 5 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurve To ( 2 1 . 0 f , Ġ 3 . 9 f , Ġ 2 0 . 1 f , Ġ 3 . 0 f , Ġ 1 9 . 0 f , Ġ 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ checkbox Off !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ checkbox Off : ĠImage Vector ? Ġ= Ġnull Ċ } Ċ Ċ /** Ċ Ġ* ĠDefault Ġ[ Toggle Chip Colors ] Ġimplementation . Ċ Ġ*/ Ċ @ Immutable Ċ private Ġclass ĠDefault Toggle Chip Colors ( ĊĠĠĠ Ġprivate Ġval Ġchecked Background Painter : ĠP ainter , ĊĠĠĠ Ġprivate Ġval Ġchecked Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġchecked Secondary Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġchecked Icon Tint Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġchecked Split Background Overlay : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Checked Background Painter : ĠP ainter , ĊĠĠĠ Ġprivate Ġval Ġdisabled Checked Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Checked Secondary Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Checked Icon Tint Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Checked Split Background Overlay : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġunchecked Background Painter : ĠP ainter , ĊĠĠĠ Ġprivate Ġval Ġunchecked Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġunchecked Secondary Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġunchecked Icon Tint Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġunchecked Split Background Overlay : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Unchecked Background Painter : ĠP ainter , ĊĠĠĠ Ġprivate Ġval Ġdisabled Unchecked Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Unchecked Secondary Content Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Unchecked Icon Tint Color : ĠColor , ĊĠĠĠ Ġprivate Ġval Ġdisabled Unchecked Split Background Overlay : ĠColor , Ċ ) Ġ: ĠToggle Chip Colors Ġ{ ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġbackground ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Painter > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremember Updated State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġchecked Background Painter Ġelse Ġunchecked Background Painter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġdisabled Checked Background Painter Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Background Painter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġcontent Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremember Updated State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġchecked Content Color Ġelse Ġunchecked Content Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġdisabled Checked Content Color Ġelse Ġdisabled Unchecked Content Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġsecondary Content Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremember Updated State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġchecked Secondary Content Color Ġelse Ġunchecked Secondary Content Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġdisabled Checked Secondary Content Color Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Secondary Content Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġtoggle Icon Tint Color ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremember Updated State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġchecked Icon Tint Color Ġelse Ġunchecked Icon Tint Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġdisabled Checked Icon Tint Color Ġelse Ġdisabled Unchecked Icon Tint Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġsplit Background Overlay ( enabled : ĠBoolean , Ġchecked : ĠBoolean ): ĠState < Color > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġremember Updated State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġchecked Split Background Overlay Ġelse Ġunchecked Split Background Overlay ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġdisabled Checked Split Background Overlay Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Unchecked Split Background Overlay ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( this :: class Ġ!= Ġother :: class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠDefault Toggle Chip Colors ĊĊĠĠĠĠĠĠĠ Ġif Ġ( checked Background Painter Ġ!= Ġother . checked Background Painter ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( checked Content Color Ġ!= Ġother . checked Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( checked Icon Tint Color Ġ!= Ġother . checked Icon Tint Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( checked Secondary Content Color Ġ!= Ġother . checked Secondary Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( checked Split Background Overlay Ġ!= Ġother . checked Split Background Overlay ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( unchecked Background Painter Ġ!= Ġother . unchecked Background Painter ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( unchecked Content Color Ġ!= Ġother . unchecked Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( unchecked Icon Tint Color Ġ!= Ġother . unchecked Icon Tint Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( unchecked Secondary Content Color Ġ!= Ġother . unchecked Secondary Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( unchecked Split Background Overlay Ġ!= Ġother . unchecked Split Background Overlay ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Checked Background Painter Ġ!= Ġother . disabled Checked Background Painter ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Checked Content Color Ġ!= Ġother . disabled Checked Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Checked Icon Tint Color Ġ!= Ġother . disabled Checked Icon Tint Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Checked Secondary Content Color Ġ!= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother . disabled Checked Secondary Content Color ĊĠĠĠĠĠĠĠ Ġ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Checked Split Background Overlay Ġ!= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother . disabled Checked Split Background Overlay ĊĠĠĠĠĠĠĠ Ġ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Unchecked Background Painter Ġ!= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother . disabled Unchecked Background Painter ĊĠĠĠĠĠĠĠ Ġ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Unchecked Content Color Ġ!= Ġother . disabled Unchecked Content Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Unchecked Icon Tint Color Ġ!= Ġother . disabled Unchecked Icon Tint Color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Unchecked Secondary Content Color Ġ!= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother . disabled Unchecked Secondary Content Color ĊĠĠĠĠĠĠĠ Ġ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( disabled Unchecked Split Background Overlay Ġ!= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother . disabled Unchecked Split Background Overlay ĊĠĠĠĠĠĠĠ Ġ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġchecked Background Painter . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġchecked Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġchecked Secondary Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġchecked Icon Tint Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġchecked Split Background Overlay . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġunchecked Background Painter . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġunchecked Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġunchecked Secondary Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġunchecked Icon Tint Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġunchecked Split Background Overlay . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Checked Background Painter . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Checked Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Checked Secondary Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Checked Icon Tint Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Checked Split Background Overlay . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Unchecked Background Painter . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Unchecked Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Unchecked Secondary Content Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Unchecked Icon Tint Color . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdisabled Unchecked Split Background Overlay . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ