Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
I realize this should be filed as a feature request
na...@google.com <na...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit ed2450ec5d2cdf62f1ebf13a29fe04295ad65e44
Author: Anastasia Soboleva <soboleva@google.com>
Date: Thu Dec 30 19:22:41 2021
Add material decoration box for TextField and OutlinedTextField
It allows additionally to what is customisable in text fields already to customise paddings (incl. for dense text field support), border or indicator line.
In the future we could add prefix/suffix, helper message slots.
Fixes: 203764564
Fixes: 191543915
Fixes: 189971673
Fixes: 183136600
Fixes: 179882597
Fixes: 168003617
Test: TextFieldTest and OutlinedTextFieldTest
Test: new tests TextFieldDecorationBoxTest
Relnote: "Added TextFieldDecorationBox and
OutlinedTextFieldDecorationBox. Using them together with BasicTextField
will help you build custom text field based on Material Design text
fields but with more options for customisation."
Relnote: "Provided a way to adjust horizontal and vertical paddings in text fields."
Change-Id: I8c9f168a687e337670c266e1eb3e985da6aebdc3
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/TextFieldSamples.kt
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
A compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/api/public_plus_experimental_current.txt
A compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
https://android-review.googlesource.com/1934969
Branch: androidx-main
commit ed2450ec5d2cdf62f1ebf13a29fe04295ad65e44
Author: Anastasia Soboleva <soboleva@google.com>
Date: Thu Dec 30 19:22:41 2021
Add material decoration box for TextField and OutlinedTextField
It allows additionally to what is customisable in text fields already to customise paddings (incl. for dense text field support), border or indicator line.
In the future we could add prefix/suffix, helper message slots.
Fixes: 203764564
Fixes: 191543915
Fixes: 189971673
Fixes: 183136600
Fixes: 179882597
Fixes: 168003617
Test: TextFieldTest and OutlinedTextFieldTest
Test: new tests TextFieldDecorationBoxTest
Relnote: "Added TextFieldDecorationBox and
OutlinedTextFieldDecorationBox. Using them together with BasicTextField
will help you build custom text field based on Material Design text
fields but with more options for customisation."
Relnote: "Provided a way to adjust horizontal and vertical paddings in text fields."
Change-Id: I8c9f168a687e337670c266e1eb3e985da6aebdc3
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/TextFieldSamples.kt
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
A compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/api/public_plus_experimental_current.txt
A compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
Description
forEachGesture
is an extension ofPointerInputScope
and has a lambda also onPointerInputScope
. It repeats the lambda, which must callawaitPointerEventScope
inside it to find gestures. On each loop, it must enter and exitAwaitPointerEventScope
and each time it exits, there is a chance that events get lost between gestures.We need a new method that loops wholly within
AwaitPointerEventScope
so that events aren't lost.forEachGesture
can't be deprecated because there are use cases where suspend functions or acoroutineScope
belongs within the lambda block. But most gesture detectors don't need that.