Fixed
Status Update
Comments
an...@google.com <an...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 4b73c65a6ef6702c49179fa571d8f93fd1c0549b
Author: Ralston Da Silva <ralu@google.com>
Date: Wed Jan 06 17:40:29 2021
Remove deprecated APIs
Bug: 174728671
Bug: 175156387
Test: N/A
Relnote: Removed deprecated focusObserver use onFocusChanged or onFocusEvent instead
Relnote: Removed deprecated keyInputFilter use onKeyEvent instead
Relnote: Removed deprecated previewKeyInputFilter use onPreviewKeyEvent instead
Change-Id: I3ecb9449c5aa3e9b3a9d396808c63a8b2c199916
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/FocusObserverModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/key/KeyInputModifier.kt
https://android-review.googlesource.com/1540836
Branch: androidx-main
commit 4b73c65a6ef6702c49179fa571d8f93fd1c0549b
Author: Ralston Da Silva <ralu@google.com>
Date: Wed Jan 06 17:40:29 2021
Remove deprecated APIs
Bug: 174728671
Bug: 175156387
Test: N/A
Relnote: Removed deprecated focusObserver use onFocusChanged or onFocusEvent instead
Relnote: Removed deprecated keyInputFilter use onKeyEvent instead
Relnote: Removed deprecated previewKeyInputFilter use onPreviewKeyEvent instead
Change-Id: I3ecb9449c5aa3e9b3a9d396808c63a8b2c199916
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/FocusObserverModifier.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/input/key/KeyInputModifier.kt
Description
Note: as this bug requires an API change I think it is urgent.
In the previous api for graphics layers it was possible to set a rect with float offset/size as an outline. Users we providing a Shape implementation, and Shape is a way to produce an Outline object. Outline.Rectangle works with Rect, not IntRect. Outline.Rounded works with RoundRect.
However in the new api for GraphicsLayer we didn't support floats. Only IntOffset and IntSize is supported:https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt;l=744
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt;l=719
Even that on Android we can't really apply float based outlines to RenderNode, it was possible on other platforms like Desktop, where skia is used directly. We can also potentially support in on Android as well if we use canvas.clipRect directly instead of using outline clipping.
Another related issue is that the getter for outline is working with Outline objectshttps://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/layer/AndroidGraphicsLayer.android.kt;l=659 , and we introduced an extension setter for Outline objects https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer.kt;l=422 .
It creates a strange situation where I set float based values, but get back rounded values.
This test will not pass: