Skip to content

[Android] Fix for span GestureRecognizers don't work when the span is wrapped over two lines. #25180

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

Merged
merged 19 commits into from
Nov 22, 2024

Conversation

Tamilarasan-Paranthaman
Copy link
Contributor

@Tamilarasan-Paranthaman Tamilarasan-Paranthaman commented Oct 10, 2024

Root Cause of the issue

If the span is wrapped across two lines, the Android Text layout method GetLineVisibleEnd returns the position right after the last visible character on the line. Therefore, the Text layout GetSecondaryHorizontal method returned the value 0 when finding the spanEndX value. Here, the value of spanEndX is less than that of spanStartX. As a result, spanEndX was defaulted to 0, which caused the issue.

Description of Change

We can get the exact offset of the last visible character, by subtracting 1 from this position of the endOffset when finding spanEndX.

Issues Fixed

Fixes #23801

Tested the behaviour in the following platforms

  • Android
  • Windows
  • iOS
  • Mac

Screenshot

Before Issue Fix After Issue Fix
Text-Span_GestureRecognizer-Issue.mp4
Text-Span-GestureRecognizer-fix.mp4

@dotnet-policy-service dotnet-policy-service bot added the community ✨ Community Contribution label Oct 10, 2024
Copy link
Contributor

Hey there @Tamilarasan-Paranthaman! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@jsuarezruiz
Copy link
Contributor

jsuarezruiz commented Oct 11, 2024

/azp run

@jsuarezruiz jsuarezruiz added the area-gestures Gesture types label Oct 11, 2024
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@Tamilarasan-Paranthaman Tamilarasan-Paranthaman marked this pull request as ready for review October 17, 2024 10:46
@Tamilarasan-Paranthaman Tamilarasan-Paranthaman requested a review from a team as a code owner October 17, 2024 10:46
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@PureWeen
Copy link
Member

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@Tamilarasan-Paranthaman
Copy link
Contributor Author

/rebase

@PureWeen
Copy link
Member

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@jsuarezruiz
Copy link
Contributor

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@PureWeen PureWeen added this to the .NET 9 SR2 milestone Oct 31, 2024
@PureWeen PureWeen merged commit 170cdd8 into dotnet:main Nov 22, 2024
107 checks passed
@sheiksyedm sheiksyedm added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Dec 6, 2024
@samhouts samhouts added fixed-in-9.0.21 fixed-in-net8.0-nightly This may be available in a nightly release! labels Dec 16, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jan 17, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-controls-label Label, Span area-gestures Gesture types community ✨ Community Contribution fixed-in-9.0.21 fixed-in-net8.0-nightly This may be available in a nightly release! partner/syncfusion Issues / PR's with Syncfusion collaboration platform/android 🤖
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Android] Span GestureRecognizers don't work when the span is wrapped over two lines.
6 participants