-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Legacy Text Input to use PlatformTextInputSession #1974
base: jb-main
Are you sure you want to change the base?
Conversation
Please take a look. Also we have to decide if we want to see this fix it in the 1.8.0 release |
...droidx/compose/foundation/text/input/internal/LegacyPlatformTextInputServiceAdapter.skiko.kt
Outdated
Show resolved
Hide resolved
...droidx/compose/foundation/text/input/internal/LegacyPlatformTextInputServiceAdapter.skiko.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed, it's a bit strange to delegate legacy input service to new input service which delegates back to the legacy input service on iOS/web. But if it's deemed necessary, then ok.
@m-sasha , not exactly. The MR basically drops usage of the PlatformTextInputService API and redirects calls to the new PlatformTextInputSession API. PlatformTextInputService won't be used anymore for all targets and can be removed. I have to discuss this change with @igordmn. |
# Conflicts: # compose/ui/ui/src/uikitMain/kotlin/androidx/compose/ui/platform/UIKitTextInputService.uikit.kt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm too
However, it breaks keyboard behavior
This code does nothing in your implementation, probably something is missing from the old realization. |
@mazunin-v-jb , thanks for checking. Fixed. |
Refactor LegacyPlatformTextInputServiceAdapter to use PlatformTextInputSession API instead of PlatformTextInputService.
Fixes https://youtrack.jetbrains.com/issue/CMP-7729/Keyboard-showing-up-when-preventing-it
Fixes https://youtrack.jetbrains.com/issue/CMP-7771/Keyboard-no-longer-show-up-if-it-was-dismiss-once-before-when-using-TextField-with-TextFieldState-on-iOS
Release Notes
Fixes - iOS
LocalSoftwareKeyboardController
inBasicTextField(TextFieldState)
Fixes - Multiple Platforms
InterceptPlatformTextInput
for the legacy TextFieldBreaking Changes - Multiple Platforms
LocalTextInputService
is no longer supported