Skip to content

Commit 3ab72e8

Browse files
committed
Remove LaunchedEffect workaround for library bug
1 parent 591dfa5 commit 3ab72e8

File tree

1 file changed

+4
-27
lines changed
  • compose/snippets/src/main/java/com/example/compose/snippets/components

1 file changed

+4
-27
lines changed

compose/snippets/src/main/java/com/example/compose/snippets/components/Tooltips.kt

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import androidx.compose.material3.TextButton
3535
import androidx.compose.material3.TooltipBox
3636
import androidx.compose.material3.TooltipDefaults
3737
import androidx.compose.material3.TooltipState
38+
import androidx.compose.material3.rememberTooltipState
3839
import androidx.compose.runtime.Composable
3940
import androidx.compose.runtime.LaunchedEffect
4041
import androidx.compose.runtime.getValue
@@ -79,14 +80,13 @@ fun PlainTooltipExample(
7980
modifier: Modifier = Modifier,
8081
plainTooltipText: String = "Add to favorites"
8182
) {
82-
var tooltipState by remember { mutableStateOf(TooltipState()) }
8383
TooltipBox(
8484
modifier = modifier,
8585
positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(),
8686
tooltip = {
8787
PlainTooltip { Text(plainTooltipText) }
8888
},
89-
state = tooltipState
89+
state = rememberTooltipState()
9090
) {
9191
IconButton(onClick = { /* Do something... */ }) {
9292
Icon(
@@ -95,13 +95,6 @@ fun PlainTooltipExample(
9595
)
9696
}
9797
}
98-
99-
// Reset tooltipState after closing the tooltip.
100-
LaunchedEffect(tooltipState.isVisible) {
101-
if (!tooltipState.isVisible) {
102-
tooltipState = TooltipState()
103-
}
104-
}
10598
}
10699

107100
// [END android_compose_components_plaintooltipexample]
@@ -120,8 +113,6 @@ fun RichTooltipExample(
120113
richTooltipSubheadText: String = "Rich Tooltip",
121114
richTooltipText: String = "Rich tooltips support multiple lines of informational text."
122115
) {
123-
var tooltipState by remember { mutableStateOf(TooltipState(isPersistent = true)) }
124-
125116
TooltipBox(
126117
modifier = modifier,
127118
positionProvider = TooltipDefaults.rememberRichTooltipPositionProvider(),
@@ -132,7 +123,7 @@ fun RichTooltipExample(
132123
Text(richTooltipText)
133124
}
134125
},
135-
state = tooltipState
126+
state = rememberTooltipState()
136127
) {
137128
IconButton(onClick = { /* Icon button's click event */ }) {
138129
Icon(
@@ -141,13 +132,6 @@ fun RichTooltipExample(
141132
)
142133
}
143134
}
144-
145-
// Reset tooltipState after closing the tooltip.
146-
LaunchedEffect(tooltipState.isVisible) {
147-
if (!tooltipState.isVisible) {
148-
tooltipState = TooltipState(isPersistent = true)
149-
}
150-
}
151135
}
152136
// [END android_compose_components_richtooltipexample]
153137

@@ -166,7 +150,7 @@ fun AdvancedRichTooltipExample(
166150
richTooltipText: String = "Rich tooltips support multiple lines of informational text.",
167151
richTooltipActionText: String = "Dismiss"
168152
) {
169-
var tooltipState by remember { mutableStateOf(TooltipState(isPersistent = true)) }
153+
var tooltipState = rememberTooltipState()
170154

171155
TooltipBox(
172156
modifier = modifier,
@@ -195,13 +179,6 @@ fun AdvancedRichTooltipExample(
195179
)
196180
}
197181
}
198-
199-
// Reset tooltipState after closing the tooltip.
200-
LaunchedEffect(tooltipState.isVisible) {
201-
if (!tooltipState.isVisible) {
202-
tooltipState = TooltipState(isPersistent = true)
203-
}
204-
}
205182
}
206183
// [END android_compose_components_advancedrichtooltipexample]
207184

0 commit comments

Comments
 (0)