summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-16 12:09:26 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-16 12:09:26 -0800
commit43a321847444ffd114345bdc83248fb76f49745a (patch)
treef1be69d1ebc00b845a49ee33835d0f217acfc308 /java/src
parent4d5f92e0da69089272826e6bb6666fd3f80868b6 (diff)
parent5fd6cf8ddc2025504e322b3bb1174556a200d33b (diff)
Merge "Fix Shareousel crash when recomposing" into main
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt14
1 files changed, 8 insertions, 6 deletions
diff --git a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt
index 5b368084..c51021a8 100644
--- a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt
+++ b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/composable/ShareouselComposable.kt
@@ -33,9 +33,9 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.itemsIndexed
-import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.selection.toggleable
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.systemGestureExclusion
@@ -130,15 +130,17 @@ private fun PreviewCarousel(previews: PreviewsModel, viewModel: ShareouselViewMo
// Do not compose the list until we have measured values
if (measurements == PreviewCarouselMeasurements.UNMEASURED) return@Box
- val carouselState =
- rememberLazyListState(
- prefetchStrategy = remember { ShareouselLazyListPrefetchStrategy() },
- initialFirstVisibleItemIndex = previews.startIdx,
- initialFirstVisibleItemScrollOffset =
+ val prefetchStrategy = remember { ShareouselLazyListPrefetchStrategy() }
+ val carouselState = remember {
+ LazyListState(
+ prefetchStrategy = prefetchStrategy,
+ firstVisibleItemIndex = previews.startIdx,
+ firstVisibleItemScrollOffset =
measurements.scrollOffsetToCenter(
previewModel = previews.previewModels[previews.startIdx]
),
)
+ }
LazyRow(
state = carouselState,