ソースを参照

Migrate deprecated tooltip components (#10141)

Ivan Iskandar 1 年間 前
コミット
f9fb034330
1 ファイル変更37 行追加14 行削除
  1. 37 14
      app/src/main/java/eu/kanade/presentation/components/AppBar.kt

+ 37 - 14
app/src/main/java/eu/kanade/presentation/components/AppBar.kt

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