Skip to content

Add API for iOS IME Options #2108

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

Open
wants to merge 15 commits into
base: jb-main
Choose a base branch
from
Open

Conversation

svastven
Copy link

This PR introduces iOS-specific IME options support for text input components. This enables users to access and configure native UIKit text input traits from Compose code.

Fixes - https://youtrack.jetbrains.com/issue/CMP-7882

Testing

iOS Platform IME Options section was added to the demo application into the iOS-specific features section

This should be tested by QA

Release Notes

Features - iOS

  • Add support for native IME configuration with PlatformImeOptions

@svastven svastven force-pushed the svastven/textfield-ime-api branch from f6df067 to e7c2b0b Compare May 13, 2025 08:18
@ASalavei ASalavei self-requested a review May 13, 2025 11:37
@mazunin-v-jb mazunin-v-jb self-requested a review May 13, 2025 13:19
@svastven svastven force-pushed the svastven/textfield-ime-api branch from e7c2b0b to d0ebd82 Compare May 14, 2025 13:29
@svastven svastven force-pushed the svastven/textfield-ime-api branch from d0ebd82 to 0eb23ac Compare May 14, 2025 13:33
@svastven svastven force-pushed the svastven/textfield-ime-api branch from cecf88b to 0eb23ac Compare May 15, 2025 09:50
@svastven svastven requested a review from MatkovIvan May 15, 2025 10:17
Copy link
Member

@MatkovIvan MatkovIvan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please follow API checks doc and re-gen API dump

@svastven svastven requested a review from MatkovIvan May 16, 2025 21:50
@@ -1380,7 +1380,7 @@ public final class androidx/compose/ui/text/input/PasswordVisualTransformation :
public fun hashCode ()I
}

public final class androidx/compose/ui/text/input/PlatformImeOptions {
public class androidx/compose/ui/text/input/PlatformImeOptions {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @igordmn for awareness: changing actual skiko/non-android variant of an empty (not yet adopted) class to open.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer adding uikit-only open variant of the PlatformImeOptions, keeping final for all other platforms.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not compilation target specific. It's about how non-android variants handle that, so I see no reason to introduce the diff here.

Keep only skiko actual variant was an explicit ask from me above

Copy link

@ASalavei ASalavei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@svastven , could you please create a separate ticket for covering this functionality with tests - at least check the fact that we're propagating required values to the UITestInput.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants