Skip to content

Commit 1e975a8

Browse files
committed
feat: Use interactionSource and ripple for Switch and Checkbox in SettingsWidgets.
1 parent 36692f2 commit 1e975a8

File tree

1 file changed

+7
-1
lines changed
  • app/src/main/java/com/github/jing332/tts_server_android/compose/settings

1 file changed

+7
-1
lines changed

app/src/main/java/com/github/jing332/tts_server_android/compose/settings/SettingsWidgets.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.github.jing332.tts_server_android.compose.settings
22

33
import androidx.compose.foundation.clickable
44
import androidx.compose.foundation.focusable
5+
import androidx.compose.foundation.interaction.MutableInteractionSource
56
import androidx.compose.foundation.layout.Column
67
import androidx.compose.foundation.layout.ColumnScope
78
import androidx.compose.foundation.layout.Row
@@ -17,6 +18,7 @@ import androidx.compose.material3.Switch
1718
import androidx.compose.material3.Text
1819
import androidx.compose.material3.TextButton
1920
import androidx.compose.material3.minimumInteractiveComponentSize
21+
import androidx.compose.material3.ripple
2022
import androidx.compose.runtime.Composable
2123
import androidx.compose.runtime.CompositionLocalProvider
2224
import androidx.compose.runtime.LaunchedEffect
@@ -104,13 +106,16 @@ internal fun SwitchPreference(
104106
checked: Boolean,
105107
onCheckedChange: (Boolean) -> Unit,
106108
) {
109+
val interactionSource = remember { MutableInteractionSource() }
107110
BasePreferenceWidget(
108111
modifier = modifier
109112
.focusable()
110113
.toggleable(
111-
role = Role.Switch,
112114
value = checked,
115+
role = Role.Switch,
113116
enabled = true,
117+
interactionSource = interactionSource,
118+
indication = ripple(),
114119
onValueChange = { onCheckedChange(!checked) }),
115120

116121
title = title,
@@ -119,6 +124,7 @@ internal fun SwitchPreference(
119124
content = {
120125
Switch(
121126
checked = checked,
127+
interactionSource = interactionSource,
122128
onCheckedChange = null,
123129
modifier = Modifier.align(Alignment.CenterVertically)
124130

0 commit comments

Comments
 (0)