From 170f4a8de930cd81e91e2971ce80d842a18569fb Mon Sep 17 00:00:00 2001 From: Acclorite <140836141+Acclorite@users.noreply.github.com> Date: Sat, 4 Jan 2025 17:27:09 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Coerce=20minimum=20paragraphHeig?= =?UTF-8?q?ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Coerced minimum paragraphHeight as the height of the line --- .../ua/acclorite/book_story/ui/reader/ReaderScreen.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt index 72d965b7..6a298719 100644 --- a/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt +++ b/app/src/main/java/ua/acclorite/book_story/ui/reader/ReaderScreen.kt @@ -68,6 +68,7 @@ data class ReaderScreen(val bookId: Int) : Screen, Parcelable { val settingsState = settingsModel.state.collectAsStateWithLifecycle() val activity = LocalActivity.current + val density = LocalDensity.current val listState = rememberSaveable( state.value.listState, saver = LazyListState.Saver @@ -129,8 +130,13 @@ data class ReaderScreen(val bookId: Int) : Screen, Parcelable { val verticalPadding = remember(mainState.value.verticalPadding) { (mainState.value.verticalPadding * 4.5f).dp } - val paragraphHeight = remember(mainState.value.paragraphHeight) { - (mainState.value.paragraphHeight * 3).dp + val paragraphHeight = remember( + mainState.value.paragraphHeight, + mainState.value.lineHeight + ) { + ((mainState.value.paragraphHeight * 3).dp).coerceAtLeast( + with(density) { mainState.value.lineHeight.sp.toDp().value * 0.5f }.dp + ) } val fontStyle = remember(mainState.value.isItalic) { when (mainState.value.isItalic) { @@ -181,7 +187,6 @@ data class ReaderScreen(val bookId: Int) : Screen, Parcelable { } } - val density = LocalDensity.current val layoutDirection = LocalLayoutDirection.current val cutoutInsets = WindowInsets.displayCutout val systemBarsInsets = WindowInsets.systemBarsIgnoringVisibility