From 5150adeaff873725daa632bb2f552fba8af2f40d Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 23 Jun 2024 20:17:42 +0200 Subject: [PATCH] fix: scrolling in patch selector --- .../revanced/manager/ui/screen/PatchesSelectorScreen.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt index 8a7988ff..24a5e530 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt @@ -9,8 +9,8 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListScope +import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items -import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.material.icons.Icons @@ -94,6 +94,8 @@ fun PatchesSelectorScreen( derivedStateOf { vm.selectionIsValid(bundles) } } + val patchLazyListStates = remember(bundles) { List(bundles.size) { LazyListState() } } + if (showBottomSheet) { ModalBottomSheet( onDismissRequest = { @@ -255,7 +257,6 @@ fun PatchesSelectorScreen( } } - val patchLazyListState = rememberLazyListState() Scaffold( topBar = { AppTopBar( @@ -284,7 +285,7 @@ fun PatchesSelectorScreen( ExtendedFloatingActionButton( text = { Text(stringResource(R.string.save)) }, icon = { Icon(Icons.Outlined.Save, null) }, - expanded = patchLazyListState.isScrollingUp, + expanded = patchLazyListStates[pagerState.currentPage].isScrollingUp, onClick = { // TODO: only allow this if all required options have been set. onSave(vm.getCustomSelection(), vm.getOptions()) @@ -328,7 +329,7 @@ fun PatchesSelectorScreen( LazyColumnWithScrollbar( modifier = Modifier.fillMaxSize(), - state = patchLazyListState + state = patchLazyListStates[index] ) { patchList( uid = bundle.uid,