From d60181c3eaa78cbccf3fbe4ea77a843f277edb92 Mon Sep 17 00:00:00 2001 From: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com> Date: Sat, 24 Jan 2026 20:41:18 +0700 Subject: [PATCH] Fix memoization in manga bottom action menus (#1418) --- .../libraryUpdateError/LibraryUpdateErrorScreen.kt | 3 ++- .../presentation/manga/components/MangaBottomActionMenu.kt | 4 ++-- .../tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/libraryUpdateError/LibraryUpdateErrorScreen.kt b/app/src/main/java/eu/kanade/presentation/libraryUpdateError/LibraryUpdateErrorScreen.kt index fdbdcfa20..9c8e3e0c3 100644 --- a/app/src/main/java/eu/kanade/presentation/libraryUpdateError/LibraryUpdateErrorScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/libraryUpdateError/LibraryUpdateErrorScreen.kt @@ -32,6 +32,7 @@ import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalHapticFeedback @@ -216,7 +217,7 @@ private fun LibraryUpdateErrorBottomBar( ) { val haptic = LocalHapticFeedback.current val confirm = remember { mutableStateListOf(false, false, false, false, false) } - var resetJob: Job? = remember { null } + var resetJob by remember { mutableStateOf(null) } val onLongClickItem: (Int) -> Unit = { toConfirmIndex -> haptic.performHapticFeedback(HapticFeedbackType.LongPress) confirm.indices.forEach { i -> confirm[i] = i == toConfirmIndex } diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt index 75cb82c55..9b5a2d2e3 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt @@ -97,7 +97,7 @@ fun MangaBottomActionMenu( ) { val haptic = LocalHapticFeedback.current val confirm = remember { mutableStateListOf(false, false, false, false, false, false, false) } - var resetJob: Job? = remember { null } + var resetJob by remember { mutableStateOf(null) } val onLongClickItem: (Int) -> Unit = { toConfirmIndex -> haptic.performHapticFeedback(HapticFeedbackType.LongPress) confirm.indices.forEach { i -> confirm[i] = i == toConfirmIndex } @@ -289,7 +289,7 @@ fun LibraryBottomActionMenu( ) { val haptic = LocalHapticFeedback.current val confirm = remember { mutableStateListOf(false, false, false, false, false, false, false) } - var resetJob: Job? = remember { null } + var resetJob by remember { mutableStateOf(null) } val onLongClickItem: (Int) -> Unit = { toConfirmIndex -> haptic.performHapticFeedback(HapticFeedbackType.LongPress) confirm.indices.forEach { i -> confirm[i] = i == toConfirmIndex } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt index 23989faae..4dc5b482f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt @@ -30,8 +30,10 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalContext @@ -315,7 +317,7 @@ data class MigrateMangaScreen( ) { val haptic = LocalHapticFeedback.current val confirm = remember { mutableStateListOf(false, false, false) } - var resetJob: Job? = remember { null } + var resetJob by remember { mutableStateOf(null) } val onLongClickItem: (Int) -> Unit = { toConfirmIndex -> haptic.performHapticFeedback(HapticFeedbackType.LongPress) confirm.indices.forEach { i -> confirm[i] = i == toConfirmIndex }