Fix crash at clock carousel
Make sure to assign the accessiblity delegate after the adapter is
initialized. This is to avoid unexpceted crash caused transitionToNext
which might access to the adapter that is not yet initiailzed.
Test: Manully tested clock carousel still works
Bug: 309161842
Flag: None
Change-Id: I0d6de24c4bd86892808d1610cc8a300d20c9c2e7
diff --git a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
index 6bd717b..e2616c7 100644
--- a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
+++ b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
@@ -58,11 +58,6 @@
carouselView.transitionToPrevious()
}
)
- screenPreviewClickView.accessibilityDelegate = carouselAccessibilityDelegate
- screenPreviewClickView.setOnSideClickedListener { isStart ->
- if (isStart) carouselView.scrollToPrevious() else carouselView.scrollToNext()
- }
-
lifecycleOwner.lifecycleScope.launch {
lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
launch {
@@ -76,6 +71,11 @@
},
isTwoPaneAndSmallWidth = isTwoPaneAndSmallWidth,
)
+ screenPreviewClickView.accessibilityDelegate = carouselAccessibilityDelegate
+ screenPreviewClickView.setOnSideClickedListener { isStart ->
+ if (isStart) carouselView.scrollToPrevious()
+ else carouselView.scrollToNext()
+ }
}
}