From c3ca734005462c7760c8e661516c69b265c3369b Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sun, 7 Jul 2024 08:55:21 +0300 Subject: [PATCH] Update reader state on chapter switch --- .../kotatsu/reader/ui/ReaderViewModel.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt index b70924a8d..38ccf2da1 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt @@ -283,7 +283,9 @@ constructor( prevJob?.cancelAndJoin() content.value = ReaderContent(emptyList(), null) chaptersLoader.loadSingleChapter(id) - content.value = ReaderContent(chaptersLoader.snapshot(), ReaderState(id, page, 0)) + val newState = ReaderState(id, page, 0) + content.value = ReaderContent(chaptersLoader.snapshot(), newState) + saveCurrentState(newState) } } @@ -305,14 +307,13 @@ constructor( } content.value = ReaderContent(emptyList(), null) chaptersLoader.loadSingleChapter(newChapterId) - content.value = ReaderContent( - chaptersLoader.snapshot(), - ReaderState( - chapterId = newChapterId, - page = if (delta == 0) prevState.page else 0, - scroll = if (delta == 0) prevState.scroll else 0, - ), + val newState = ReaderState( + chapterId = newChapterId, + page = if (delta == 0) prevState.page else 0, + scroll = if (delta == 0) prevState.scroll else 0, ) + content.value = ReaderContent(chaptersLoader.snapshot(), newState) + saveCurrentState(newState) } }