Skip to content

Commit ce17c37

Browse files
mdvaccafacebook-github-bot
authored andcommitted
Replace callback for lambdas in TurboModules classes (#36908)
Summary: Pull Request resolved: #36908 We can now use Java 8, this diff i'm replacing old callbacks by lambdas changelog: [internal] internal Reviewed By: fkgozali Differential Revision: D44977955 fbshipit-source-id: 0ab0d1c49a013e930041936bb08bbdb86dd30236
1 parent 234f199 commit ce17c37

File tree

4 files changed

+36
-60
lines changed

4 files changed

+36
-60
lines changed

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,11 @@ public class CompositeReactPackageTurboModuleManagerDelegate
2525

2626
protected native HybridData initHybrid();
2727

28-
private final List<TurboModuleManagerDelegate> mDelegates;
29-
3028
private CompositeReactPackageTurboModuleManagerDelegate(
3129
ReactApplicationContext context,
3230
List<ReactPackage> packages,
3331
List<TurboModuleManagerDelegate> delegates) {
3432
super(context, packages);
35-
mDelegates = delegates;
3633
for (TurboModuleManagerDelegate delegate : delegates) {
3734
addTurboModuleManagerDelegate(delegate);
3835
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,7 @@ private Map<String, ModuleSpec> getViewManagersMap() {
103103
if (mViewManagers == null) {
104104
Map<String, ModuleSpec> viewManagers = new HashMap<>();
105105
appendMap(
106-
viewManagers,
107-
TraceUpdateOverlayManager.REACT_CLASS,
108-
new Provider<NativeModule>() {
109-
@Override
110-
public NativeModule get() {
111-
return new TraceUpdateOverlayManager();
112-
}
113-
});
106+
viewManagers, TraceUpdateOverlayManager.REACT_CLASS, TraceUpdateOverlayManager::new);
114107

115108
mViewManagers = viewManagers;
116109
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
1111

12-
import androidx.annotation.NonNull;
1312
import com.facebook.react.bridge.ModuleHolder;
1413
import com.facebook.react.bridge.ModuleSpec;
1514
import com.facebook.react.bridge.NativeModule;
@@ -36,30 +35,23 @@ public abstract class LazyReactPackage implements ReactPackage {
3635
@Deprecated
3736
public static ReactModuleInfoProvider getReactModuleInfoProviderViaReflection(
3837
LazyReactPackage lazyReactPackage) {
39-
return new ReactModuleInfoProvider() {
40-
@Override
41-
public Map<String, ReactModuleInfo> getReactModuleInfos() {
42-
return Collections.emptyMap();
43-
}
44-
};
38+
return Collections::emptyMap;
4539
}
4640
/**
4741
* We return an iterable
4842
*
49-
* @param reactContext
50-
* @return
43+
* @param reactContext context
44+
* @return {@link Iterable<ModuleHolder>} that contains all native modules registered for the
45+
* context
5146
*/
5247
public Iterable<ModuleHolder> getNativeModuleIterator(
5348
final ReactApplicationContext reactContext) {
5449
final Map<String, ReactModuleInfo> reactModuleInfoMap =
5550
getReactModuleInfoProvider().getReactModuleInfos();
5651
final List<ModuleSpec> nativeModules = getNativeModules(reactContext);
5752

58-
return new Iterable<ModuleHolder>() {
59-
@NonNull
60-
@Override
61-
public Iterator<ModuleHolder> iterator() {
62-
return new Iterator<ModuleHolder>() {
53+
return () ->
54+
new Iterator<ModuleHolder>() {
6355
int position = 0;
6456

6557
@Override
@@ -93,8 +85,6 @@ public void remove() {
9385
throw new UnsupportedOperationException("Cannot remove native modules from the list");
9486
}
9587
};
96-
}
97-
};
9888
}
9989

10090
/**

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -71,49 +71,43 @@ public TurboModuleManager(
7171
delegate == null ? new ArrayList<String>() : delegate.getEagerInitModuleNames();
7272

7373
mModuleProvider =
74-
new ModuleProvider<TurboModule>() {
75-
@Nullable
76-
public TurboModule getModule(String moduleName) {
77-
if (delegate == null || shouldRouteTurboModulesThroughInteropLayer()) {
78-
return null;
79-
}
74+
moduleName -> {
75+
if (delegate == null || shouldRouteTurboModulesThroughInteropLayer()) {
76+
return null;
77+
}
8078

81-
TurboModule module = delegate.getModule(moduleName);
82-
if (module == null) {
83-
CxxModuleWrapper legacyCxxModule = delegate.getLegacyCxxModule(moduleName);
84-
85-
if (legacyCxxModule != null) {
86-
// TurboModuleManagerDelegate.getLegacyCxxModule() must always return TurboModules
87-
Assertions.assertCondition(
88-
legacyCxxModule instanceof TurboModule,
89-
"CxxModuleWrapper \"" + moduleName + "\" is not a TurboModule");
90-
module = (TurboModule) legacyCxxModule;
91-
}
79+
TurboModule module = delegate.getModule(moduleName);
80+
if (module == null) {
81+
CxxModuleWrapper legacyCxxModule = delegate.getLegacyCxxModule(moduleName);
82+
83+
if (legacyCxxModule != null) {
84+
// TurboModuleManagerDelegate.getLegacyCxxModule() must always return TurboModules
85+
Assertions.assertCondition(
86+
legacyCxxModule instanceof TurboModule,
87+
"CxxModuleWrapper \"" + moduleName + "\" is not a TurboModule");
88+
module = (TurboModule) legacyCxxModule;
9289
}
93-
return module;
9490
}
91+
return module;
9592
};
9693

9794
mLegacyModuleProvider =
98-
new ModuleProvider<NativeModule>() {
99-
@Nullable
100-
public NativeModule getModule(String moduleName) {
101-
if (delegate == null || !shouldCreateLegacyModules()) {
102-
return null;
103-
}
95+
moduleName -> {
96+
if (delegate == null || !shouldCreateLegacyModules()) {
97+
return null;
98+
}
10499

105-
NativeModule nativeModule = delegate.getLegacyModule(moduleName);
106-
if (nativeModule != null) {
107-
if (!shouldRouteTurboModulesThroughInteropLayer()) {
108-
// TurboModuleManagerDelegate.getLegacyModule must never return a TurboModule
109-
Assertions.assertCondition(
110-
!(nativeModule instanceof TurboModule),
111-
"NativeModule \"" + moduleName + "\" is a TurboModule");
112-
}
113-
return nativeModule;
100+
NativeModule nativeModule = delegate.getLegacyModule(moduleName);
101+
if (nativeModule != null) {
102+
if (!shouldRouteTurboModulesThroughInteropLayer()) {
103+
// TurboModuleManagerDelegate.getLegacyModule must never return a TurboModule
104+
Assertions.assertCondition(
105+
!(nativeModule instanceof TurboModule),
106+
"NativeModule \"" + moduleName + "\" is a TurboModule");
114107
}
115108
return nativeModule;
116109
}
110+
return nativeModule;
117111
};
118112
}
119113

@@ -148,6 +142,7 @@ private NativeModule getLegacyJavaModule(String moduleName) {
148142
: null;
149143
}
150144

145+
@SuppressWarnings("unused")
151146
@DoNotStrip
152147
@Nullable
153148
private CxxModuleWrapper getLegacyCxxModule(String moduleName) {
@@ -158,6 +153,7 @@ private CxxModuleWrapper getLegacyCxxModule(String moduleName) {
158153
: null;
159154
}
160155

156+
@SuppressWarnings("unused")
161157
@DoNotStrip
162158
@Nullable
163159
private CxxModuleWrapper getTurboLegacyCxxModule(String moduleName) {

0 commit comments

Comments
 (0)