From f5fd8c30df9954c79c494a3c2501c54b829b21d5 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Wed, 27 Jul 2022 01:49:00 +0200 Subject: [PATCH] Fix: Nested scrolling of AppSheet (closes #246) --- .../com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt index 808940d4..35713ffd 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt @@ -33,8 +33,11 @@ import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.ComposeView +import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.core.net.toUri @@ -347,7 +350,7 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { } } - @OptIn(ExperimentalMaterial3Api::class) + @OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class) @Composable fun AppSheet() { val includeIncompatible = Preferences[Preferences.Key.IncompatibleVersions] @@ -400,6 +403,7 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { ) } val snackbarHostState = remember { SnackbarHostState() } + val nestedScrollConnection = rememberNestedScrollInteropConnection() val coroutineScope = rememberCoroutineScope() suggestedProductRepo?.let { (product, repo) -> @@ -417,7 +421,8 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { ) { paddingValues -> LazyColumn( modifier = Modifier - .padding(paddingValues), + .padding(paddingValues) + .nestedScroll(nestedScrollConnection), verticalArrangement = Arrangement.spacedBy(8.dp), contentPadding = PaddingValues(8.dp) ) {