Fixed
Status Update
Comments
dn...@google.com <dn...@google.com>
dn...@google.com <dn...@google.com> #2
For example:
@Composable
fun Foo(value: ImmutableCollection<Int>) {}
@Composable
fun Foo(value: PersistentList<Int>) {}
zd...@obornik.cz <zd...@obornik.cz> #3
PersistentList is particularly relevant for hoisting List state with similar performance characteristics as SnapshotStateList for non-hoisted List state.
ea...@gmail.com <ea...@gmail.com> #4
Given that the `immutableListOf`, `immutableSetOf` and `immutableMapOf` functions are all deprecated, it seems like we should be using the Persistent types. However this has a massive performance impact whilst this issue persists.
ch...@shopify.com <ch...@shopify.com> #5
+1 vote, PersistentList
is more useful than ImmutableList
(for updating items)
dn...@google.com <dn...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit a91b7d222899c073168661eccc465034106f9895
Author: Andrew Bailey <anbailey@google.com>
Date: Mon Dec 05 11:39:51 2022
Make more of kotlinx.collections.immutable stable
This addresses two issues around stability inferencing for types in the
kotlinx.collections.immutable library. We have a few exceptions to treat
ImmutableList, ImmutableSet, and ImmutableMap as stable types, but we
don't have anything for ImmutableCollection or their Persistent
siblings. This CL adds those exceptions.
We also haven't marked any of their corresponding `*Of()` builders as
stable, which this CL also adds exceptions for.
Bug: 238057117
Bug: 254435410
Test: ClassStabilityTransformTests
Change-Id: Ie19290bfb53dd667e866681f11f266ae7bdb6201
M compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt
M compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
https://android-review.googlesource.com/2328593
Branch: androidx-main
commit a91b7d222899c073168661eccc465034106f9895
Author: Andrew Bailey <anbailey@google.com>
Date: Mon Dec 05 11:39:51 2022
Make more of kotlinx.collections.immutable stable
This addresses two issues around stability inferencing for types in the
kotlinx.collections.immutable library. We have a few exceptions to treat
ImmutableList, ImmutableSet, and ImmutableMap as stable types, but we
don't have anything for ImmutableCollection or their Persistent
siblings. This CL adds those exceptions.
We also haven't marked any of their corresponding `*Of()` builders as
stable, which this CL also adds exceptions for.
Bug: 238057117
Bug: 254435410
Test: ClassStabilityTransformTests
Change-Id: Ie19290bfb53dd667e866681f11f266ae7bdb6201
M compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/ClassStabilityTransformTests.kt
M compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/analysis/Stability.kt
mh...@gmail.com <mh...@gmail.com> #7
Thanks for the report! This is addressed in
mh...@gmail.com <mh...@gmail.com> #8
Wonderful, can't wait. Thank you!
Description
Android version: 7.1.2
Support library version: 25.2.0
It seems that the statusBar and navBar are not being excluded for transitions running on 7.1.2 when created and assigned programmatically in activities. The statusBar and navBar flash or blink. See attached video.
If the transition is created via xm, excludes the statusBar and navBar and is then assigned via a theme in the AndroidManifest, it seems only the renter transition seems to fail to exclude them.
I've tested the exact same scenarios on a device running 6.0.1 and had no issues whatsoever.
I also can't seem to get hold of the statusBar or navBar through an Activity, which i've been able to do successfully before, though I'm unsure if this is related. The code looks like below, called in an Activities onCreate.
View statusBar = findViewById(android.R.id.statusBarBackground);
View navigationBar = findViewById(android.R.id.navigationBarBackground);
A project reproducing this issue can be found here:
Steps to reproduce programmatic issue
1. Open project
2. Run project on above device with version
3. Press "Flash Fix Activity" button
4. Press "Tiger" button
5. Notice status bar and nav bar both "flash" or "blink" when entering "FlashFixActivityB"
6. Press back button
7. Notice status bar and nav bar both "flash" or "blink" when re-entering "FlashFixActivityA"
Steps to reproduce xml issue
1. Open project
2. Comment out fade transition in both "FlashFixActivityA" and "FlashFixActivityB"
3. Add "android:theme="@style/AppTheme.DefaultActivity" to both "FlashFixActivityA" and "FlashFixActivityB" in the manifest
4. Run project on above device with version
3. Press "Flash Fix Activity" button
4. Press "Tiger" button
5. Notice status bar and nav bar both "flash" or "blink" when entering "FlashFixActivityB"
6. Press back button
7. Notice status bar and nav bar both "flash" or "blink" when re-entering "FlashFixActivityA"