Colton Idle
03/21/2024, 10:16 AMColton Idle
03/21/2024, 10:18 AMSeekableTransitionState
replaces snapTo()
with seekTo()
, and adds a snapTo()
that immediately changes the state to a destination state without any kind of animation.
• Removed experimental LocalTextLinkStyle
composition local for styling hyperlinks. (Iebfa7)
• Removed experimental override of BasicText
with onLinkClicked
argument. A replacement API for hyperlinks support will follow in the future. (I107d5)
• Removed Codepoints related methods and properties under TextFieldState
and TextFieldBuffer
. Also removed the inChars
suffixes from the remaining selection and composition related APIs. (Ief7ce)
• `AnchoredDraggable`'s currentValue
will now update when passing through an anchor point. Use settledValue
to receive the previous currentValue
semantics, only updating when settling at an anchor. The progress is now exposed as a function (requiring a starting and end point) instead of a property. (Ibe6e8, b/318707189, b/298271489, b/294991954)
• BasicTextField(state)
, TextFieldState
, InputTransformation
, OutputTransformation
, TextFieldLineLimits
, TextFieldDecorator
are graduated to stable. (I9582b)
• Introduced InterceptPlatformTextInput
for helping write low-level IME-related tests and other low-level IME use cases. PlatformTextInputTestOverride
has been deprecated. (I862ed, b/322680547)
• Split restrictedConstraints()
to two methods: fitPrioritizingWidth()
and fitPrioritizingHeight()
(I6d7fd)
• Added 2 new API `isLastScrollForward`/`isLastScrollBackward` to check scroll direction for latest scroll action, return false if no scroll action yet. (I63a0e)
• The ScaffoldSubcomposeInMeasureFix
flag has been removed. (I67363)
• Clear late changes on deactivated composition (5950bc)
• Lots of graphics related stuff
• Introduce new GraphicsLayer
API to record drawing commands in a display list as well as additional properties that affect the rendering of the display list. This provides an isolation boundary to divide a complex scene into smaller pieces that can be updated individually of one another without recreating the entire scene. Transformations made to a GraphicsLayer
can be done without re-recording the display list. Unlike Modifier.graphicsLayer
, GraphicsLayer
allows for rendering of Composable content elsewhere and is useful in animated use cases where content is expected to be rendered in different scenes.
• GraphicsLayer.draw(Canvas)
is not a public api anymore. Please use the DrawScope.drawLayer(GraphicsLayer)
extension function instead to draw the layer. (I7a7c0)
• Split restrictedConstraints()
to two methods: fitPrioritizingWidth()
and fitPrioritizingHeight()
(I6d7fd)
• Introduced HardwareCanvas
stub for Android L usage (I1c3b5, b/288494724)
• 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. (I64a2f, b/288494724)
• Introduced InterceptPlatformTextInput
for helping write low-level IME-related tests and other low-level IME use cases. PlatformTextInputTestOverride
has been deprecated. (I862ed, b/322680547)
• GraphicsLayer.setOutline(Outline)
extension function was added. (Ib81f4)
• Introduce GraphicsContext
function constructor to create a factory to create GraphicsLayer
instances (Ib98d6, b/288494724)
• 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. (I80245, b/288494724)
• Introduce the Paragraph#getRangeForRect
which returns a range of text covered by a given rectangle area. (Iee516, b/325660505)
• Removed experimental override of BasicText
with onLinkClicked
argument. A replacement API for hyperlinks support will follow in the future. (I107d5)
• Added GraphicsLayer
expect/actual API definition 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. (I4a8d6, b/288494724)
• Fixed an interop issue with 1D focus search where focus would get stuck inside a ComposeView
that was embedded among other views. (I08fd4)
• LocalLifecycleOwner
moved from Compose UI to lifecycle-runtime-compose
so that its Compose-based helper APIs can be used outside of Compose UI. Thanks Jake Wharton for the contribution. (I6c41b, b/328263448)
• Consistently expose bias float properties on all bias-based alignment subtypes. (I69f0f, b/328088992)
This is getting too long, so m3 1.3.0-alpha03 changes are here: https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.0-alpha03Stylianos Gakis
03/21/2024, 10:20 AMColton Idle
03/21/2024, 10:24 AMTheartifact and APIs likelifecycle-viewmodel
,ViewModel
,ViewModelStore
, andViewModelStoreOwner
are now shipped in artifacts compatible with Kotlin Multiplatform. (b/214568825)ViewModelProvider
Stylianos Gakis
03/21/2024, 10:24 AMGraphicsLayer
API, I asked here too https://androiddev.social/@gakisstylianos/112130559637680745
But I’m definitely curious to see it in action. It looks interesting but I think I’d need to see it used a bit to properly understand what it can doMR3Y
03/21/2024, 1:14 PMGraphicsLayer
API https://android-review.googlesource.com/c/platform/frameworks/support/+/2647907. my guess is that this was a blocker for them so, it took them so long to finally add this animateItem
Modifier.