Migrate deprecated tooltip components (#10141)

This commit is contained in:
Ivan Iskandar 2023-11-16 21:01:12 +07:00 committed by GitHub
parent 6eb5a25ea1
commit f9fb034330
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,7 +8,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.TextFieldDefaults
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.automirrored.outlined.ArrowBack
import androidx.compose.material.icons.outlined.Close import androidx.compose.material.icons.outlined.Close
@ -19,11 +18,15 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.LocalContentColor import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.PlainTooltipBox import androidx.compose.material3.PlainTooltip
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TextFieldDefaults
import androidx.compose.material3.TooltipBox
import androidx.compose.material3.TooltipDefaults
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.material3.rememberTooltipState
import androidx.compose.material3.surfaceColorAtElevation import androidx.compose.material3.surfaceColorAtElevation
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.derivedStateOf
@ -186,13 +189,18 @@ fun AppBarActions(
var showMenu by remember { mutableStateOf(false) } var showMenu by remember { mutableStateOf(false) }
actions.filterIsInstance<AppBar.Action>().map { actions.filterIsInstance<AppBar.Action>().map {
PlainTooltipBox( TooltipBox(
tooltip = { Text(it.title) }, positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(),
tooltip = {
PlainTooltip {
Text(it.title)
}
},
state = rememberTooltipState(),
) { ) {
IconButton( IconButton(
onClick = it.onClick, onClick = it.onClick,
enabled = it.enabled, enabled = it.enabled,
modifier = Modifier.tooltipTrigger(),
) { ) {
Icon( Icon(
imageVector = it.icon, imageVector = it.icon,
@ -205,12 +213,17 @@ fun AppBarActions(
val overflowActions = actions.filterIsInstance<AppBar.OverflowAction>() val overflowActions = actions.filterIsInstance<AppBar.OverflowAction>()
if (overflowActions.isNotEmpty()) { if (overflowActions.isNotEmpty()) {
PlainTooltipBox( TooltipBox(
tooltip = { Text(stringResource(R.string.abc_action_menu_overflow_description)) }, positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(),
tooltip = {
PlainTooltip {
Text(stringResource(R.string.abc_action_menu_overflow_description))
}
},
state = rememberTooltipState(),
) { ) {
IconButton( IconButton(
onClick = { showMenu = !showMenu }, onClick = { showMenu = !showMenu },
modifier = Modifier.tooltipTrigger(),
) { ) {
Icon( Icon(
Icons.Outlined.MoreVert, Icons.Outlined.MoreVert,
@ -324,12 +337,17 @@ fun SearchToolbar(
if (!searchEnabled) { if (!searchEnabled) {
// Don't show search action // Don't show search action
} else if (searchQuery == null) { } else if (searchQuery == null) {
PlainTooltipBox( TooltipBox(
tooltip = { Text(stringResource(R.string.action_search)) }, positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(),
tooltip = {
PlainTooltip {
Text(stringResource(R.string.action_search))
}
},
state = rememberTooltipState(),
) { ) {
IconButton( IconButton(
onClick = onClick, onClick = onClick,
modifier = Modifier.tooltipTrigger(),
) { ) {
Icon( Icon(
Icons.Outlined.Search, Icons.Outlined.Search,
@ -338,15 +356,20 @@ fun SearchToolbar(
} }
} }
} else if (searchQuery.isNotEmpty()) { } else if (searchQuery.isNotEmpty()) {
PlainTooltipBox( TooltipBox(
tooltip = { Text(stringResource(R.string.action_reset)) }, positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(),
tooltip = {
PlainTooltip {
Text(stringResource(R.string.action_reset))
}
},
state = rememberTooltipState(),
) { ) {
IconButton( IconButton(
onClick = { onClick = {
onClick() onClick()
focusRequester.requestFocus() focusRequester.requestFocus()
}, },
modifier = Modifier.tooltipTrigger(),
) { ) {
Icon( Icon(
Icons.Outlined.Close, Icons.Outlined.Close,