From 348a99a7c85e8ea5052c8e7ddbb13939c99655ea Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Mon, 13 Mar 2023 04:59:22 -0700 Subject: [PATCH] Fix CircleCI removing lambda in Java (#36458) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/36458 Our CircleCI infra does not support lambda yet. Over the weekend, a stack of multiple Android changes landed and one of those diff had a lambda that was not fixed. See this [workflow](https://app.circleci.com/pipelines/github/facebook/react-native/20276/workflows/e73bf98e-12e0-47e3-8bff-a42f6c40798e/jobs/474761). After the lambda was fixed, another issue related to the `reactApplicationContext` being accessed from an inner class without being `final` [occurred](https://app.circleci.com/pipelines/github/facebook/react-native/20286/workflows/70dab2f0-ee71-4510-8611-c5d29ea4cfae/jobs/475379). This change should fix these problems. ## Changelog [Android][Fixed] - Make CircleCI green Reviewed By: cortinico Differential Revision: D44019871 fbshipit-source-id: 1a6e39446b0ba2f5a395f54b58a70b67590ee154 --- .../react/ReactPackageTurboModuleManagerDelegate.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java index 9bbf83077d1..db59f19a1d2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java @@ -43,13 +43,14 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule protected ReactPackageTurboModuleManagerDelegate( ReactApplicationContext reactApplicationContext, List packages) { super(); + final ReactApplicationContext applicationContext = reactApplicationContext; for (ReactPackage reactPackage : packages) { if (reactPackage instanceof TurboReactPackage) { final TurboReactPackage turboPkg = (TurboReactPackage) reactPackage; final ModuleProvider moduleProvider = new ModuleProvider() { public NativeModule getModule(String moduleName) { - return turboPkg.getModule(moduleName, reactApplicationContext); + return turboPkg.getModule(moduleName, applicationContext); } }; mModuleProviders.add(moduleProvider); @@ -68,9 +69,11 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule } final ModuleProvider moduleProvider = - (name) -> { - Provider provider = moduleSpecProviderMap.get(name); - return provider != null ? provider.get() : null; + new ModuleProvider() { + public NativeModule getModule(String moduleName) { + Provider provider = moduleSpecProviderMap.get(moduleName); + return provider != null ? provider.get() : null; + } }; mModuleProviders.add(moduleProvider);