Refactor RNGestureHandlerModule on android#3489
Merged
Merged
Conversation
m-bert
reviewed
Apr 24, 2025
Collaborator
m-bert
left a comment
There was a problem hiding this comment.
Good idea! I think in some places we can switch from using if in favor of when 😅
ce41b6f to
0e36025
Compare
m-bert
approved these changes
May 26, 2025
j-piasecki
added a commit
that referenced
this pull request
May 27, 2025
## Description Depends on #3489 On Android, `GestureHandler` was a generic class specialized by the concrete type of the handler. The only place it was used was `applySelf` method, which allowed for inherited methods to return the concrete handler: ``` tapHandler.setEnabled(true) // returns TapGestureHandler instead of GestureHandler ``` ...but we don't use this pattern anywhere. It made much more sense in Java, than it does in Kotlin, where we can simply use `apply`, `let`, etc. when there's a need to do multiple operations on the same object. Now, it simply makes the logic dealing with gesture handlers more complicated as it also needs to keep track of the generic type, which in most cases is `*` so it doesn't give us more type safety. This PR makes it so that the base `GestureHandler` class is no longer generic, which should make life easier when dealing with non-concrete gesture handlers in the future. ## Test plan Build example apps
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
RNGestureHandlerRootHelpera bitTest plan
Example & FabricExample apps