Fixed
Status Update
Comments
ma...@google.com <ma...@google.com>
th...@gmail.com <th...@gmail.com> #2
Android 5.0, 5.1: it shows context menu at top of screen, not as popup. See screenshots.
Android framework doesn't support floating toolbar before 23. So this is intended behavior.
The crash information suggests that this is an error from Snapshot. chuckj@ can you please take a look? I don't know what exactly caused the readError
in Snapshot, any suggestions? Thanks a lot!
an...@google.com <an...@google.com> #3
This looks like another instance of 193006595 which I am looking at now.
ch...@google.com <ch...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit beeb84e7be604088ad40e080a8d0adb1bacbf695
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Thu Jul 08 10:04:28 2021
Remove updating the transparent snapshot
A transparent snapshot is create for the block exeucted by
`Snapshot.observe()` which registers read and write observers
but without creating a snapshot. The code to advance the
global snapshot, however, created a new transparent snapshot in
an attempt to update it to the new global snapshot it just
created. This is not necessary, however, as the transparent
snapshot will retrieve the current global snapshot from
`currentGlobalSnapshot` instead of `previousSnapshot` if
`previousSnapshot` is `null`. With the previous code, if the
global snapshot is advanced by applying a new snapshot the
"updated" transparent snapshot will be left referring to an
older snapshot instead of the most recent global snapshot.
Any snapshot object created in the newly applied snapshot
will throw an exception when it is accessed, as reported in
the bugs. The solution is to remove the apparent vetiagal code.
Test: ./gradlew :compose:r:r:tDUT
Fixes: b/193006595 , b/192570897
Change-Id: I2c0d0b8f57bf70e5a98ea36ed141d97142a5e53e
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/Snapshot.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt
https://android-review.googlesource.com/1760301
Branch: androidx-main
commit beeb84e7be604088ad40e080a8d0adb1bacbf695
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Thu Jul 08 10:04:28 2021
Remove updating the transparent snapshot
A transparent snapshot is create for the block exeucted by
`Snapshot.observe()` which registers read and write observers
but without creating a snapshot. The code to advance the
global snapshot, however, created a new transparent snapshot in
an attempt to update it to the new global snapshot it just
created. This is not necessary, however, as the transparent
snapshot will retrieve the current global snapshot from
`currentGlobalSnapshot` instead of `previousSnapshot` if
`previousSnapshot` is `null`. With the previous code, if the
global snapshot is advanced by applying a new snapshot the
"updated" transparent snapshot will be left referring to an
older snapshot instead of the most recent global snapshot.
Any snapshot object created in the newly applied snapshot
will throw an exception when it is accessed, as reported in
the bugs. The solution is to remove the apparent vetiagal code.
Test: ./gradlew :compose:r:r:tDUT
Fixes:
Change-Id: I2c0d0b8f57bf70e5a98ea36ed141d97142a5e53e
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/snapshots/Snapshot.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit de27354b08213ee30616d35b2f894527125cd28a
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Wed May 12 10:37:30 2021
Recompose late arriving changes immediately
If a composition changes a value observed by another composition
then the propagation of the change can be delayed by a frame. This
can cause noticible flicker as seen in b/184173932 .
This change recomposes affected compositions immediately instead.
Relnote: """ControlledComposition API change to enable recomposing
changes in a recompose single pass."""
Fixes: b/184173932
Test: ./gradlew :compose:r:r:tDUT
Change-Id: Iaafd1d5f11e2ee2b499745b9f111f7442563a4ce
M compose/runtime/runtime/api/1.0.0-beta08.txt
M compose/runtime/runtime/api/current.ignore
M compose/runtime/runtime/api/current.txt
M compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta08.txt
M compose/runtime/runtime/api/public_plus_experimental_current.txt
M compose/runtime/runtime/api/restricted_1.0.0-beta08.txt
M compose/runtime/runtime/api/restricted_current.ignore
M compose/runtime/runtime/api/restricted_current.txt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/CompositionTests.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
https://android-review.googlesource.com/1705446
Branch: androidx-main
commit de27354b08213ee30616d35b2f894527125cd28a
Author: Chuck Jazdzewski <chuckj@google.com>
Date: Wed May 12 10:37:30 2021
Recompose late arriving changes immediately
If a composition changes a value observed by another composition
then the propagation of the change can be delayed by a frame. This
can cause noticible flicker as seen in
This change recomposes affected compositions immediately instead.
Relnote: """ControlledComposition API change to enable recomposing
changes in a recompose single pass."""
Fixes:
Test: ./gradlew :compose:r:r:tDUT
Change-Id: Iaafd1d5f11e2ee2b499745b9f111f7442563a4ce
M compose/runtime/runtime/api/1.0.0-beta08.txt
M compose/runtime/runtime/api/current.ignore
M compose/runtime/runtime/api/current.txt
M compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta08.txt
M compose/runtime/runtime/api/public_plus_experimental_current.txt
M compose/runtime/runtime/api/restricted_1.0.0-beta08.txt
M compose/runtime/runtime/api/restricted_current.ignore
M compose/runtime/runtime/api/restricted_current.txt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composer.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Composition.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/Recomposer.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityArraySet.kt
M compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/collection/IdentityScopeMap.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/CompositionTests.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
M compose/runtime/runtime/src/test/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
Description
Jetpack Compose release version:
Description: The content inside a
BoxWithConstraints
will not be updated immediately when changing the Theme between light and dark.Steps to Reproduce: