Status Update
Comments
al...@google.com <al...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Louis Pullen-Freilich <
Link:
Fixes NPE when recording drawContent to a GraphicsLayer
Expand for full commit details
Fixes NPE when recording drawContent to a GraphicsLayer
In some cases (for example when software rendering the graphics layer is required on API levels where the graphics layer implementation doesn't support software rendering) drawing a graphics layer requires drawing the drawBlock passed to record, outside of the draw pass. Since we use a shared draw scope for all draw modifier nodes, this means that we capture a reference to the scope but we don't have the node information anymore to be able to draw it. This CL fixes this issue by making sure that our ContentDrawScope implementation properly restores the node state when drawing a previously recorded drawBlock.
To avoid this issue it is important to use the record function inside DrawScope for this specific use case, and avoid capturing the draw scope in a lambda otherwise.
This CL also updates the CacheDrawScope to use the record function provided by the DrawScope to avoid this issue from occuring inside cache drawing nodes.
Test: DrawModifierTest
Fixes: b/389046242
Relnote: "Fixed an occasional NPE when using `GraphicsLayer.record { this@ContentDrawScope.drawContent() }`. If you are recording drawContent() in this way, make sure to use the GraphicsLayer#record extension function inside DrawScope, and not the member function on GraphicsLayer."
Change-Id: I75fc026069666b61cdd7e5c377fa4da706f985d8
Files:
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeDrawScope.kt
Hash: 8025e8c6128dd3cf148684111953fbac71b55ac2
Date: Fri Jan 10 16:53:20 2025
al...@google.com <al...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Louis Pullen-Freilich <
Link:
Revert^2 "Fixes issue with dragAndDropSource preventing child invalidations"
Expand for full commit details
Revert^2 "Fixes issue with dragAndDropSource preventing child invalidations"
This reverts commit 3d5fd7d04bdd7f02ee2b215af68b2832e06134bf.
Reason for revert: Underlying bug b/389046242 is now resolved
Fixes: b/379682458
Test: DragAndDropSourceTest
Test: AndroidDragAndDropIntegrationTest
Change-Id: I07cb2a4091b46d862628bf17625ae9d9eb087641
Files:
- A
compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/draganddrop/DragAndDropSourceTest.kt
- M
compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/draganddrop/AndroidDragAndDropSource.android.kt
Hash: 3c48a0fbd3c2902a6a7acb6c8b474a4928b1be41
Date: Mon Jan 13 09:46:38 2025
bu...@google.com <bu...@google.com> #4
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.8.0-beta01
androidx.compose.foundation:foundation-android:1.8.0-beta01
androidx.compose.foundation:foundation-jvmstubs:1.8.0-beta01
androidx.compose.foundation:foundation-linuxx64stubs:1.8.0-beta01
androidx.compose.ui:ui-android:1.8.0-beta01
androidx.compose.ui:ui-jvmstubs:1.8.0-beta01
androidx.compose.ui:ui-linuxx64stubs:1.8.0-beta01
pr...@gmail.com <pr...@gmail.com> #6
bu...@google.com <bu...@google.com>
al...@google.com <al...@google.com>
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
Author: Alan Viverette <
Link:
Inline ApiXXImpl methods and unwrap obsolete SDK_INT checks
Expand for full commit details
Inline ApiXXImpl methods and unwrap obsolete SDK_INT checks
Bug: 379669743
Test: ActivityOptionsCompatTest
Change-Id: I1e3222908604c1f7a835489ca98a802af0912390
Files:
- M
core/core/src/main/java/androidx/core/app/ActivityOptionsCompat.java
Hash: b7937b0dfc7ede637b1754a4cb3d4bfe4f71270e
Date: Tue Dec 03 14:47:37 2024
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
Author: Alan Viverette <
Link:
Add setLaunchDisplayId
Expand for full commit details
Add setLaunchDisplayId
Relnote: Add setLaunchDisplayId to ActivityOptionsCompat
Test: ActivityOptionsCompatTest
Fixes: 379669743
Change-Id: I39e773972f9f91b6f970c542740a61486197a3cc
Files:
- M
core/core/api/current.txt
- M
core/core/api/restricted_current.txt
- M
core/core/src/main/java/androidx/core/app/ActivityOptionsCompat.java
- M
core/core/src/test/java/androidx/core/app/ActivityOptionsCompatTest.kt
Hash: 317ab2d2ec1439a277dbe9e2212decd86b4431a5
Date: Tue Dec 03 15:26:25 2024
pr...@gmail.com <pr...@gmail.com> #9
pr...@google.com <pr...@google.com> #10
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.core:core:1.16.0-alpha01
Description
Version used: 1.15
Description
The ActivityOptionsCompat is missing the setTargetDisplayId API which is set on the underlying ActivityOptions. This is needed because ActivityResultLauncher::launch accepts the compat version of "ActivityOptions" instead of a bundle which is accepted by "Context::startActivity()" API.
The android product that I work on deals with displaying content on multiple displays and is not a traditional mobile app, so we have an internal navigation framework to allow displaying content on different displays and having this API exposed natively will allow us to deprecate and remove usages of "startActivityForResult".