Fixed
Status Update
Comments
se...@candybytes.com <se...@candybytes.com> #2
if I do this key management is seems that it works.
key = { idx ->
if (feedData[feedData.itemCount - 1] == null || feedData.itemCount <= 1) idx
else feedData[idx]?.code ?: idx
},
an...@google.com <an...@google.com>
an...@google.com <an...@google.com> #3
It is a bug in how Modifier.animatedItemPlacement() works for lazy grids in 1.3.0-rc01.
It happens when the item which is visible after the items list change and was not visible before and had an index which is larger than the new items list size.
Workaround is to not use Modifier.animatedItemPlacement() for now
It happens when the item which is visible after the items list change and was not visible before and had an index which is larger than the new items list size.
Workaround is to not use Modifier.animatedItemPlacement() for now
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit c221d62c6aee00a180bf48e776f106396a377a47
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Mon Oct 31 17:39:06 2022
Fix for a crash when Modifier.animateItemPlacement() is set on a child of Lazy grids
It was happening when the item which is visible after the items list change and was not visible before and had an index which is larger than the new items list size.
Fixes: 253195989
Test: new tests in LazyGridAnimateItemPlacementTest
Relnote: The crash with Modifier.animateItemPlacement() and Lazy grids was fixed. It was happening in some conditions when the new items count is smaller then the previous one.
Change-Id: I0bcac889f7916ab032be277ba11fcfb723e56516
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemPlacementAnimator.kt
https://android-review.googlesource.com/2277813
Branch: androidx-main
commit c221d62c6aee00a180bf48e776f106396a377a47
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Mon Oct 31 17:39:06 2022
Fix for a crash when Modifier.animateItemPlacement() is set on a child of Lazy grids
It was happening when the item which is visible after the items list change and was not visible before and had an index which is larger than the new items list size.
Fixes: 253195989
Test: new tests in LazyGridAnimateItemPlacementTest
Relnote: The crash with Modifier.animateItemPlacement() and Lazy grids was fixed. It was happening in some conditions when the new items count is smaller then the previous one.
Change-Id: I0bcac889f7916ab032be277ba11fcfb723e56516
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/grid/LazyGridAnimateItemPlacementTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazyGridItemPlacementAnimator.kt
na...@google.com <na...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.3.1
mi...@gmail.com <mi...@gmail.com> #6
Crash is still there for me on 1.4.0-alpha02
an...@google.com <an...@google.com> #7
Yes, it will be released in the next alpha (but it was cherrypicked to 1.3.1 stable)
ju...@google.com <ju...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.4.0-alpha03
Description
Jetpack Compose component(s) used: androidxCompose = "1.3.0-rc01" androidxComposeCompiler = "1.3.2" androidxComposeMaterial3 = "1.0.0-alpha13" androidxComposeMaterial = "1.2.1"
Android Studio Build: Build #AI-222.4167.29.2221.9133400, built on October 4, 2022
Kotlin version: kotlin = "1.7.20"
Steps to Reproduce or Code Sample to Reproduce:
I struggle with a "Key" problem since I updated from androidx.compose "1.3.0-beta03" to "1.3.0-rc01".
I use LazyPagingItems for a LazyVerticalGrid and i add items like this in the LazyGridScope:
But since the library update, when I filter the content (so the paging items are updated in the flow), it throws an Exception. This exception wasn't thrown in the beta03 library version.
Because paging data is changing and elements become null while loading I can't supply a unique key, the App crashes. Is this a bug in the library or what exactly is the best practice when using LazyPagingItems that can change over time if you'd like to work with keys in the LazyGrid?
Stack trace (if applicable):