/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 Ġ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 . ui . integration . test . core Ċ Ċ import Ġandroidx . compose . foundation . Border Stroke Ċ import Ġandroidx . compose . foundation . Box Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . border Ċ import Ġandroidx . compose . foundation . layout . preferred Size Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . geometry . Offset Ċ import Ġandroidx . compose . ui . geometry . Size Ċ import Ġandroidx . compose . ui . geometry . shift Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . Outline Ċ import Ġandroidx . compose . ui . graphics . Path Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . unit . Density Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ Ċ class ĠSimple RadioButton 2 TestCase Ġ: ĠBase Simple RadioButton TestCase () Ġ{ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġemit Content () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġ( 4 8 . dp Ġ- Ġget Inner Size (). value ) Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier . preferred Size ( 4 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. border ( Border Stroke ( 1 . dp , ĠColor . C yan ), ĠCircle Shape ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . C yan , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= Ġ( Padding Shape ( padding , ĠCircle Shape )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġdata Ġclass ĠPadding Shape ( val Ġpadding : ĠD p , Ġval Ġshape : ĠShape ) Ġ: ĠShape Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Outline ( size : ĠSize , Ġdensity : ĠD ensity ): ĠOut line Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtwo P add ings Ġ= Ġwith ( density ) Ġ{ Ġ( padding Ġ* Ġ 2 ). to Px () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsize Minus P add ings Ġ= ĠSize ( size . width Ġ- Ġtwo P add ings , Ġsize . height Ġ- Ġtwo P add ings ) ĊĠĠĠĠĠĠĠ Ġval Ġraw Result Ġ= Ġshape . create Outline ( size Minus P add ings , Ġdensity ) ĊĠĠĠĠĠĠĠ Ġreturn Ġraw Result . offset ( two P add ings Ġ/ Ġ 2 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠOut line . offset ( size : ĠFloat ): ĠOut line Ġ{ ĊĠĠĠ Ġval Ġoffset Ġ= ĠOffset ( size , Ġsize ) ĊĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rectangle Ġ-> ĠOut line . Rectangle ( rect . shift ( offset )) ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rounded Ġ-> ĠOut line . Rounded ( round Rect . shift ( offset )) ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Generic Ġ-> ĠOut line . Generic ( Path (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Path ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshift ( offset ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ