Fixed
Status Update
Comments
kl...@google.com <kl...@google.com> #2
Related CLs
These are the CLs related to this project that were merged before filing this bug, mostly in chronological order.
- Adding support for multiple text input systems.
aosp/2406439 - Copy EditProcessor, EditingBuffer and EditCommand to foundation demo app.
aosp/2401358 - WIP BasicTextInputPlugin, BasicTextField2, TextFieldState
aosp/2450923 - Stabilize PlatformTextInput API to allow use from Foundation.
aosp/2465156 - Make LocalPlatformTextInputPluginRegistry non-experimental.
aosp/2466795 - Always use EditProcessor.update method for setText semantics action in BTF2.
aosp/2485833 - Move BasicTextField2 prototype and tests to foundation.
aosp/2475185 - Disable a broken test in BasicTextField2
aosp/2487271 - Continue expanding BTF2 API with DecorationBox
aosp/2480257 - Attempt to fix a flaky test for BasicTextField selection
aosp/2493878 - Add semantics action for inserting text at cursor.
aosp/2481301 - Move most BasicTextField2 decoration box modifiers to a Modifier.Node.
aosp/2494377 - KeyEvent support for BasicTextField2
aosp/2485061 - Kick-off using Modifier Nodes in BasicTextField2 core modifiers
aosp/2497299 - Add Scroll capability to BasicTextField2
aosp/2506069 - Simplify the BasicTextField2 package structure.
aosp/2513916 - Add some hooks to integration test full pipeline from BTF2 to platform.
aosp/2515797 - Implement basic TextFieldState.edit.
aosp/2500547 - Move filter from property on TextFieldState to param on BasicTextField2.
aosp/2512127 - Address nit feedback on aosp/2512127 and aosp/2500547.
aosp/2516839 - Give TextFieldState a Saver object and rememberTextFieldState.
aosp/2520395 - Make TextEditFilter use MutableTextFieldValueWithSelection.
aosp/2513918 - KeyboardActions in BasicTextField2
aosp/2518475 - Add keyboard visibility controls to TextInputSession
aosp/2518476 - Add change tracking to MutableTextFieldValue.
aosp/2513915 - Improve TextFieldKeyEventTest for BasicTextField2
aosp/2513576 - Disable some BasicTextField2 tests on API21
aosp/2524362 - Replace MutableTextFieldValueWithSelection.resetTo with revertAllChanges.
aosp/2526345 - Add the ability for TextEditFilters to specify default keyboard options.
aosp/2523357 - Combine min/max lines into a single parameter.
aosp/2523359 - Revert "Combine min/max lines into a single parameter."
aosp/2528167 - Revert "Revert "Combine min/max lines into a single parameter.""
aosp/2528168
- Revert "Combine min/max lines into a single parameter."
- Make TextRange.constrain public.
aosp/2528163 - Introduce BasicSecureTextField in text2
aosp/2519909 - Remove the system settings check from BasicSecureTextField.
aosp/2528482 - Get TextFieldValue out of public BasicTextField2 API.
aosp/2526539 - Rename selection to selectionInChars.
aosp/2528164
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 8243c6ccdf7a97c51f3424d8a3872767d309cf57
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Apr 07 11:14:52 2023
Misc polish for BTF2 APIs.
- Renamed TextFieldEditResult to TextEditResult to be more concise and
match TextEditFilter.
- Added placeCursorAfter{Char|Codepoint}At methods to both
TextEditResult and MutableTextFieldValueWithSelection.
- Added more docs.
Bug: b/277380808
Test: existing coverage
Relnote: n/a
Change-Id: Ic2d4a7d907d9a3c091a2ef4131b906af701b6e42
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
A compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
https://android-review.googlesource.com/2528481
Branch: androidx-main
commit 8243c6ccdf7a97c51f3424d8a3872767d309cf57
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Apr 07 11:14:52 2023
Misc polish for BTF2 APIs.
- Renamed TextFieldEditResult to TextEditResult to be more concise and
match TextEditFilter.
- Added placeCursorAfter{Char|Codepoint}At methods to both
TextEditResult and MutableTextFieldValueWithSelection.
- Added more docs.
Bug:
Test: existing coverage
Relnote: n/a
Change-Id: Ic2d4a7d907d9a3c091a2ef4131b906af701b6e42
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2FilterDemos.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/AllCapsFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/MaxLengthFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
A compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 72eedc538254914ad5ba7581af02c10f8294492a
Author: Halil Ozercan <halilibo@google.com>
Date: Sat Apr 08 05:20:32 2023
Remove secureContent from BasicTextField2
secureContent is currently doing an unnecessary plumbing for BasicSecureTextField. Although we have plans for it to have more responsibilities in the future, today it's just a confusing API with little usefulness.
Bug: b/277380808
Test: BasicSecureTextFieldTest
Relnote: N/A
Change-Id: I3151c97b7ad723f231156ec7f3887c7fa1fecaca
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2SemanticsTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
https://android-review.googlesource.com/2529280
Branch: androidx-main
commit 72eedc538254914ad5ba7581af02c10f8294492a
Author: Halil Ozercan <halilibo@google.com>
Date: Sat Apr 08 05:20:32 2023
Remove secureContent from BasicTextField2
secureContent is currently doing an unnecessary plumbing for BasicSecureTextField. Although we have plans for it to have more responsibilities in the future, today it's just a confusing API with little usefulness.
Bug:
Test: BasicSecureTextFieldTest
Relnote: N/A
Change-Id: I3151c97b7ad723f231156ec7f3887c7fa1fecaca
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicSecureTextFieldTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2SemanticsTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit aa91a7917ed8e4e4782e42267d177797e2b22532
Author: Halil Ozercan <halilibo@google.com>
Date: Tue Apr 11 19:12:42 2023
Delegate pointer events from TextFieldDecoratorModifierNode
Many complex pointer event handlers use PointerInputScope. We are migrating TextFieldDecoratorModifier to `SuspendingPointerInputModifierNode`, using delegation to take advantage of existing node implementation with minimal effect on our exiting `Modifier.Node`.
`detectTapAndPress` only consumes press and tap events which would make it less annoying to put `BasicTextField2` in a scrollable container.
Bug: b/277380808
Test: BasicTextField2Test
Change-Id: I82783dd967c186c0147eface0698258000cb840d
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
https://android-review.googlesource.com/2531362
Branch: androidx-main
commit aa91a7917ed8e4e4782e42267d177797e2b22532
Author: Halil Ozercan <halilibo@google.com>
Date: Tue Apr 11 19:12:42 2023
Delegate pointer events from TextFieldDecoratorModifierNode
Many complex pointer event handlers use PointerInputScope. We are migrating TextFieldDecoratorModifier to `SuspendingPointerInputModifierNode`, using delegation to take advantage of existing node implementation with minimal effect on our exiting `Modifier.Node`.
`detectTapAndPress` only consumes press and tap events which would make it less annoying to put `BasicTextField2` in a scrollable container.
Bug:
Test: BasicTextField2Test
Change-Id: I82783dd967c186c0147eface0698258000cb840d
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 1d34c1131045ecfad3a6b4e2697d169ab1789618
Author: Halil Ozercan <halilibo@google.com>
Date: Tue Apr 11 17:13:03 2023
Re-show keyboard when clicked on already focused BasicTextField2
Bug: b/277380808
Test: BasicTextField2Test
Change-Id: Iac78062a8f62fc647c3c5c0fc99cc1ce5852f25d
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
https://android-review.googlesource.com/2531361
Branch: androidx-main
commit 1d34c1131045ecfad3a6b4e2697d169ab1789618
Author: Halil Ozercan <halilibo@google.com>
Date: Tue Apr 11 17:13:03 2023
Re-show keyboard when clicked on already focused BasicTextField2
Bug:
Test: BasicTextField2Test
Change-Id: Iac78062a8f62fc647c3c5c0fc99cc1ce5852f25d
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit b5bab9536501b06bbd7c3ca6f0db97b8ce0ced61
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Apr 11 12:29:15 2023
Rename TextFieldState.value property to text.
Bug: b/277380808
Test: n/a, just a rename
Relnote: n/a
Change-Id: I02b1210db4004b1dfe8c86d752359367aa7bd977
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2SemanticsTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapterTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
https://android-review.googlesource.com/2531861
Branch: androidx-main
commit b5bab9536501b06bbd7c3ca6f0db97b8ce0ced61
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Apr 11 12:29:15 2023
Rename TextFieldState.value property to text.
Bug:
Test: n/a, just a rename
Relnote: n/a
Change-Id: I02b1210db4004b1dfe8c86d752359367aa7bd977
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/DecorationBoxDemos.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2SemanticsTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/DecorationBoxTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCursorTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyEventTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldScrollTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldStateRestorationTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapterTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldCoreModifier.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextPreparedSelection.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateSaverTest.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit 5896bd6496949a7f042ae812b59244401c455dba
Author: Halil Ozercan <halilibo@google.com>
Date: Wed Apr 12 03:09:14 2023
Apply SingleLineCodepointTransformation to SingleLine BasicTextField2
Bug: b/277380808
When BasicTextField2 receives `TextFieldLineLimits.SingleLine`, it implies a generic behavior for single line configuration, extending beyond scroll and layout. One implication is that the content inside single line BasicTextField2 should override LINE_FEED and CARRIAGE_RETURN characters to always present it on a single line since scroll is only allowed horizontally.
This change adds a singleton `SingleLineCodepointTransformation` that's applied on BasicTextField2 if no other CodepointTransformation is specified (including `CodepointTransformation.None`). This `CodepointTransformation` replaces LINE_FEED(\n) and CARRIAGE_RETURN(\r) characters with WHITESPACE(' ') and ZERO_WIDTH_NO_BREAK(U+FEFF) respectively.
Test: TextFieldCodepointTransformationTest
Change-Id: I331791831d5d64add740d244922a94953aa58cd3
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt
https://android-review.googlesource.com/2531131
Branch: androidx-main
commit 5896bd6496949a7f042ae812b59244401c455dba
Author: Halil Ozercan <halilibo@google.com>
Date: Wed Apr 12 03:09:14 2023
Apply SingleLineCodepointTransformation to SingleLine BasicTextField2
Bug:
When BasicTextField2 receives `TextFieldLineLimits.SingleLine`, it implies a generic behavior for single line configuration, extending beyond scroll and layout. One implication is that the content inside single line BasicTextField2 should override LINE_FEED and CARRIAGE_RETURN characters to always present it on a single line since scroll is only allowed horizontally.
This change adds a singleton `SingleLineCodepointTransformation` that's applied on BasicTextField2 if no other CodepointTransformation is specified (including `CodepointTransformation.None`). This `CodepointTransformation` replaces LINE_FEED(\n) and CARRIAGE_RETURN(\r) characters with WHITESPACE(' ') and ZERO_WIDTH_NO_BREAK(U+FEFF) respectively.
Test: TextFieldCodepointTransformationTest
Change-Id: I331791831d5d64add740d244922a94953aa58cd3
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldCodepointTransformationTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/CodepointTransformation.kt
ap...@google.com <ap...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-main
commit c7d5297dc486756de986852df12f177c58864d81
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Apr 11 14:04:55 2023
Add extensions to TextFieldState for observing changes.
forEachTextValue is intended to be a more simple and discoverable
way to observe state changes from outside of Composables than requiring
the knowledge and use of low-level Snapshot APIs.
Also annotates TextFieldState as @Stable and adds a bunch of samples and
docs.
Bug: b/277380808
Test: TextFieldStateTest
Relnote: n/a
Change-Id: I8bf0f6d4c60d431744dfa134feb37e4a2cdbe2f4
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
https://android-review.googlesource.com/2532241
Branch: androidx-main
commit c7d5297dc486756de986852df12f177c58864d81
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Apr 11 14:04:55 2023
Add extensions to TextFieldState for observing changes.
forEachTextValue is intended to be a more simple and discoverable
way to observe state changes from outside of Composables than requiring
the knowledge and use of low-level Snapshot APIs.
Also annotates TextFieldState as @Stable and adds a bunch of samples and
docs.
Bug:
Test: TextFieldStateTest
Relnote: n/a
Change-Id: I8bf0f6d4c60d431744dfa134feb37e4a2cdbe2f4
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/BasicTextField2Samples.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/EditProcessor.kt
M compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/TextFieldStateTest.kt
ap...@google.com <ap...@google.com> #10
Project: platform/frameworks/support
Branch: androidx-main
commit 896cb13251c8f135b3a2a2d058d3024c382268d8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Apr 12 11:42:05 2023
Polish the documentation for BasicTextField2.
Bug: b/277380808
Test: n/a
Relnote: n/a
Change-Id: Ida2413908b80bd45c8ca2bf885462a07ccf78f94
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
https://android-review.googlesource.com/2533841
Branch: androidx-main
commit 896cb13251c8f135b3a2a2d058d3024c382268d8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Apr 12 11:42:05 2023
Polish the documentation for BasicTextField2.
Bug:
Test: n/a
Relnote: n/a
Change-Id: Ida2413908b80bd45c8ca2bf885462a07ccf78f94
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldCharSequence.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
ap...@google.com <ap...@google.com> #11
Project: platform/frameworks/support
Branch: androidx-main
commit a33f98c60601b1b62c685c41df2b70b834a5e910
Author: Halil Ozercan <halilibo@google.com>
Date: Wed Apr 12 20:51:48 2023
BasicTextField2 further docs polish
Bug: b/277380808
Test: N/A
Change-Id: Ia0ee67d5077b784631bff9ef63ce212926f792f5
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
https://android-review.googlesource.com/2534419
Branch: androidx-main
commit a33f98c60601b1b62c685c41df2b70b834a5e910
Author: Halil Ozercan <halilibo@google.com>
Date: Wed Apr 12 20:51:48 2023
BasicTextField2 further docs polish
Bug:
Test: N/A
Change-Id: Ia0ee67d5077b784631bff9ef63ce212926f792f5
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicSecureTextField.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditFilter.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextEditResult.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBuffer.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldBufferWithSelection.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldLineLimits.kt
ap...@google.com <ap...@google.com> #12
Project: platform/frameworks/support
Branch: androidx-main
commit a3c2042a21930d2e820f06fa5db63865b41e33d9
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Apr 12 15:48:34 2023
Add a demo of building a custom PIN input with BasicTextField2.
Also added TextFieldState.clearText().
Screencast:http://screencast/cast/NjI0OTUxODk2MzA5NzYwMHw5NDQ3NTgyMC00Mg
Bug: b/277380808
Test: n/a
Relnote: n/a
Change-Id: I71876e87dd4aee62cd91980c3ec6bf43e17f508c
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
https://android-review.googlesource.com/2534243
Branch: androidx-main
commit a3c2042a21930d2e820f06fa5db63865b41e33d9
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Apr 12 15:48:34 2023
Add a demo of building a custom PIN input with BasicTextField2.
Also added TextFieldState.clearText().
Screencast:
Bug:
Test: n/a
Relnote: n/a
Change-Id: I71876e87dd4aee62cd91980c3ec6bf43e17f508c
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2CustomPinFieldDemo.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/TextFieldState.kt
lo...@gmail.com <lo...@gmail.com> #13
Just mentioning that the issue mentioned just above that was marked as duplicate is about "Input events are dropped if animations are running".
I'm doing this because this issue doesn't seem to mention this problem at all for the time being.
ap...@google.com <ap...@google.com> #14
Project: platform/frameworks/support
Branch: androidx-main
commit 0d92f9936b46c7f380d4114c1334f1eca5e2818f
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 10 14:27:30 2023
Rewrite PlatformTextInput* to be more session-oriented.
This completely changes how text input clients interact with the
PlatformTextInput system. Instead of reading a composition local to get
the registry, and then asking the registry for the adapter for their
plugin, they now must implement a Modifier.Node that implements the
PlatformTextInputModifierNode interface. Such nodes have access to a
suspend function that will show the keyboard and ask the system to start
a new input session. The function takes platform-specific input that
specifies how to wire up to the platform APIs. The lifetime of the
coroutine is tied to the lifetime of the input session: the function
will suspend the calling coroutine until the session is closed, and
cancelling the coroutine early will close the session. When the last
session is closed the keyboard will automatically be hidden.
See go/platform-text-input for more info.
PlatformTextInput APIs were originally introduced in aosp/2406439.
Fixes: b/274661182
Fixes: b/267235947
Bug: b/277380808
Test: AndroidTextInputSessionRequestTest
Test: AndroidPlatformTextInputSessionTest
Test: NullableInputConnectionWrapperTest
Test: SessionMutexTest
Test: PlatformTextInputViewIntegrationTest
Test: DesktopTextInputSessionTest
Relnote: "Completely redesigned `PlatformTextInput*` API."
Change-Id: I6c93a1111561b5cb55c6a34e2fc3738be3c8941d
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2Demos.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2ImmIntegrationTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt
D compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapterTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapter.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputPlugin.kt
A compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSession.android.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
D compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/TextInputCommandExecutorTest.kt
M compose/ui/ui-text/api/current.txt
M compose/ui/ui-text/api/restricted_current.txt
D compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.android.kt
A compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt
D compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.kt
A compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextInputService.kt
D compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.desktop.kt
A compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt
M compose/ui/ui/api/current.ignore
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.ignore
M compose/ui/ui/api/restricted_current.txt
A compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapterRegistryTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputEditTextIntegrationTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidPlatformTextInputSession.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt
D compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/AndroidTextInputServicePlugin.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/SessionMutex.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
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatformInput.desktop.kt
A compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformComponent.desktop.kt
A compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt
A compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt
A compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/PlatformInput.skiko.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
A compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierLocalConsumerEntityTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroidCommandDebouncingTest.kt
M development/build_log_simplifier/messages.ignore
https://android-review.googlesource.com/2607868
Branch: androidx-main
commit 0d92f9936b46c7f380d4114c1334f1eca5e2818f
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 10 14:27:30 2023
Rewrite PlatformTextInput* to be more session-oriented.
This completely changes how text input clients interact with the
PlatformTextInput system. Instead of reading a composition local to get
the registry, and then asking the registry for the adapter for their
plugin, they now must implement a Modifier.Node that implements the
PlatformTextInputModifierNode interface. Such nodes have access to a
suspend function that will show the keyboard and ask the system to start
a new input session. The function takes platform-specific input that
specifies how to wire up to the platform APIs. The lifetime of the
coroutine is tied to the lifetime of the input session: the function
will suspend the calling coroutine until the session is closed, and
cancelling the coroutine early will close the session. When the last
session is closed the keyboard will automatically be hidden.
See go/platform-text-input for more info.
PlatformTextInput APIs were originally introduced in aosp/2406439.
Fixes:
Fixes:
Bug:
Test: AndroidTextInputSessionRequestTest
Test: AndroidPlatformTextInputSessionTest
Test: NullableInputConnectionWrapperTest
Test: SessionMutexTest
Test: PlatformTextInputViewIntegrationTest
Test: DesktopTextInputSessionTest
Relnote: "Completely redesigned `PlatformTextInput*` API."
Change-Id: I6c93a1111561b5cb55c6a34e2fc3738be3c8941d
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/BasicTextField2Demos.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2ImmIntegrationTest.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/BasicTextField2Test.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/TextFieldKeyboardActionsTest.kt
D compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapterTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSessionTest.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/BasicTextField2.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputAdapter.kt
D compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputPlugin.kt
A compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/AndroidTextInputSession.android.kt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/text2/input/internal/TextFieldDecoratorModifier.kt
D compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text2/input/internal/TextInputCommandExecutorTest.kt
M compose/ui/ui-text/api/current.txt
M compose/ui/ui-text/api/restricted_current.txt
D compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.android.kt
A compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.android.kt
D compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.kt
A compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.kt
M compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/input/TextInputService.kt
D compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapter.desktop.kt
A compose/ui/ui-text/src/desktopMain/kotlin/androidx/compose/ui/text/input/PlatformTextInputMethodRequest.desktop.kt
M compose/ui/ui/api/current.ignore
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.ignore
M compose/ui/ui/api/restricted_current.txt
A compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/PlatformTextInputModifierNodeSample.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/HitPathTrackerTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/pointer/PointerInputEventProcessorTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/LocalSoftwareKeyboardControllerTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/AndroidPlatformTextInputSessionTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapperTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputAdapterRegistryTest.kt
D compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputEditTextIntegrationTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/PlatformTextInputViewIntegrationTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/TestInputMethodRequest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidPlatformTextInputSession.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.android.kt
D compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/AndroidTextInputServicePlugin.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/NullableInputConnectionWrapper.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/AtomicReference.kt
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/SessionMutex.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
A compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/PlatformTextInputModifierNode.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/ComposeLayer.desktop.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopPlatformInput.desktop.kt
A compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopTextInputSession.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformComponent.desktop.kt
A compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/PlatformTextInputSession.desktop.kt
A compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/DesktopTextInputSessionTest.kt
A compose/ui/ui/src/jvmMain/kotlin/androidx/compose/ui/AtomicReference.jvm.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/PlatformInput.skiko.kt
M compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/SkiaBasedOwner.skiko.kt
A compose/ui/ui/src/test/kotlin/androidx/compose/ui/SessionMutexTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/LayoutNodeTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/node/ModifierLocalConsumerEntityTest.kt
M compose/ui/ui/src/test/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroidCommandDebouncingTest.kt
M development/build_log_simplifier/messages.ignore
ap...@google.com <ap...@google.com> #15
Project: platform/frameworks/support
Branch: androidx-main
commit c7d007e2d42935c757bdb47677781f06cf5629ef
Author: Halil Ozercan <halilibo@google.com>
Date: Sat Apr 01 07:23:46 2023
KeyboardActions Demos for BTF2
Bug: b/277380808
Test: just a demo change
Change-Id: I9878ddd81196040f0d8a5bcd53ccc236e081588f
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardActionsDemos.kt
https://android-review.googlesource.com/2518875
Branch: androidx-main
commit c7d007e2d42935c757bdb47677781f06cf5629ef
Author: Halil Ozercan <halilibo@google.com>
Date: Sat Apr 01 07:23:46 2023
KeyboardActions Demos for BTF2
Bug:
Test: just a demo change
Change-Id: I9878ddd81196040f0d8a5bcd53ccc236e081588f
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text2/KeyboardActionsDemos.kt
Description
Tracking bug for CLs related to the TextField API rewrite project.
Ideally, we would have tagged this bug on all related CLs, but we didn't think of doing that until now so I'll just list the ones up to the time of filing here. Future CLs should tag this bug with:
Bug: b/277380808