Fixed
Status Update
Comments
pa...@google.com <pa...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 755b3f1f06c682b37c39b7bf3b80bccb638b642d
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:43:23 2024
GraphicsLayer API Part 4/N
Relnote: "Update Compose framework to expose a
GraphicsContext composition local alongside
updating Owner, DelegateableNode and drawWithCache
Modifier implementations to expose access to the
GraphicsContext for scoped access that will automatically
cleanup GraphicsLayer instances when Modifiers are torn
down."
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest
Change-Id: I64a2f6a2e156f9305fe32ac2a6f9be2b61f7f0ed
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-unit/api/current.txt
M compose/ui/ui-unit/api/restricted_current.txt
M compose/ui/ui-unit/src/androidUnitTest/kotlin/androidx/compose/ui/unit/IntSizeTest.kt
M compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
M compose/ui/ui/src/androidUnitTest/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
M compose/ui/ui/src/androidUnitTest/kotlin/androidx/compose/ui/node/ModifierLocalConsumerEntityTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/Owner.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/CompositionLocals.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
https://android-review.googlesource.com/2960247
Branch: androidx-main
commit 755b3f1f06c682b37c39b7bf3b80bccb638b642d
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:43:23 2024
GraphicsLayer API Part 4/N
Relnote: "Update Compose framework to expose a
GraphicsContext composition local alongside
updating Owner, DelegateableNode and drawWithCache
Modifier implementations to expose access to the
GraphicsContext for scoped access that will automatically
cleanup GraphicsLayer instances when Modifiers are torn
down."
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest
Change-Id: I64a2f6a2e156f9305fe32ac2a6f9be2b61f7f0ed
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-unit/api/current.txt
M compose/ui/ui-unit/api/restricted_current.txt
M compose/ui/ui-unit/src/androidUnitTest/kotlin/androidx/compose/ui/unit/IntSizeTest.kt
M compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/IntSize.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/node/NodeChainTester.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
M compose/ui/ui/src/androidUnitTest/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
M compose/ui/ui/src/androidUnitTest/kotlin/androidx/compose/ui/node/ModifierLocalConsumerEntityTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/draw/DrawModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsLayerScope.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/DelegatableNode.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/Owner.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/CompositionLocals.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
ae...@google.com <ae...@google.com>
ae...@google.com <ae...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 88951ea1f54623398ffdac8a24e35db3fbfeeb8a
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 22:54:56 2024
GraphicsLayer API Part 3/N
Relnote: "Introduce GraphicsContext function constructor
to create a factory to create GraphicsLayer instances"
Created GraphicsLayerV29 as the RenderNode backed
GraphicsLayer for Android
Bug: 288494724
Test: Added AndroidGraphicsLayerTest
Change-Id: Ib98d6b140fab3d857f74faa4fa227927e1625bed
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
A compose/ui/ui-graphics/src/androidInstrumentedTest/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayerTest.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV29.android.kt
https://android-review.googlesource.com/2960246
Branch: androidx-main
commit 88951ea1f54623398ffdac8a24e35db3fbfeeb8a
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 22:54:56 2024
GraphicsLayer API Part 3/N
Relnote: "Introduce GraphicsContext function constructor
to create a factory to create GraphicsLayer instances"
Created GraphicsLayerV29 as the RenderNode backed
GraphicsLayer for Android
Bug: 288494724
Test: Added AndroidGraphicsLayerTest
Change-Id: Ib98d6b140fab3d857f74faa4fa227927e1625bed
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
A compose/ui/ui-graphics/src/androidInstrumentedTest/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayerTest.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV29.android.kt
ae...@google.com <ae...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 25e6f1b21e6136f816097bd0b7e395d81cbaaaa6
Author: Nader Jawad <njawad@google.com>
Date: Tue Mar 05 14:16:52 2024
GraphicsLayer API Part 5/N
Introduce LayerManager as an internal
mechanism for persisting of GraphicsLayer
displaylists by invoking a placeholder render
with empty content within the layer in order
to increment the internal ref count of RenderNode
instances within HWUI.
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest
Change-Id: I52203a1bca59ea024cb7dfa665994a7ccc573756
M compose/ui/ui-graphics/src/androidInstrumentedTest/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayerTest.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerManager.android.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
https://android-review.googlesource.com/2961822
Branch: androidx-main
commit 25e6f1b21e6136f816097bd0b7e395d81cbaaaa6
Author: Nader Jawad <njawad@google.com>
Date: Tue Mar 05 14:16:52 2024
GraphicsLayer API Part 5/N
Introduce LayerManager as an internal
mechanism for persisting of GraphicsLayer
displaylists by invoking a placeholder render
with empty content within the layer in order
to increment the internal ref count of RenderNode
instances within HWUI.
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest
Change-Id: I52203a1bca59ea024cb7dfa665994a7ccc573756
M compose/ui/ui-graphics/src/androidInstrumentedTest/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayerTest.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerManager.android.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 55240af3dcdb65f46679c8840f9b6148034bc7e0
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 22:13:31 2024
GraphicsLayer API Part 2/N
Relnote: "Exposed GraphicsLayer API
to provide developer defined flexibility
in capturing drawing commands that can be
used to draw elsewhere and also apply
different visual effects to the end result."
Introduced AndroidGraphicsLayer actual
implementation with interface definition
to abstract away differences between different
Android API levels.
Added placeholder Desktop GraphicsLayer implementation
to be completed in a subsequent CL.
Bug: 288494724
Test: Added with Android GraphicsLayer implementation
Change-Id: I802452c9375fc6949ed85fb65d77173456893907
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
A compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/GraphicsLayerSamples.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsContext.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/CompositingStrategy.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
A compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
https://android-review.googlesource.com/2960245
Branch: androidx-main
commit 55240af3dcdb65f46679c8840f9b6148034bc7e0
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 22:13:31 2024
GraphicsLayer API Part 2/N
Relnote: "Exposed GraphicsLayer API
to provide developer defined flexibility
in capturing drawing commands that can be
used to draw elsewhere and also apply
different visual effects to the end result."
Introduced AndroidGraphicsLayer actual
implementation with interface definition
to abstract away differences between different
Android API levels.
Added placeholder Desktop GraphicsLayer implementation
to be completed in a subsequent CL.
Bug: 288494724
Test: Added with Android GraphicsLayer implementation
Change-Id: I802452c9375fc6949ed85fb65d77173456893907
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
A compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/GraphicsLayerSamples.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsContext.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/CompositingStrategy.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
A compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
Description
For example Box(Modifier.clickable) { Text("This text does not appear on the tree") }
The workaround is to useUnmergedTree = true
@Test
fun app_opensArticle() {
onRoot(useUnmergedTree = true).printToLog("jetnews")
onAllNodes(hasSubstring("Manuel Vivo"), useUnmergedTree = true)[0].performClick()
onAllNodes(hasSubstring("3 min read"), useUnmergedTree = true)[0].assertIsDisplayed()
}
Filip believes the regression happened in aosp/1360099