Commit df4cadc
Make CustomEventNamesResolver a fun interface for SAM conversion (#57112)
Summary:
Pull Request resolved: #57112
`UIManagerModule` was recently converted from Java to Kotlin. The nested
`CustomEventNamesResolver` interface has a single abstract method, but
was declared as a regular `interface` rather than `fun interface`.
In Java, single-method interfaces support SAM (Single Abstract Method)
conversion in Kotlin callers. After the Kotlin conversion, SAM conversion
no longer works unless the interface is declared as `fun interface`.
This breaks downstream libraries like `react-native-reanimated` that use
lambda syntax to instantiate `CustomEventNamesResolver`:
```
UIManagerModule.CustomEventNamesResolver { eventName -> ... }
```
Adding `fun` restores SAM conversion support. This is backward compatible
— existing `object : CustomEventNamesResolver { ... }` code continues to work.
Reviewed By: cipolleschi
Differential Revision: D107891295
fbshipit-source-id: da3f76aad4716a9646fd3841df3e13f6106424531 parent 9f20cde commit df4cadc
1 file changed
Lines changed: 1 addition & 1 deletion
File tree
- packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| |||
0 commit comments