瀏覽代碼

Assign keys for global search rows based on source

Maybe fixes #8924
arkon 2 年之前
父節點
當前提交
e468554fd9

+ 4 - 4
app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt

@@ -81,16 +81,13 @@ fun GlobalSearchContent(
         contentPadding = contentPadding,
     ) {
         items.forEach { (source, result) ->
-            item {
+            item(key = source.id) {
                 GlobalSearchResultItem(
                     title = source.name,
                     subtitle = LocaleHelper.getDisplayName(source.lang),
                     onClick = { onClickSource(source) },
                 ) {
                     when (result) {
-                        is SearchItemResult.Error -> {
-                            GlobalSearchErrorResultItem(message = result.throwable.message)
-                        }
                         SearchItemResult.Loading -> {
                             GlobalSearchLoadingResultItem()
                         }
@@ -114,6 +111,9 @@ fun GlobalSearchContent(
                                 onLongClick = onLongClickItem,
                             )
                         }
+                        is SearchItemResult.Error -> {
+                            GlobalSearchErrorResultItem(message = result.throwable.message)
+                        }
                     }
                 }
             }

+ 4 - 4
app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt

@@ -79,16 +79,13 @@ fun MigrateSearchContent(
         contentPadding = contentPadding,
     ) {
         items.forEach { (source, result) ->
-            item {
+            item(key = source.id) {
                 GlobalSearchResultItem(
                     title = if (source.id == sourceId) "▶ ${source.name}" else source.name,
                     subtitle = LocaleHelper.getDisplayName(source.lang),
                     onClick = { onClickSource(source) },
                 ) {
                     when (result) {
-                        is SearchItemResult.Error -> {
-                            GlobalSearchErrorResultItem(message = result.throwable.message)
-                        }
                         SearchItemResult.Loading -> {
                             GlobalSearchLoadingResultItem()
                         }
@@ -105,6 +102,9 @@ fun MigrateSearchContent(
                                 onLongClick = onLongClickItem,
                             )
                         }
+                        is SearchItemResult.Error -> {
+                            GlobalSearchErrorResultItem(message = result.throwable.message)
+                        }
                     }
                 }
             }