From a12c5c583bf2b2787ed0e72084f5af490cea3da5 Mon Sep 17 00:00:00 2001 From: Ax333l Date: Tue, 2 Jul 2024 15:43:06 +0200 Subject: [PATCH] fix: add bounds checks in patch selector --- .../app/revanced/manager/ui/screen/PatchesSelectorScreen.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 24a5e530..8ddd6d73 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 @@ -285,7 +285,7 @@ fun PatchesSelectorScreen( ExtendedFloatingActionButton( text = { Text(stringResource(R.string.save)) }, icon = { Icon(Icons.Outlined.Save, null) }, - expanded = patchLazyListStates[pagerState.currentPage].isScrollingUp, + expanded = patchLazyListStates.getOrNull(pagerState.currentPage)?.isScrollingUp ?: true, onClick = { // TODO: only allow this if all required options have been set. onSave(vm.getCustomSelection(), vm.getOptions()) @@ -325,6 +325,8 @@ fun PatchesSelectorScreen( state = pagerState, userScrollEnabled = true, pageContent = { index -> + // Avoid crashing if the lists have not been fully initialized yet. + if (index > bundles.lastIndex || bundles.size != patchLazyListStates.size) return@HorizontalPager val bundle = bundles[index] LazyColumnWithScrollbar(