Fixed
Status Update
Comments
ju...@google.com <ju...@google.com>
nj...@google.com <nj...@google.com>
ap...@google.com <ap...@google.com> #2
Hi. Thanks for reporting this. Fixed in alpha-04
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit e782987543a9f8ccd485e970ddc74564b24378db
Author: Vighnesh Raut <vighnesh.raut13@gmail.com>
Date: Mon Jan 02 15:27:40 2023
fix: tab row crashes when only 1 tab is added
Bug: b/264018028
Test: Added unit test
Change-Id: I6381dbac304fc1d69d3708c6655f8b595668e93f
M tv/tv-material/src/androidTest/java/androidx/tv/material/TabRowTest.kt
M tv/tv-material/src/main/java/androidx/tv/material/TabRow.kt
https://android-review.googlesource.com/2373449
Branch: androidx-main
commit e782987543a9f8ccd485e970ddc74564b24378db
Author: Vighnesh Raut <vighnesh.raut13@gmail.com>
Date: Mon Jan 02 15:27:40 2023
fix: tab row crashes when only 1 tab is added
Bug:
Test: Added unit test
Change-Id: I6381dbac304fc1d69d3708c6655f8b595668e93f
M tv/tv-material/src/androidTest/java/androidx/tv/material/TabRowTest.kt
M tv/tv-material/src/main/java/androidx/tv/material/TabRow.kt
ap...@google.com <ap...@google.com> #4
deleted
ap...@google.com <ap...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.tv:tv-material:1.0.0-alpha04
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit e32ca4769a50717045b75f9cd7bb1436fe48a751
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 21:44:06 2024
GraphicsLayer API Part 1/N
Relnote: "Added GraphicsLayer expect/actual
API defintion to support capturing and replaying
of drawing commands with optional compositing
visual effects and transforms.
Introduce GraphicsContext interface to contain
graphics dependencies including creation and
management of GraphicsLayer instances.
"
Bug: 288494724
Test: Added with expect/actual implementation
Change-Id: I4a8d67d7b45798d5e8afa78402168d14512e4318
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsContext.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
https://android-review.googlesource.com/2960092
Branch: androidx-main
commit e32ca4769a50717045b75f9cd7bb1436fe48a751
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 21:44:06 2024
GraphicsLayer API Part 1/N
Relnote: "Added GraphicsLayer expect/actual
API defintion to support capturing and replaying
of drawing commands with optional compositing
visual effects and transforms.
Introduce GraphicsContext interface to contain
graphics dependencies including creation and
management of GraphicsLayer instances.
"
Bug: 288494724
Test: Added with expect/actual implementation
Change-Id: I4a8d67d7b45798d5e8afa78402168d14512e4318
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/GraphicsContext.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 1e39396a77297efa4a5a2e4d49e49b7e86b44593
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:09:08 2024
GraphicsLayer API Part 6/N
Added Android GraphicsLayer implementation for
Android API level 23+ leveraging RenderNode stubs
Updated ViewCapture.android.kt to remove the API
level requirement for capturing View content to a
bitmap for testing scenarios
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest on Android API 23
Change-Id: I8013c73b7d115b49bacb5ecdb67c731094262580
M compose/ui/ui-graphics/build.gradle
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV23.android.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
https://android-review.googlesource.com/2960093
Branch: androidx-main
commit 1e39396a77297efa4a5a2e4d49e49b7e86b44593
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:09:08 2024
GraphicsLayer API Part 6/N
Added Android GraphicsLayer implementation for
Android API level 23+ leveraging RenderNode stubs
Updated ViewCapture.android.kt to remove the API
level requirement for capturing View content to a
bitmap for testing scenarios
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest on Android API 23
Change-Id: I8013c73b7d115b49bacb5ecdb67c731094262580
M compose/ui/ui-graphics/build.gradle
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidGraphicsContext.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV23.android.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit f8340787db926919283189376e67e0ea8247b214
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:23:04 2024
GraphicsLayer API Part 7/N
Added View backed GraphicsLayer implementation
for Android L/P and as a fallback for Android devices
that do not support the RenderNode stub approach.
Updated AndroidGraphicsContext to return View backed
graphics layers.
Moved resource identifier for Views used as layers
to the ui-graphics module.
Relnote: "Introduced HardwareCanvas stub for
Android L usage"
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest on Android L
Change-Id: I1c3b5821c20f51b9c8ae96f81c822174583251b7
M compose/material/material-ripple/build.gradle
M compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleContainer.android.kt
M compose/ui/ui-android-stubs/api/current.txt
M compose/ui/ui-android-stubs/api/restricted_current.txt
A compose/ui/ui-android-stubs/src/main/java/android/view/HardwareCanvas.java
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
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsViewLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/view/PlaceholderHardwareCanvas.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/view/ViewLayerContainer.android.kt
A compose/ui/ui-graphics/src/androidMain/res/values/ids.xml
M compose/ui/ui-inspection/build.gradle
M compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/AndroidComposeViewWrapper.kt
M compose/ui/ui-tooling/build.gradle
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayerContainer.android.kt
M compose/ui/ui/src/androidMain/res/values/ids.xml
https://android-review.googlesource.com/2960094
Branch: androidx-main
commit f8340787db926919283189376e67e0ea8247b214
Author: Nader Jawad <njawad@google.com>
Date: Mon Feb 12 23:23:04 2024
GraphicsLayer API Part 7/N
Added View backed GraphicsLayer implementation
for Android L/P and as a fallback for Android devices
that do not support the RenderNode stub approach.
Updated AndroidGraphicsContext to return View backed
graphics layers.
Moved resource identifier for Views used as layers
to the ui-graphics module.
Relnote: "Introduced HardwareCanvas stub for
Android L usage"
Bug: 288494724
Test: Ran AndroidGraphicsLayerTest on Android L
Change-Id: I1c3b5821c20f51b9c8ae96f81c822174583251b7
M compose/material/material-ripple/build.gradle
M compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleContainer.android.kt
M compose/ui/ui-android-stubs/api/current.txt
M compose/ui/ui-android-stubs/api/restricted_current.txt
A compose/ui/ui-android-stubs/src/main/java/android/view/HardwareCanvas.java
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
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsViewLayer.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/view/PlaceholderHardwareCanvas.android.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/view/ViewLayerContainer.android.kt
A compose/ui/ui-graphics/src/androidMain/res/values/ids.xml
M compose/ui/ui-inspection/build.gradle
M compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/compose/AndroidComposeViewWrapper.kt
M compose/ui/ui-tooling/build.gradle
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/draw/DrawModifierTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayerContainer.android.kt
M compose/ui/ui/src/androidMain/res/values/ids.xml
nj...@google.com <nj...@google.com>
ap...@google.com <ap...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-main
commit 49d0d5cb25a6b493e0c20dee322e377519d9da5f
Author: Nader Jawad <njawad@google.com>
Date: Tue Feb 13 12:23:39 2024
GraphicsLayer API Part 8/N
Introduce Compose Desktop GraphicsLayer
implementation
Bug: 288494724
Test: Added DesktopGraphicsLayerTest
Change-Id: I05f5190e8118ccbd2c26e260e6f6ae2f20f013db
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/layer/AndroidGraphicsLayer.android.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
A compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/layer/DesktopGraphicsLayerTest.kt
M compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
https://android-review.googlesource.com/2961886
Branch: androidx-main
commit 49d0d5cb25a6b493e0c20dee322e377519d9da5f
Author: Nader Jawad <njawad@google.com>
Date: Tue Feb 13 12:23:39 2024
GraphicsLayer API Part 8/N
Introduce Compose Desktop GraphicsLayer
implementation
Bug: 288494724
Test: Added DesktopGraphicsLayerTest
Change-Id: I05f5190e8118ccbd2c26e260e6f6ae2f20f013db
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/layer/AndroidGraphicsLayer.android.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
A compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/layer/DesktopGraphicsLayerTest.kt
M compose/ui/ui-graphics/src/skikoMain/kotlin/androidx/compose/ui/graphics/SkiaBackedCanvas.skiko.kt
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.compose.material:material-ripple:1.7.0-alpha05
androidx.compose.material:material-ripple-android:1.7.0-alpha05
androidx.compose.material:material-ripple-desktop:1.7.0-alpha05
androidx.compose.ui:ui:1.7.0-alpha05
androidx.compose.ui:ui-android:1.7.0-alpha05
androidx.compose.ui:ui-android-stubs:1.7.0-alpha05
androidx.compose.ui:ui-desktop:1.7.0-alpha05
androidx.compose.ui:ui-graphics:1.7.0-alpha05
androidx.compose.ui:ui-graphics-android:1.7.0-alpha05
androidx.compose.ui:ui-graphics-desktop:1.7.0-alpha05
androidx.compose.ui:ui-tooling:1.7.0-alpha05
androidx.compose.ui:ui-tooling-android:1.7.0-alpha05
androidx.compose.ui:ui-tooling-desktop:1.7.0-alpha05
androidx.compose.ui:ui-unit:1.7.0-alpha05
androidx.compose.ui:ui-unit-android:1.7.0-alpha05
androidx.compose.ui:ui-unit-desktop:1.7.0-alpha05
tj...@gmail.com <tj...@gmail.com> #11
The implementation of placeAt
in the linked CL on line 118, the overloaded method call does not seem to do anything with the passed in GraphicsLayer
:
protected open fun placeAt(
position: IntOffset,
zIndex: Float,
layer: GraphicsLayer
) {
placeAt(position, zIndex, null)
}
When I tested on the latest snapshot, passing in a GraphicsLayer
was a no-op. I'm not sure if this is a bug, or it is supposed to be addressed in a follow up CL.
ap...@google.com <ap...@google.com> #13
Project: platform/frameworks/support
Branch: androidx-main
commit 6bb3dd89bf83fc4d6f2825effb2f0fc613c94774
Author: Nader Jawad <njawad@google.com>
Date: Wed Mar 27 18:43:56 2024
Update GraphicsLayer API based on Compose Design
Review feedback
Relnote: "Rename GraphicsLayer#buildLayer to
record to mirror the begin/endRecording methods of
Displaylist backed APIs like RenderNode and Picture.
Updated rememberGraphicsLayer to leverage rememberObserver."
Bug: 288494724
Fixes: 330758155
Test: re-ran compose tests
Change-Id: I312c1120358d04fccfe8a646001a883017fb0fb3
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/GraphicsLayerSamples.kt
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
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV23.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV29.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsViewLayer.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerSnapshot.android.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
M compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/layer/DesktopGraphicsLayerTest.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/draw/DrawingPrebuiltGraphicsLayerTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GraphicsLayerOwnerLayer.android.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/desktopTest/kotlin/androidx/compose/ui/draw/DesktopDrawingPrebuiltGraphicsLayerTest.kt
https://android-review.googlesource.com/3016903
Branch: androidx-main
commit 6bb3dd89bf83fc4d6f2825effb2f0fc613c94774
Author: Nader Jawad <njawad@google.com>
Date: Wed Mar 27 18:43:56 2024
Update GraphicsLayer API based on Compose Design
Review feedback
Relnote: "Rename GraphicsLayer#buildLayer to
record to mirror the begin/endRecording methods of
Displaylist backed APIs like RenderNode and Picture.
Updated rememberGraphicsLayer to leverage rememberObserver."
Bug: 288494724
Fixes: 330758155
Test: re-ran compose tests
Change-Id: I312c1120358d04fccfe8a646001a883017fb0fb3
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/GraphicsLayerSamples.kt
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
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV23.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayerV29.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsViewLayer.android.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/LayerSnapshot.android.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.desktop.kt
M compose/ui/ui-graphics/src/desktopTest/kotlin/androidx/compose/ui/graphics/layer/DesktopGraphicsLayerTest.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/draw/DrawingPrebuiltGraphicsLayerTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/GraphicsLayerOwnerLayer.android.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/desktopTest/kotlin/androidx/compose/ui/draw/DesktopDrawingPrebuiltGraphicsLayerTest.kt
na...@google.com <na...@google.com> #14
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui:1.7.0-alpha07
androidx.compose.ui:ui-android:1.7.0-alpha07
androidx.compose.ui:ui-desktop:1.7.0-alpha07
androidx.compose.ui:ui-graphics:1.7.0-alpha07
androidx.compose.ui:ui-graphics-android:1.7.0-alpha07
androidx.compose.ui:ui-graphics-desktop:1.7.0-alpha07
Description
Per Nader's suggestion, `OwnedLayer` is already being used for handling drawing and is in commonMain. If we expose a subset of functionalities of `OwnedLayer`, shared element will be able to leverage their existing layer and render it elsewhere.