@@ -352,17 +352,20 @@ fun PreferenceSwitch(
352
352
checkedIcon : ImageVector = Icons .Outlined .Check ,
353
353
onClick : (() -> Unit ) = {},
354
354
) {
355
- val thumbContent: (@Composable () -> Unit )? = if (isChecked) {
356
- {
357
- Icon (
358
- imageVector = checkedIcon,
359
- contentDescription = null ,
360
- modifier = Modifier .size(SwitchDefaults .IconSize ),
361
- )
355
+ val thumbContent: (@Composable () -> Unit )? = remember(isChecked) {
356
+ if (isChecked) {
357
+ {
358
+ Icon (
359
+ imageVector = checkedIcon,
360
+ contentDescription = null ,
361
+ modifier = Modifier .size(SwitchDefaults .IconSize ),
362
+ )
363
+ }
364
+ } else {
365
+ null
362
366
}
363
- } else {
364
- null
365
367
}
368
+
366
369
val interactionSource = remember { MutableInteractionSource () }
367
370
Surface (
368
371
modifier = Modifier .toggleable(
@@ -425,17 +428,20 @@ fun PreferenceSwitchWithDivider(
425
428
onClick : (() -> Unit ) = {},
426
429
onChecked : () -> Unit = {}
427
430
) {
428
- val thumbContent: (@Composable () -> Unit )? = if (isChecked) {
429
- {
430
- Icon (
431
- imageVector = checkedIcon,
432
- contentDescription = null ,
433
- modifier = Modifier .size(SwitchDefaults .IconSize ),
434
- )
431
+ val thumbContent: (@Composable () -> Unit )? = remember(isChecked) {
432
+ if (isChecked) {
433
+ {
434
+ Icon (
435
+ imageVector = checkedIcon,
436
+ contentDescription = null ,
437
+ modifier = Modifier .size(SwitchDefaults .IconSize ),
438
+ )
439
+ }
440
+ } else {
441
+ null
435
442
}
436
- } else {
437
- null
438
443
}
444
+
439
445
Surface (
440
446
modifier = Modifier .clickable(
441
447
enabled = enabled,
@@ -635,17 +641,20 @@ fun PreferenceSwitchWithContainer(
635
641
isChecked : Boolean ,
636
642
onClick : () -> Unit ,
637
643
) {
638
- val thumbContent: (@Composable () -> Unit )? = if (isChecked) {
639
- {
640
- Icon (
641
- imageVector = Icons .Outlined .Check ,
642
- contentDescription = null ,
643
- modifier = Modifier .size(SwitchDefaults .IconSize ),
644
- )
644
+ val thumbContent: (@Composable () -> Unit )? = remember(isChecked) {
645
+ if (isChecked) {
646
+ {
647
+ Icon (
648
+ imageVector = Icons .Outlined .Check ,
649
+ contentDescription = null ,
650
+ modifier = Modifier .size(SwitchDefaults .IconSize ),
651
+ )
652
+ }
653
+ } else {
654
+ null
645
655
}
646
- } else {
647
- null
648
656
}
657
+
649
658
val interactionSource = remember { MutableInteractionSource () }
650
659
Row (
651
660
modifier = Modifier
0 commit comments