diff --git a/apps/bare-expo/android/app/build.gradle b/apps/bare-expo/android/app/build.gradle index fddde9df69b9f4..3a8da4f07ce82a 100644 --- a/apps/bare-expo/android/app/build.gradle +++ b/apps/bare-expo/android/app/build.gradle @@ -107,6 +107,9 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0.0" + + buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString()) + manifestPlaceholders = [ // [Custom]: Required for expo-app-auth appAuthRedirectScheme: "dev.expo.payments" diff --git a/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java b/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java index 3e8048b61c6a6f..2a0a0e6d068c52 100644 --- a/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java +++ b/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java @@ -7,6 +7,7 @@ import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; +import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactNativeHost; import com.facebook.soloader.SoLoader; @@ -60,6 +61,9 @@ public ReactNativeHost getReactNativeHost() { public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); + if (!BuildConfig.REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS) { + ReactFeatureFlags.unstable_useRuntimeSchedulerAlways = false; + } if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { // If you opted-in for the New Architecture, we load the native entry point for this app. DefaultNewArchitectureEntryPoint.load(); diff --git a/apps/fabric-tester/android/app/build.gradle b/apps/fabric-tester/android/app/build.gradle index c068dd500af0c2..2329c559fe64d5 100644 --- a/apps/fabric-tester/android/app/build.gradle +++ b/apps/fabric-tester/android/app/build.gradle @@ -88,6 +88,8 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0.0" + + buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString()) } signingConfigs { debug { diff --git a/apps/fabric-tester/android/app/src/main/java/com/community/fabrictester/MainApplication.java b/apps/fabric-tester/android/app/src/main/java/com/community/fabrictester/MainApplication.java index 347674b0d0543b..a5811680f4000f 100644 --- a/apps/fabric-tester/android/app/src/main/java/com/community/fabrictester/MainApplication.java +++ b/apps/fabric-tester/android/app/src/main/java/com/community/fabrictester/MainApplication.java @@ -8,6 +8,7 @@ import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; +import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactNativeHost; import com.facebook.soloader.SoLoader; @@ -60,6 +61,9 @@ public ReactNativeHost getReactNativeHost() { public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); + if (!BuildConfig.REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS) { + ReactFeatureFlags.unstable_useRuntimeSchedulerAlways = false; + } if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { // If you opted-in for the New Architecture, we load the native entry point for this app. DefaultNewArchitectureEntryPoint.load(); diff --git a/templates/expo-template-bare-minimum/android/app/build.gradle b/templates/expo-template-bare-minimum/android/app/build.gradle index cd83140d5d6f1a..7105aaaa3fc81b 100644 --- a/templates/expo-template-bare-minimum/android/app/build.gradle +++ b/templates/expo-template-bare-minimum/android/app/build.gradle @@ -88,6 +88,8 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" + + buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString()) } signingConfigs { debug { diff --git a/templates/expo-template-bare-minimum/android/app/src/main/java/com/helloworld/MainApplication.java b/templates/expo-template-bare-minimum/android/app/src/main/java/com/helloworld/MainApplication.java index a4caedafbbe9d0..8502c4402ddcbd 100644 --- a/templates/expo-template-bare-minimum/android/app/src/main/java/com/helloworld/MainApplication.java +++ b/templates/expo-template-bare-minimum/android/app/src/main/java/com/helloworld/MainApplication.java @@ -8,6 +8,7 @@ import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; +import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactNativeHost; import com.facebook.soloader.SoLoader; @@ -60,6 +61,9 @@ public ReactNativeHost getReactNativeHost() { public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); + if (!BuildConfig.REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS) { + ReactFeatureFlags.unstable_useRuntimeSchedulerAlways = false; + } if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { // If you opted-in for the New Architecture, we load the native entry point for this app. DefaultNewArchitectureEntryPoint.load();