diff --git a/packages/react-native-gradle-plugin/build.gradle.kts b/packages/react-native-gradle-plugin/build.gradle.kts index 9346508f497062..6e09a3e22a7508 100644 --- a/packages/react-native-gradle-plugin/build.gradle.kts +++ b/packages/react-native-gradle-plugin/build.gradle.kts @@ -67,7 +67,7 @@ kotlin { jvmToolchain(17) } tasks.withType().configureEach { kotlinOptions { - apiVersion = "1.5" + apiVersion = "1.6" // See comment above on JDK 11 support jvmTarget = "11" allWarningsAsErrors = true diff --git a/packages/react-native-gradle-plugin/gradle/libs.versions.toml b/packages/react-native-gradle-plugin/gradle/libs.versions.toml index d0a67a6b0a30d8..24a77d1f56d040 100644 --- a/packages/react-native-gradle-plugin/gradle/libs.versions.toml +++ b/packages/react-native-gradle-plugin/gradle/libs.versions.toml @@ -4,7 +4,7 @@ gson = "2.8.9" guava = "31.0.1-jre" javapoet = "1.13.0" junit = "4.13.2" -kotlin = "1.8.22" +kotlin = "1.9.22" [libraries] kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 97a5b995d0fe4c..10f5f881f8ad1b 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -1859,7 +1859,6 @@ public final class com/facebook/react/common/mapbuffer/ReadableMapBuffer$Compani } public final class com/facebook/react/common/mapbuffer/WritableMapBuffer : com/facebook/react/common/mapbuffer/MapBuffer { - public static final field Companion Lcom/facebook/react/common/mapbuffer/WritableMapBuffer$Companion; public fun ()V public fun contains (I)Z public fun entryAt (I)Lcom/facebook/react/common/mapbuffer/MapBuffer$Entry; @@ -1880,9 +1879,6 @@ public final class com/facebook/react/common/mapbuffer/WritableMapBuffer : com/f public final fun put (IZ)Lcom/facebook/react/common/mapbuffer/WritableMapBuffer; } -public final class com/facebook/react/common/mapbuffer/WritableMapBuffer$Companion { -} - public class com/facebook/react/common/network/OkHttpCallUtil { public static fun cancelTag (Lokhttp3/OkHttpClient;Ljava/lang/Object;)V } @@ -1969,7 +1965,6 @@ public abstract class com/facebook/react/defaults/DefaultReactNativeHost : com/f } public final class com/facebook/react/defaults/DefaultTurboModuleManagerDelegate : com/facebook/react/ReactPackageTurboModuleManagerDelegate { - public static final field Companion Lcom/facebook/react/defaults/DefaultTurboModuleManagerDelegate$Companion; public synthetic fun (Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public static final fun initHybrid (Ljava/util/List;)Lcom/facebook/jni/HybridData; } @@ -1981,10 +1976,6 @@ public final class com/facebook/react/defaults/DefaultTurboModuleManagerDelegate public synthetic fun build (Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/util/List;)Lcom/facebook/react/ReactPackageTurboModuleManagerDelegate; } -public final class com/facebook/react/defaults/DefaultTurboModuleManagerDelegate$Companion { - public final fun initHybrid (Ljava/util/List;)Lcom/facebook/jni/HybridData; -} - public final class com/facebook/react/devsupport/BridgeDevSupportManager : com/facebook/react/devsupport/DevSupportManagerBase { public fun (Landroid/content/Context;Lcom/facebook/react/devsupport/ReactInstanceDevHelper;Ljava/lang/String;ZLcom/facebook/react/devsupport/interfaces/RedBoxHandler;Lcom/facebook/react/devsupport/interfaces/DevBundleDownloadListener;ILjava/util/Map;Lcom/facebook/react/common/SurfaceDelegateFactory;Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;)V public fun handleReloadJS ()V @@ -2505,7 +2496,6 @@ public class com/facebook/react/fabric/DevToolsReactPerfLogger$FabricCommitPoint } public final class com/facebook/react/fabric/EmptyReactNativeConfig : com/facebook/react/fabric/ReactNativeConfig { - public static final field Companion Lcom/facebook/react/fabric/EmptyReactNativeConfig$Companion; public fun ()V public fun getBool (Ljava/lang/String;)Z public fun getDouble (Ljava/lang/String;)D @@ -2513,9 +2503,6 @@ public final class com/facebook/react/fabric/EmptyReactNativeConfig : com/facebo public fun getString (Ljava/lang/String;)Ljava/lang/String; } -public final class com/facebook/react/fabric/EmptyReactNativeConfig$Companion { -} - public class com/facebook/react/fabric/FabricComponents { public fun ()V public static fun getFabricComponentName (Ljava/lang/String;)Ljava/lang/String; @@ -2795,15 +2782,10 @@ public abstract interface class com/facebook/react/interfaces/fabric/SurfaceHand } public final class com/facebook/react/jscexecutor/JSCExecutor : com/facebook/react/bridge/JavaScriptExecutor { - public static final field Companion Lcom/facebook/react/jscexecutor/JSCExecutor$Companion; public fun getName ()Ljava/lang/String; public static final fun loadLibrary ()V } -public final class com/facebook/react/jscexecutor/JSCExecutor$Companion { - public final fun loadLibrary ()V -} - public final class com/facebook/react/jscexecutor/JSCExecutorFactory : com/facebook/react/bridge/JavaScriptExecutorFactory { public fun (Ljava/lang/String;Ljava/lang/String;)V public fun create ()Lcom/facebook/react/bridge/JavaScriptExecutor; @@ -3582,13 +3564,9 @@ public abstract class com/facebook/react/perflogger/NativeModulePerfLogger { } public abstract class com/facebook/react/runtime/BindingsInstaller { - public static final field Companion Lcom/facebook/react/runtime/BindingsInstaller$Companion; public fun (Lcom/facebook/jni/HybridData;)V } -public final class com/facebook/react/runtime/BindingsInstaller$Companion { -} - public class com/facebook/react/runtime/CoreReactPackage$$ReactModuleInfoProvider : com/facebook/react/module/model/ReactModuleInfoProvider { public fun ()V public fun getReactModuleInfos ()Ljava/util/Map; @@ -3666,9 +3644,6 @@ public class com/facebook/react/runtime/ReactSurfaceView : com/facebook/react/Re public fun setIsFabric (Z)V } -public final class com/facebook/react/runtime/cxxreactpackage/CxxReactPackage$Companion { -} - public final class com/facebook/react/runtime/hermes/HermesInstance : com/facebook/react/runtime/JSRuntimeFactory { public static final field Companion Lcom/facebook/react/runtime/hermes/HermesInstance$Companion; public fun ()V @@ -6177,7 +6152,6 @@ public final class com/facebook/react/views/popupmenu/PopupMenuSelectionEvent : public fun (III)V public fun dispatch (Lcom/facebook/react/uimanager/events/RCTEventEmitter;)V public fun getEventName ()Ljava/lang/String; - public final fun getItem ()I } public final class com/facebook/react/views/popupmenu/PopupMenuSelectionEvent$Companion { @@ -7718,10 +7692,6 @@ public final class com/facebook/react/views/view/ReactViewManagerWrapper$Default public fun updateState (Landroid/view/View;Ljava/lang/Object;Lcom/facebook/react/uimanager/StateWrapper;)Ljava/lang/Object; } -public final class com/facebook/react/views/view/ReactViewReturnTypeException : java/lang/Exception { - public fun (Ljava/lang/String;Ljava/lang/Throwable;)V -} - public class com/facebook/react/views/view/ViewGroupClickEvent : com/facebook/react/uimanager/events/Event { public fun (I)V public fun (II)V diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt index 1feff45944bfb1..672e20ba3c560f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt @@ -11,7 +11,7 @@ package com.facebook.react * JavaScriptCore first and fail if it is not available. [.HERMES] will load Hermes first and fail * if it is not available. */ -enum class JSEngineResolutionAlgorithm { +public enum class JSEngineResolutionAlgorithm { JSC, HERMES } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt index 5131e55c4c5a16..9360b51f734237 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt @@ -7,18 +7,15 @@ package com.facebook.react -import com.facebook.react.common.annotations.UnstableReactNativeAPI - -@OptIn(UnstableReactNativeAPI::class) /** Interface that represents an instance of a React Native application */ -interface ReactApplication { +public interface ReactApplication { /** Get the default [ReactNativeHost] for this app. */ - val reactNativeHost: ReactNativeHost + public val reactNativeHost: ReactNativeHost /** * Get the default [ReactHost] for this app. This method will be used by the new architecture of * react native */ - val reactHost: ReactHost? + public val reactHost: ReactHost? get() = null } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt index eda0bf44f12f14..966bbb54fda32e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt @@ -25,52 +25,59 @@ import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler * * The implementation of this interface should be Thread Safe */ -interface ReactHost { +public interface ReactHost { /** The current [LifecycleState] for React Host */ - val lifecycleState: LifecycleState + public val lifecycleState: LifecycleState /** * The current [ReactContext] associated with ReactInstance. It could be nullable if ReactInstance * hasn't been created. */ - val currentReactContext: ReactContext? + public val currentReactContext: ReactContext? // TODO: review if DevSupportManager should be nullable /** [DevSupportManager] used by this ReactHost */ - val devSupportManager: DevSupportManager? + public val devSupportManager: DevSupportManager? // TODO: review if possible to remove ReactQueueConfiguration /** [ReactQueueConfiguration] for caller to post jobs in React Native threads */ - val reactQueueConfiguration: ReactQueueConfiguration? + public val reactQueueConfiguration: ReactQueueConfiguration? /** [JSEngineResolutionAlgorithm] used by this host. */ - var jsEngineResolutionAlgorithm: JSEngineResolutionAlgorithm? + public var jsEngineResolutionAlgorithm: JSEngineResolutionAlgorithm? /** To be called when back button is pressed */ - fun onBackPressed(): Boolean + public fun onBackPressed(): Boolean // TODO: review why activity is nullable in all of the lifecycle methods /** To be called when the host activity is resumed. */ - fun onHostResume(activity: Activity?, defaultBackButtonImpl: DefaultHardwareBackBtnHandler?) + public fun onHostResume( + activity: Activity?, + defaultBackButtonImpl: DefaultHardwareBackBtnHandler? + ) /** To be called when the host activity is resumed. */ - fun onHostResume(activity: Activity?) + public fun onHostResume(activity: Activity?) /** To be called when the host activity is paused. */ - fun onHostPause(activity: Activity?) + public fun onHostPause(activity: Activity?) /** To be called when the host activity is paused. */ - fun onHostPause() + public fun onHostPause() /** To be called when the host activity is destroyed. */ - fun onHostDestroy() + public fun onHostDestroy() /** To be called when the host activity is destroyed. */ - fun onHostDestroy(activity: Activity?) + public fun onHostDestroy(activity: Activity?) /** To be called to create and setup an ReactSurface. */ - fun createSurface(context: Context, moduleName: String, initialProps: Bundle?): ReactSurface? + public fun createSurface( + context: Context, + moduleName: String, + initialProps: Bundle? + ): ReactSurface? /** * This function can be used to initialize the ReactInstance in a background thread before a @@ -81,7 +88,7 @@ interface ReactHost { * errors occur during initialization, and will be cancelled if ReactHost.destroy() is called * before it completes. */ - fun start(): TaskInterface + public fun start(): TaskInterface /** * Entrypoint to reload the ReactInstance. If the ReactInstance is destroying, will wait until @@ -91,7 +98,7 @@ interface ReactHost { * button) * @return A task that completes when React Native reloads */ - fun reload(reason: String): TaskInterface + public fun reload(reason: String): TaskInterface /** * Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until @@ -102,9 +109,9 @@ interface ReactHost { * be used to log properly the cause of destroy operation. * @return A task that completes when React Native gets destroyed. */ - fun destroy(reason: String, ex: Exception?): TaskInterface + public fun destroy(reason: String, ex: Exception?): TaskInterface - fun addBeforeDestroyListener(onBeforeDestroy: () -> Unit) + public fun addBeforeDestroyListener(onBeforeDestroy: () -> Unit) - fun removeBeforeDestroyListener(onBeforeDestroy: () -> Unit) + public fun removeBeforeDestroyListener(onBeforeDestroy: () -> Unit) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.kt index 2060e327876d51..a4228118271142 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.kt @@ -10,10 +10,10 @@ package com.facebook.react import com.facebook.react.bridge.ReactContext /** Interface to subscribe for react instance events */ -interface ReactInstanceEventListener { +public interface ReactInstanceEventListener { /** * Called when the react context is initialized (all modules registered). Always called on the UI * thread. */ - fun onReactContextInitialized(context: ReactContext) + public fun onReactContextInitialized(context: ReactContext) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt index 0112d7ee264587..1c39113ca13866 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt @@ -15,8 +15,8 @@ import com.facebook.react.common.annotations.DeprecatedInNewArchitecture * in isolation of others part of the new architecture of React Native. */ @DeprecatedInNewArchitecture -fun interface UIManagerProvider { +public fun interface UIManagerProvider { /* Provides a {@link com.facebook.react.bridge.UIManager} for the context received as a parameter. */ - fun createUIManager(context: ReactApplicationContext): UIManager? + public fun createUIManager(context: ReactApplicationContext): UIManager? } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt index 2770678c49e437..be2c473d450b78 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt @@ -13,4 +13,4 @@ package com.facebook.react.common.annotations */ @Retention(AnnotationRetention.SOURCE) @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION) -annotation class DeprecatedInNewArchitecture(val message: String = "") +public annotation class DeprecatedInNewArchitecture(val message: String = "") diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt index 3d3d5b9e9c8419..37e2863356003f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt @@ -15,4 +15,4 @@ package com.facebook.react.common.annotations "This API is provided only for React Native frameworks and not intended for general users. " + "This API can change between minor versions in alignment with React Native frameworks " + "and won't be considered a breaking change.") -annotation class FrameworkAPI +public annotation class FrameworkAPI diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/StableReactNativeAPI.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/StableReactNativeAPI.kt index 76a5b4dc44fd6c..5831f76bc87fcc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/StableReactNativeAPI.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/StableReactNativeAPI.kt @@ -10,4 +10,4 @@ package com.facebook.react.common.annotations /** This API is stable and is likely not to change in the New Architecture of React Native. */ @Retention(AnnotationRetention.SOURCE) @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) -annotation class StableReactNativeAPI +public annotation class StableReactNativeAPI diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt index 5ae0b1779a3b24..bd728efc578e15 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt @@ -12,4 +12,4 @@ package com.facebook.react.common.annotations @RequiresOptIn( level = RequiresOptIn.Level.ERROR, message = "This API is experimental and is likely to change or to be removed in the future") -annotation class UnstableReactNativeAPI +public annotation class UnstableReactNativeAPI diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt index 5628249c45f290..5d30f3ef8272ef 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.kt @@ -11,4 +11,4 @@ package com.facebook.react.common.annotations * Annotates a method that should have restricted visibility but it's required to be public for use * in test code only. */ -annotation class VisibleForTesting +public annotation class VisibleForTesting diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt index 4530302021c1dc..301837032fbbf0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt @@ -26,8 +26,8 @@ import com.facebook.react.common.annotations.StableReactNativeAPI * achieved by retrieving [MapBuffer.Entry] with [entryAt] on known offsets. */ @StableReactNativeAPI -interface MapBuffer : Iterable { - companion object { +public interface MapBuffer : Iterable { + public companion object { /** * Key are represented as 2 byte values, and typed as Int for ease of access. The serialization * format only allows to store [UShort] values. @@ -39,7 +39,7 @@ interface MapBuffer : Iterable { * Data types supported by [MapBuffer]. Keep in sync with definition in * ``, as enum serialization relies on correct order. */ - enum class DataType { + public enum class DataType { BOOL, INT, DOUBLE, @@ -52,7 +52,7 @@ interface MapBuffer : Iterable { * * @return number of elements in the [MapBuffer] */ - val count: Int + public val count: Int /** * Checks whether entry for given key exists in MapBuffer. @@ -60,7 +60,7 @@ interface MapBuffer : Iterable { * @param key key to lookup the entry * @return whether entry for the given key exists in the MapBuffer. */ - fun contains(key: Int): Boolean + public fun contains(key: Int): Boolean /** * Provides offset of the key to use for [entryAt], for cases when offset is not statically known @@ -69,7 +69,7 @@ interface MapBuffer : Iterable { * @param key key to lookup offset for * @return offset for the given key to be used for entry access, -1 if key wasn't found. */ - fun getKeyOffset(key: Int): Int + public fun getKeyOffset(key: Int): Int /** * Provides parsed access to a MapBuffer without additional lookups for provided offset. @@ -78,7 +78,7 @@ interface MapBuffer : Iterable { * [getKeyOffset]. * @return parsed entry for structured access for given offset */ - fun entryAt(offset: Int): MapBuffer.Entry + public fun entryAt(offset: Int): MapBuffer.Entry /** * Provides parsed [DataType] annotation associated with the given key. @@ -87,7 +87,7 @@ interface MapBuffer : Iterable { * @return data type of the given key. * @throws IllegalArgumentException if the key doesn't exist */ - fun getType(key: Int): DataType + public fun getType(key: Int): DataType /** * Provides parsed [Boolean] value if the entry for given key exists with [DataType.BOOL] type @@ -97,7 +97,7 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getBoolean(key: Int): Boolean + public fun getBoolean(key: Int): Boolean /** * Provides parsed [Int] value if the entry for given key exists with [DataType.INT] type @@ -107,7 +107,7 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getInt(key: Int): Int + public fun getInt(key: Int): Int /** * Provides parsed [Double] value if the entry for given key exists with [DataType.DOUBLE] type @@ -117,7 +117,7 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getDouble(key: Int): Double + public fun getDouble(key: Int): Double /** * Provides parsed [String] value if the entry for given key exists with [DataType.STRING] type @@ -127,7 +127,7 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getString(key: Int): String + public fun getString(key: Int): String /** * Provides parsed [MapBuffer] value if the entry for given key exists with [DataType.MAP] type @@ -137,7 +137,7 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getMapBuffer(key: Int): MapBuffer + public fun getMapBuffer(key: Int): MapBuffer /** * Provides parsed [List] value if the entry for given key exists with [DataType.MAP] @@ -148,52 +148,52 @@ interface MapBuffer : Iterable { * @throws IllegalArgumentException if the key doesn't exist * @throws IllegalStateException if the data type doesn't match */ - fun getMapBufferList(key: Int): List + public fun getMapBufferList(key: Int): List /** Iterable entry representing parsed MapBuffer values */ - interface Entry { + public interface Entry { /** * Key of the given entry. Usually represented as 2 byte unsigned integer with the value range * of [0,65536) */ - val key: Int + public val key: Int /** Parsed [DataType] of the entry */ - val type: DataType + public val type: DataType /** * Entry value represented as [Boolean] * * @throws IllegalStateException if the data type doesn't match [DataType.BOOL] */ - val booleanValue: Boolean + public val booleanValue: Boolean /** * Entry value represented as [Int] * * @throws IllegalStateException if the data type doesn't match [DataType.INT] */ - val intValue: Int + public val intValue: Int /** * Entry value represented as [Double] * * @throws IllegalStateException if the data type doesn't match [DataType.DOUBLE] */ - val doubleValue: Double + public val doubleValue: Double /** * Entry value represented as [String] * * @throws IllegalStateException if the data type doesn't match [DataType.STRING] */ - val stringValue: String + public val stringValue: String /** * Entry value represented as [MapBuffer] * * @throws IllegalStateException if the data type doesn't match [DataType.MAP] */ - val mapBufferValue: MapBuffer + public val mapBufferValue: MapBuffer } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt index 818c2c519901a4..1c9536cc3fb0b0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt @@ -14,11 +14,11 @@ import com.facebook.soloader.SoLoader import com.facebook.systrace.Systrace @StableReactNativeAPI -object MapBufferSoLoader { +public object MapBufferSoLoader { @Volatile private var didInit = false @JvmStatic - fun staticInit() { + public fun staticInit() { if (didInit) { return } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt index f4ea0f33ec8473..66add82a7e9e23 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt @@ -25,7 +25,7 @@ import javax.annotation.concurrent.NotThreadSafe @StableReactNativeAPI @NotThreadSafe @DoNotStrip -class ReadableMapBuffer : MapBuffer { +public class ReadableMapBuffer : MapBuffer { // Hybrid data must be kept in the `mHybridData` field for fbjni to work @field:DoNotStrip private val mHybridData: HybridData? @@ -33,7 +33,7 @@ class ReadableMapBuffer : MapBuffer { // Byte data of the mapBuffer private val buffer: ByteBuffer // Amount of items serialized on the ByteBuffer - override var count = 0 + override var count: Int = 0 private set @DoNotStrip @@ -299,7 +299,7 @@ class ReadableMapBuffer : MapBuffer { } } - companion object { + public companion object { // Value used to verify if the data is serialized with LittleEndian order. private const val ALIGNMENT = 0xFE diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt index b687f7a77bc975..fb145f4dddf697 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt @@ -23,7 +23,7 @@ import javax.annotation.concurrent.NotThreadSafe @StableReactNativeAPI @NotThreadSafe @DoNotStrip -class WritableMapBuffer : MapBuffer { +public class WritableMapBuffer : MapBuffer { private val values: SparseArray = SparseArray() /* @@ -37,7 +37,7 @@ class WritableMapBuffer : MapBuffer { * @param value entry value * @throws IllegalArgumentException if key is out of [UShort] range */ - fun put(key: Int, value: Boolean): WritableMapBuffer = putInternal(key, value) + public fun put(key: Int, value: Boolean): WritableMapBuffer = putInternal(key, value) /** * Adds an int value for given key to the MapBuffer. @@ -46,7 +46,7 @@ class WritableMapBuffer : MapBuffer { * @param value entry value * @throws IllegalArgumentException if key is out of [UShort] range */ - fun put(key: Int, value: Int): WritableMapBuffer = putInternal(key, value) + public fun put(key: Int, value: Int): WritableMapBuffer = putInternal(key, value) /** * Adds a double value for given key to the MapBuffer. @@ -55,7 +55,7 @@ class WritableMapBuffer : MapBuffer { * @param value entry value * @throws IllegalArgumentException if key is out of [UShort] range */ - fun put(key: Int, value: Double): WritableMapBuffer = putInternal(key, value) + public fun put(key: Int, value: Double): WritableMapBuffer = putInternal(key, value) /** * Adds a string value for given key to the MapBuffer. @@ -64,7 +64,7 @@ class WritableMapBuffer : MapBuffer { * @param value entry value * @throws IllegalArgumentException if key is out of [UShort] range */ - fun put(key: Int, value: String): WritableMapBuffer = putInternal(key, value) + public fun put(key: Int, value: String): WritableMapBuffer = putInternal(key, value) /** * Adds a [MapBuffer] value for given key to the current MapBuffer. @@ -73,7 +73,7 @@ class WritableMapBuffer : MapBuffer { * @param value entry value * @throws IllegalArgumentException if key is out of [UShort] range */ - fun put(key: Int, value: MapBuffer): WritableMapBuffer = putInternal(key, value) + public fun put(key: Int, value: MapBuffer): WritableMapBuffer = putInternal(key, value) private fun putInternal(key: Int, value: Any): WritableMapBuffer { require(key in KEY_RANGE) { @@ -177,7 +177,7 @@ class WritableMapBuffer : MapBuffer { /** JNI hook for MapBuffer to retrieve sorted values from this class. */ private fun getValues(): Array = Array(values.size()) { values.valueAt(it) } - companion object { + private companion object { init { MapBufferSoLoader.staticInit() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt index d0573dc405097b..06a47d80908ebb 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultBindingsInstaller.kt @@ -15,4 +15,6 @@ import com.facebook.react.runtime.BindingsInstaller * A utility class that provides users a default [BindingsInstaller] class that's used to initialize * [ReactHostDelegate] */ -@DoNotStrip @UnstableReactNativeAPI class DefaultBindingsInstaller : BindingsInstaller(null) {} +@DoNotStrip +@UnstableReactNativeAPI +public class DefaultBindingsInstaller : BindingsInstaller(null) {} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt index 260f46ec5b4f85..a4f7baeeea1f38 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt @@ -19,7 +19,7 @@ import com.facebook.react.fabric.ComponentFactory * is hosted inside the React Native framework */ @DoNotStrip -class DefaultComponentsRegistry +public class DefaultComponentsRegistry @DoNotStrip private constructor(componentFactory: ComponentFactory) { @@ -29,13 +29,14 @@ private constructor(componentFactory: ComponentFactory) { @DoNotStrip private external fun initHybrid(componentFactory: ComponentFactory): HybridData - companion object { + public companion object { init { DefaultSoLoader.maybeLoadSoLibrary() } @JvmStatic @DoNotStrip - fun register(componentFactory: ComponentFactory) = DefaultComponentsRegistry(componentFactory) + public fun register(componentFactory: ComponentFactory): DefaultComponentsRegistry = + DefaultComponentsRegistry(componentFactory) } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt index c4f353f076af7d..f9e5058f42529a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt @@ -24,10 +24,10 @@ import com.facebook.react.config.ReactFeatureFlags * By default it also enables both TurboModules, Fabric and Concurrent React (aka React 18), and * Bridgeless */ -object DefaultNewArchitectureEntryPoint { +public object DefaultNewArchitectureEntryPoint { @JvmStatic @JvmOverloads - fun load( + public fun load( turboModulesEnabled: Boolean = true, fabricEnabled: Boolean = true, bridgelessEnabled: Boolean = true @@ -54,26 +54,26 @@ object DefaultNewArchitectureEntryPoint { private var privateFabricEnabled: Boolean = false @JvmStatic - val fabricEnabled: Boolean + public val fabricEnabled: Boolean get() = privateFabricEnabled private var privateTurboModulesEnabled: Boolean = false @JvmStatic - val turboModulesEnabled: Boolean + public val turboModulesEnabled: Boolean get() = privateTurboModulesEnabled private var privateConcurrentReactEnabled: Boolean = false @JvmStatic - val concurrentReactEnabled: Boolean + public val concurrentReactEnabled: Boolean get() = privateConcurrentReactEnabled private var privateBridgelessEnabled: Boolean = false @JvmStatic - val bridgelessEnabled: Boolean + public val bridgelessEnabled: Boolean get() = privateBridgelessEnabled @VisibleForTesting - fun isConfigurationValid( + public fun isConfigurationValid( turboModulesEnabled: Boolean, fabricEnabled: Boolean, bridgelessEnabled: Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt index 9b22bbdb51bd57..07f7ce270b2da9 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt @@ -21,7 +21,7 @@ import com.facebook.react.ReactRootView * * @param fabricEnabled Whether Fabric should be enabled for the RootView of this Activity. */ -open class DefaultReactActivityDelegate( +public open class DefaultReactActivityDelegate( activity: ReactActivity, mainComponentName: String, private val fabricEnabled: Boolean = false, @@ -35,7 +35,7 @@ open class DefaultReactActivityDelegate( level = DeprecationLevel.WARNING, replaceWith = ReplaceWith("DefaultReactActivityDelegate(activity, mainComponentName, fabricEnabled)")) - constructor( + public constructor( activity: ReactActivity, mainComponentName: String, fabricEnabled: Boolean, diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt index 9a102597199dc1..8fb0ccbb57f7a7 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt @@ -27,7 +27,7 @@ import com.facebook.react.runtime.hermes.HermesInstance * [ReactHost] is an interface responsible of handling the lifecycle of a React Native app when * running in bridgeless mode. */ -object DefaultReactHost { +public object DefaultReactHost { private var reactHost: ReactHost? = null /** @@ -44,7 +44,7 @@ object DefaultReactHost { */ @OptIn(UnstableReactNativeAPI::class) @JvmStatic - fun getDefaultReactHost( + public fun getDefaultReactHost( context: Context, packageList: List, jsMainModulePath: String = "index", @@ -97,7 +97,7 @@ object DefaultReactHost { * @param reactNativeHost the [ReactNativeHost] to use for creating the [ReactHost] */ @JvmStatic - fun getDefaultReactHost( + public fun getDefaultReactHost( context: Context, reactNativeHost: ReactNativeHost, ): ReactHost { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt index 40529ef869842e..5f53398208a74d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt @@ -38,7 +38,7 @@ import com.facebook.react.runtime.hermes.HermesInstance */ @DoNotStrip @UnstableReactNativeAPI -class DefaultReactHostDelegate( +public class DefaultReactHostDelegate( override val jsMainModulePath: String, override val jsBundleLoader: JSBundleLoader, override val reactPackages: List = emptyList(), @@ -49,7 +49,7 @@ class DefaultReactHostDelegate( override val turboModuleManagerDelegateBuilder: ReactPackageTurboModuleManagerDelegate.Builder ) : ReactHostDelegate { - override fun getReactNativeConfig() = reactNativeConfig + override fun getReactNativeConfig(): ReactNativeConfig = reactNativeConfig - override fun handleInstanceException(error: Exception) = exceptionHandler(error) + override fun handleInstanceException(error: Exception): Unit = exceptionHandler(error) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt index 66c705ba199446..da82f02ea68262 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt @@ -29,7 +29,7 @@ import com.facebook.react.uimanager.ViewManagerResolver * providing the default TurboModuleManagerDelegateBuilder and the default JSIModulePackage, * provided the name of the dynamic library to load. */ -abstract class DefaultReactNativeHost +public abstract class DefaultReactNativeHost protected constructor( application: Application, ) : ReactNativeHost(application) { @@ -98,7 +98,7 @@ protected constructor( * * @param context the Android [Context] to use for creating the [ReactHost] */ - fun toReactHost(context: Context): ReactHost = + public fun toReactHost(context: Context): ReactHost = DefaultReactHost.getDefaultReactHost( context, packages, diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt index 2c664ba97b9f0a..ba1a9f19b9a1e1 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt @@ -23,7 +23,7 @@ import com.facebook.react.runtime.cxxreactpackage.CxxReactPackage * is hosted inside the React Native framework */ @OptIn(UnstableReactNativeAPI::class) -class DefaultTurboModuleManagerDelegate +public class DefaultTurboModuleManagerDelegate private constructor( context: ReactApplicationContext, packages: List, @@ -35,13 +35,13 @@ private constructor( "DefaultTurboModuleManagerDelegate.initHybrid() must never be called!") } - class Builder : ReactPackageTurboModuleManagerDelegate.Builder() { + public class Builder : ReactPackageTurboModuleManagerDelegate.Builder() { private var cxxReactPackageProviders: MutableList<((context: ReactApplicationContext) -> CxxReactPackage)> = mutableListOf() fun addCxxReactPackage(provider: () -> CxxReactPackage): Builder { - cxxReactPackageProviders.add({ _ -> provider() }) + cxxReactPackageProviders.add { _ -> provider() } return this } @@ -65,7 +65,7 @@ private constructor( } } - companion object { + private companion object { init { DefaultSoLoader.maybeLoadSoLibrary() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt index c089552324b4a7..00fc39ca894ec8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt @@ -15,7 +15,7 @@ import com.facebook.proguard.annotations.DoNotStripAny * stored. */ @DoNotStripAny -class EmptyReactNativeConfig : ReactNativeConfig { +public class EmptyReactNativeConfig : ReactNativeConfig { private val mHybridData: HybridData = initHybrid() private external fun initHybrid(): HybridData @@ -28,7 +28,7 @@ class EmptyReactNativeConfig : ReactNativeConfig { external override fun getDouble(param: String): Double - companion object { + private companion object { init { FabricSoLoader.staticInit() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt index 37e0db6ac52126..7cc81c493f392a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt @@ -19,36 +19,36 @@ import com.facebook.proguard.annotations.DoNotStrip * This is a wrapper for the ReactNativeConfig object in C++ */ @DoNotStrip -interface ReactNativeConfig { +public interface ReactNativeConfig { /** * Get a boolean param by string name. Default should be false. * * @param param The string name of the parameter being requested. */ - @DoNotStrip fun getBool(param: String): Boolean + @DoNotStrip public fun getBool(param: String): Boolean /** * Get a Long param by string name. Default should be 0. * * @param param The string name of the parameter being requested. */ - @DoNotStrip fun getInt64(param: String): Long + @DoNotStrip public fun getInt64(param: String): Long /** * Get a string param by string name. Default should be "", empty string. * * @param param The string name of the parameter being requested. */ - @DoNotStrip fun getString(param: String): String + @DoNotStrip public fun getString(param: String): String /** * Get a double param by string name. Default should be 0. * * @param param The string name of the parameter being requested. */ - @DoNotStrip fun getDouble(param: String): Double + @DoNotStrip public fun getDouble(param: String): Double - companion object { - @JvmField val DEFAULT_CONFIG: ReactNativeConfig = EmptyReactNativeConfig() + public companion object { + @JvmField public val DEFAULT_CONFIG: ReactNativeConfig = EmptyReactNativeConfig() } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt index 17d83557c6e929..472e3e009eb931 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt @@ -20,7 +20,7 @@ import com.facebook.react.ReactInstanceManager "ReactNative/Flipper integration is deprecated. Please remove the call to initializeFlipper from your MainApplication.java", replaceWith = ReplaceWith(""), level = DeprecationLevel.WARNING) -object ReactNativeFlipper { +public object ReactNativeFlipper { @Suppress("UNUSED_PARAMETER") @JvmStatic @Deprecated( @@ -28,7 +28,7 @@ object ReactNativeFlipper { "ReactNative/Flipper integration is deprecated. Please remove the call to initializeFlipper from your MainApplication.java", replaceWith = ReplaceWith(""), level = DeprecationLevel.WARNING) - fun initializeFlipper(context: Context, reactInstanceManager: ReactInstanceManager) { + public fun initializeFlipper(context: Context, reactInstanceManager: ReactInstanceManager) { // no-op } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt index 6742d1ebfdbeea..c7d968023a24b8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt @@ -12,10 +12,10 @@ import java.util.concurrent.TimeUnit /** * This is the public interface for Task which represents the result of an asynchronous computation. */ -interface TaskInterface { +public interface TaskInterface { /** Blocks until the task is complete. */ - @Throws(InterruptedException::class) fun waitForCompletion() + @Throws(InterruptedException::class) public fun waitForCompletion() /** * Blocks until the task is complete or times out. @@ -23,22 +23,22 @@ interface TaskInterface { * @return true if the task completed (has a result, an error, or was cancelled). false otherwise. */ @Throws(InterruptedException::class) - fun waitForCompletion(duration: Long, timeUnit: TimeUnit?): Boolean + public fun waitForCompletion(duration: Long, timeUnit: TimeUnit?): Boolean /** @return The result of the task, if set. null otherwise. */ - fun getResult(): TResult? + public fun getResult(): TResult? /** @return The error for the task, if set. null otherwise. */ - fun getError(): Exception? + public fun getError(): Exception? /** * @return true if the task completed (has a result, an error, or was cancelled. false otherwise. */ - fun isCompleted(): Boolean + public fun isCompleted(): Boolean /** @return true if the task was cancelled, false otherwise. */ - fun isCancelled(): Boolean + public fun isCancelled(): Boolean /** @return true if the task has an error, false otherwise. */ - fun isFaulted(): Boolean + public fun isFaulted(): Boolean } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt index ce80a2861796a1..613016b640a72a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt @@ -13,6 +13,6 @@ import com.facebook.react.common.mapbuffer.ReadableMapBuffer @DoNotStripAny @UnstableReactNativeAPI -fun interface ReactJsExceptionHandler { - fun reportJsException(errorMap: ReadableMapBuffer?) +public fun interface ReactJsExceptionHandler { + public fun reportJsException(errorMap: ReadableMapBuffer?) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt index 9d9734a33f8ddb..5f2e13b55e51e2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt @@ -12,38 +12,38 @@ import android.view.ViewGroup import com.facebook.react.interfaces.TaskInterface /** Represents a Surface in React Native. */ -interface ReactSurface { +public interface ReactSurface { // the API of this interface will be completed as we analyze and refactor API of ReactSurface, // ReactRootView, etc. // Returns surface ID of this surface - val surfaceID: Int + public val surfaceID: Int // Returns module name of this surface - val moduleName: String + public val moduleName: String // Returns whether the surface is running or not - val isRunning: Boolean + public val isRunning: Boolean // Returns React root view of this surface - val view: ViewGroup? + public val view: ViewGroup? // Returns context associated with the surface - val context: Context + public val context: Context // Prerender this surface - fun prerender(): TaskInterface + public fun prerender(): TaskInterface // Start running this surface - fun start(): TaskInterface + public fun start(): TaskInterface // Stop running this surface - fun stop(): TaskInterface + public fun stop(): TaskInterface // Clear surface - fun clear() + public fun clear() // Detach surface from Host - fun detach() + public fun detach() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt index 2db1c3f6ab7caf..e6a50eda239dbb 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt @@ -12,32 +12,32 @@ import javax.annotation.concurrent.ThreadSafe /** Represents a Java variant of the surface, its status and inner data required to display it. */ @ThreadSafe -interface SurfaceHandler { +public interface SurfaceHandler { /** * Provides current surface id. Id should be updated after each call to {@link * SurfaceHandler#stop} */ - val surfaceId: Int + public val surfaceId: Int - val isRunning: Boolean + public val isRunning: Boolean - val moduleName: String + public val moduleName: String /** Starts the surface if the surface is not running */ - fun start() + public fun start() /** Stops the surface if it is currently running */ - fun stop() + public fun stop() - fun setProps(props: NativeMap) + public fun setProps(props: NativeMap) /** * Updates current surface id. Id should be updated after each call to {@link SurfaceHandler#stop} */ - fun setSurfaceId(surfaceId: Int) + public fun setSurfaceId(surfaceId: Int) - fun setLayoutConstraints( + public fun setLayoutConstraints( widthMeasureSpec: Int, heightMeasureSpec: Int, offsetX: Int, @@ -47,5 +47,5 @@ interface SurfaceHandler { pixelDensity: Float ) - fun setMountable(mountable: Boolean) + public fun setMountable(mountable: Boolean) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt index 6327566573acf8..fe8711b1451225 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5af2b68c126a1f5127deba7494075b47>> + * @generated SignedSource<<5f3eba4807f850a67572c0ea0ff33dbd>> */ /** @@ -24,7 +24,7 @@ package com.facebook.react.internal.featureflags * * All the methods are thread-safe if you handle `override` correctly. */ -object ReactNativeFeatureFlags { +public object ReactNativeFeatureFlags { private var accessorProvider: () -> ReactNativeFeatureFlagsAccessor = { ReactNativeFeatureFlagsCxxAccessor() } private var accessor: ReactNativeFeatureFlagsAccessor = accessorProvider() @@ -32,49 +32,49 @@ object ReactNativeFeatureFlags { * Common flag for testing. Do NOT modify. */ @JvmStatic - fun commonTestFlag() = accessor.commonTestFlag() + public fun commonTestFlag(): Boolean = accessor.commonTestFlag() /** * Enables the use of a background executor to compute layout and commit updates on Fabric (this system is deprecated and should not be used). */ @JvmStatic - fun enableBackgroundExecutor() = accessor.enableBackgroundExecutor() + public fun enableBackgroundExecutor(): Boolean = accessor.enableBackgroundExecutor() /** * When enabled, it uses the modern fork of RuntimeScheduler that allows scheduling tasks with priorities from any thread. */ @JvmStatic - fun useModernRuntimeScheduler() = accessor.useModernRuntimeScheduler() + public fun useModernRuntimeScheduler(): Boolean = accessor.useModernRuntimeScheduler() /** * Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution). */ @JvmStatic - fun enableMicrotasks() = accessor.enableMicrotasks() + public fun enableMicrotasks(): Boolean = accessor.enableMicrotasks() /** * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop. */ @JvmStatic - fun batchRenderingUpdatesInEventLoop() = accessor.batchRenderingUpdatesInEventLoop() + public fun batchRenderingUpdatesInEventLoop(): Boolean = accessor.batchRenderingUpdatesInEventLoop() /** * Uses new, deduplicated logic for constructing Android Spannables from text fragments */ @JvmStatic - fun enableSpannableBuildingUnification() = accessor.enableSpannableBuildingUnification() + public fun enableSpannableBuildingUnification(): Boolean = accessor.enableSpannableBuildingUnification() /** * When enabled, Fabric will use customDrawOrder in ReactViewGroup (similar to old architecture). */ @JvmStatic - fun enableCustomDrawOrderFabric() = accessor.enableCustomDrawOrderFabric() + public fun enableCustomDrawOrderFabric(): Boolean = accessor.enableCustomDrawOrderFabric() /** * Attempt at fixing a crash related to subview clipping on Android. This is a kill switch for the fix */ @JvmStatic - fun enableFixForClippedSubviewsCrash() = accessor.enableFixForClippedSubviewsCrash() + public fun enableFixForClippedSubviewsCrash(): Boolean = accessor.enableFixForClippedSubviewsCrash() /** * Overrides the feature flags with the ones provided by the given provider @@ -91,7 +91,7 @@ object ReactNativeFeatureFlags { * ``` */ @JvmStatic - fun override(provider: ReactNativeFeatureFlagsProvider) = accessor.override(provider) + public fun override(provider: ReactNativeFeatureFlagsProvider) = accessor.override(provider) /** * Removes the overridden feature flags and makes the API return default @@ -103,7 +103,7 @@ object ReactNativeFeatureFlags { * again before initializing the new one. */ @JvmStatic - fun dangerouslyReset() { + public fun dangerouslyReset() { // This is necessary when the accessor interops with C++ and we need to // remove the overrides set there. accessor.dangerouslyReset() diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt index 5104a79aedb2a1..b20cafdc4c215e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt @@ -7,8 +7,8 @@ package com.facebook.react.internal.featureflags -interface ReactNativeFeatureFlagsAccessor : ReactNativeFeatureFlagsProvider { - fun override(provider: ReactNativeFeatureFlagsProvider) +public interface ReactNativeFeatureFlagsAccessor : ReactNativeFeatureFlagsProvider { + public fun override(provider: ReactNativeFeatureFlagsProvider) - fun dangerouslyReset() + public fun dangerouslyReset() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt index 92eb7fed436ec4..0b8fb53e296b14 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<1741a8a82b193bf389f45d104ae295fb>> + * @generated SignedSource<<8d6196766629d3361922502553fd1d2b>> */ /** @@ -19,7 +19,7 @@ package com.facebook.react.internal.featureflags -class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor { +public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor { private var commonTestFlagCache: Boolean? = null private var enableBackgroundExecutorCache: Boolean? = null private var useModernRuntimeSchedulerCache: Boolean? = null @@ -101,8 +101,8 @@ class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor { return cached } - override fun override(provider: ReactNativeFeatureFlagsProvider) = + override fun override(provider: ReactNativeFeatureFlagsProvider): Unit = ReactNativeFeatureFlagsCxxInterop.override(provider as Any) - override fun dangerouslyReset() = ReactNativeFeatureFlagsCxxInterop.dangerouslyReset() + override fun dangerouslyReset(): Unit = ReactNativeFeatureFlagsCxxInterop.dangerouslyReset() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt index 5690d5a9821e86..fb6946f3278bd4 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4b555581d91d1a59b7bfccd9c3d700df>> + * @generated SignedSource<<6e7270533df9a6ad0f3c5efc8645dd2b>> */ /** @@ -23,26 +23,26 @@ import com.facebook.proguard.annotations.DoNotStrip import com.facebook.soloader.SoLoader @DoNotStrip -object ReactNativeFeatureFlagsCxxInterop { +public object ReactNativeFeatureFlagsCxxInterop { init { SoLoader.loadLibrary("react_featureflagsjni") } - @DoNotStrip @JvmStatic external fun commonTestFlag(): Boolean + @DoNotStrip @JvmStatic public external fun commonTestFlag(): Boolean - @DoNotStrip @JvmStatic external fun enableBackgroundExecutor(): Boolean + @DoNotStrip @JvmStatic public external fun enableBackgroundExecutor(): Boolean - @DoNotStrip @JvmStatic external fun useModernRuntimeScheduler(): Boolean + @DoNotStrip @JvmStatic public external fun useModernRuntimeScheduler(): Boolean - @DoNotStrip @JvmStatic external fun enableMicrotasks(): Boolean + @DoNotStrip @JvmStatic public external fun enableMicrotasks(): Boolean - @DoNotStrip @JvmStatic external fun batchRenderingUpdatesInEventLoop(): Boolean + @DoNotStrip @JvmStatic public external fun batchRenderingUpdatesInEventLoop(): Boolean - @DoNotStrip @JvmStatic external fun enableSpannableBuildingUnification(): Boolean + @DoNotStrip @JvmStatic public external fun enableSpannableBuildingUnification(): Boolean - @DoNotStrip @JvmStatic external fun enableCustomDrawOrderFabric(): Boolean + @DoNotStrip @JvmStatic public external fun enableCustomDrawOrderFabric(): Boolean - @DoNotStrip @JvmStatic external fun enableFixForClippedSubviewsCrash(): Boolean + @DoNotStrip @JvmStatic public external fun enableFixForClippedSubviewsCrash(): Boolean @DoNotStrip @JvmStatic external fun override(provider: Any) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt index c36173dd532745..233fb23d169bd5 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4fc58cba11db962f828efc4e20391303>> + * @generated SignedSource<<28e35777aa2f03b7bd07472ce80aade2>> */ /** @@ -19,7 +19,7 @@ package com.facebook.react.internal.featureflags -open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvider { +public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvider { // We could use JNI to get the defaults from C++, // but that is more expensive than just duplicating the defaults here. diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsForTests.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsForTests.kt index e18b900d901e8e..6ffe28c3e16cdc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsForTests.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsForTests.kt @@ -7,8 +7,8 @@ package com.facebook.react.internal.featureflags -object ReactNativeFeatureFlagsForTests { - fun setUp() { - ReactNativeFeatureFlags.setAccessorProvider({ ReactNativeFeatureFlagsLocalAccessor() }) +public object ReactNativeFeatureFlagsForTests { + public fun setUp() { + ReactNativeFeatureFlags.setAccessorProvider { ReactNativeFeatureFlagsLocalAccessor() } } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt index 57d02c48c0ea08..880712c4f55ef5 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<0aac45f1506afa2f20ad730c53755abd>> + * @generated SignedSource<> */ /** @@ -19,7 +19,7 @@ package com.facebook.react.internal.featureflags -class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAccessor { +public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAccessor { private var currentProvider: ReactNativeFeatureFlagsProvider = ReactNativeFeatureFlagsDefaults() private val accessedFeatureFlags = mutableSetOf() diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt index 24c089e07d50c8..ba1b0b9a62c72b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<3ec82b003df6f3743305f6161c301360>> + * @generated SignedSource<> */ /** @@ -22,20 +22,20 @@ package com.facebook.react.internal.featureflags import com.facebook.proguard.annotations.DoNotStrip @DoNotStrip -interface ReactNativeFeatureFlagsProvider { - @DoNotStrip fun commonTestFlag(): Boolean +public interface ReactNativeFeatureFlagsProvider { + @DoNotStrip public fun commonTestFlag(): Boolean - @DoNotStrip fun enableBackgroundExecutor(): Boolean + @DoNotStrip public fun enableBackgroundExecutor(): Boolean - @DoNotStrip fun useModernRuntimeScheduler(): Boolean + @DoNotStrip public fun useModernRuntimeScheduler(): Boolean - @DoNotStrip fun enableMicrotasks(): Boolean + @DoNotStrip public fun enableMicrotasks(): Boolean - @DoNotStrip fun batchRenderingUpdatesInEventLoop(): Boolean + @DoNotStrip public fun batchRenderingUpdatesInEventLoop(): Boolean - @DoNotStrip fun enableSpannableBuildingUnification(): Boolean + @DoNotStrip public fun enableSpannableBuildingUnification(): Boolean - @DoNotStrip fun enableCustomDrawOrderFabric(): Boolean + @DoNotStrip public fun enableCustomDrawOrderFabric(): Boolean - @DoNotStrip fun enableFixForClippedSubviewsCrash(): Boolean + @DoNotStrip public fun enableFixForClippedSubviewsCrash(): Boolean } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt index 31c630db641e3f..3f8522a31bb5df 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt @@ -15,9 +15,9 @@ import com.facebook.react.uimanager.events.Event * the data which is received by the `receiveEvent` method and will be passed over the the * [com.facebook.react.uimanager.events.EventDispatcher] */ -class InteropEvent( - @get:JvmName("eventName") val eventName: String, - @get:JvmName("eventData") val eventData: WritableMap?, +public class InteropEvent( + @get:JvmName("eventName") public val eventName: String, + @get:JvmName("eventData") public val eventData: WritableMap?, surfaceId: Int, viewTag: Int ) : Event(surfaceId, viewTag) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt index 0946269f8c8668..5c4e7e42c30160 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt @@ -27,7 +27,7 @@ import com.facebook.react.uimanager.events.RCTEventEmitter * is providing support for the `receiveEvent` method, so that non-Fabric ViewManagers can continue * to deliver events also when Fabric is turned on. */ -class InteropEventEmitter(private val reactContext: ReactContext) : RCTEventEmitter { +public class InteropEventEmitter(private val reactContext: ReactContext) : RCTEventEmitter { private var eventDispatcherOverride: EventDispatcher? = null @Deprecated("Deprecated in Java") @@ -49,7 +49,7 @@ class InteropEventEmitter(private val reactContext: ReactContext) : RCTEventEmit } @VisibleForTesting - fun overrideEventDispatcher(eventDispatcherOverride: EventDispatcher?) { + public fun overrideEventDispatcher(eventDispatcherOverride: EventDispatcher?) { this.eventDispatcherOverride = eventDispatcherOverride } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModule.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModule.kt index 080effd5290126..0e546d282864a3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModule.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModule.kt @@ -7,13 +7,13 @@ package com.facebook.react.internal.turbomodule.core.interfaces /** All turbo modules should inherit from this interface */ -interface TurboModule { +public interface TurboModule { /** Initialize the TurboModule. */ - fun initialize() + public fun initialize() /** * Called during the turn down process of ReactHost. This method is called before React Native is * stopped. Override this method to clean up resources used by the TurboModule. */ - fun invalidate() + public fun invalidate() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry.kt index 1e1897436f5ee4..a16f5055db9729 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/interfaces/TurboModuleRegistry.kt @@ -15,29 +15,29 @@ import com.facebook.react.bridge.NativeModule * already is a NativeModuleRegistry (a part of the legacy architecture). Once that class is * deleted, we should rename this interface accordingly. */ -interface TurboModuleRegistry { +public interface TurboModuleRegistry { /** * Return the NativeModule instance that has that name `moduleName`. If the `moduleName` * TurboModule hasn't been instantiated, instantiate it. If no TurboModule is registered under * `moduleName`, return null. */ - fun getModule(moduleName: String): NativeModule? + public fun getModule(moduleName: String): NativeModule? /** Get all instantiated NativeModules. */ - val modules: Collection + public val modules: Collection /** Has the NativeModule with name `moduleName` been instantiated? */ - fun hasModule(moduleName: String): Boolean + public fun hasModule(moduleName: String): Boolean /** * Return the names of all the NativeModules that are supposed to be eagerly initialized. By * calling getModule on each name, this allows the application to eagerly initialize its * NativeModules. */ - val eagerInitModuleNames: List + public val eagerInitModuleNames: List /** * Called during the turn down process of ReactHost. This method is called before React Native is * stopped. */ - fun invalidate() + public fun invalidate() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt index c81c9f9e9436a7..ed92a48c9bd2ec 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt @@ -14,13 +14,13 @@ import com.facebook.react.bridge.ReadableNativeMap import com.facebook.soloader.SoLoader @DoNotStrip -class JSCExecutor internal constructor(jscConfig: ReadableNativeMap) : +public class JSCExecutor internal constructor(jscConfig: ReadableNativeMap) : JavaScriptExecutor(initHybrid(jscConfig)) { override fun getName(): String { return "JSCExecutor" } - companion object { + private companion object { init { loadLibrary() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt index 6a464495977af0..d4b9ea04e6a62b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt @@ -11,7 +11,7 @@ import com.facebook.react.bridge.JavaScriptExecutor import com.facebook.react.bridge.JavaScriptExecutorFactory import com.facebook.react.bridge.WritableNativeMap -class JSCExecutorFactory(private val appName: String, private val deviceName: String) : +public class JSCExecutorFactory(private val appName: String, private val deviceName: String) : JavaScriptExecutorFactory { @Throws(Exception::class) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt index 61333f0c9f55aa..c229320b26bb24 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BindingsInstaller.kt @@ -13,8 +13,8 @@ import com.facebook.proguard.annotations.DoNotStripAny import com.facebook.soloader.SoLoader @DoNotStripAny -abstract class BindingsInstaller(@field:DoNotStrip private val mHybridData: HybridData?) { - companion object { +public abstract class BindingsInstaller(@field:DoNotStrip private val mHybridData: HybridData?) { + private companion object { init { SoLoader.loadLibrary("rninstance") } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt index 6b9f71d1f6f02f..7c53923a320b52 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt @@ -20,40 +20,40 @@ import com.facebook.react.fabric.ReactNativeConfig */ @ThreadSafe @UnstableReactNativeAPI -interface ReactHostDelegate { +public interface ReactHostDelegate { /** * Path to your app's main module on Metro. This is used when reloading JS during development. All * paths are relative to the root folder the packager is serving files from. Examples: * `index.android` or `subdirectory/index.android` */ - val jsMainModulePath: String + public val jsMainModulePath: String /** * Object that holds a native C++ references that allow host applications to install C++ objects * into jsi::Runtime during the initialization of React Native */ - val bindingsInstaller: BindingsInstaller? + public val bindingsInstaller: BindingsInstaller? /** list of [ReactPackage] to expose Native Modules and View Components to JS */ - val reactPackages: List + public val reactPackages: List /** Object that holds a native reference to the javascript engine */ - val jsRuntimeFactory: JSRuntimeFactory + public val jsRuntimeFactory: JSRuntimeFactory /** * Bundle loader to use when setting up JS environment.

Example: * [JSBundleLoader.createFileLoader(application, bundleFile)] */ - val jsBundleLoader: JSBundleLoader + public val jsBundleLoader: JSBundleLoader /** TODO: combine getTurboModuleManagerDelegate inside [ReactPackage] */ - val turboModuleManagerDelegateBuilder: ReactPackageTurboModuleManagerDelegate.Builder + public val turboModuleManagerDelegateBuilder: ReactPackageTurboModuleManagerDelegate.Builder /** * Callback that can be used by React Native host applications to react to exceptions thrown by * the internals of React Native. */ - fun handleInstanceException(error: Exception) + public fun handleInstanceException(error: Exception) /** * ReactNative Configuration that allows to customize the behavior of key/value pairs used by the @@ -62,10 +62,10 @@ interface ReactHostDelegate { * [moduleProvider] is a function that returns the Native Module with the name received as a * parameter. */ - fun getReactNativeConfig(): ReactNativeConfig + public fun getReactNativeConfig(): ReactNativeConfig @UnstableReactNativeAPI - class ReactHostDelegateBase( + public class ReactHostDelegateBase( override val jsMainModulePath: String, override val jsBundleLoader: JSBundleLoader, override val jsRuntimeFactory: JSRuntimeFactory, @@ -77,8 +77,8 @@ interface ReactHostDelegate { private val exceptionHandler: (error: Exception) -> Unit = {} ) : ReactHostDelegate { - override fun getReactNativeConfig() = reactNativeConfig + override fun getReactNativeConfig(): ReactNativeConfig = reactNativeConfig - override fun handleInstanceException(error: Exception) = exceptionHandler(error) + override fun handleInstanceException(error: Exception): Unit = exceptionHandler(error) } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt index 12cfb9ac017292..7208c04018d373 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt @@ -15,7 +15,7 @@ import com.facebook.soloader.SoLoader /** CxxReactPackage is used to register C++ Turbo Modules with React Native. */ @UnstableReactNativeAPI() -abstract class CxxReactPackage { +public abstract class CxxReactPackage { @DoNotStrip @Suppress("NoHungarianNotation") private var mHybridData: HybridData? @@ -23,7 +23,7 @@ abstract class CxxReactPackage { mHybridData = hybridData } - companion object { + private companion object { init { SoLoader.loadLibrary("react_cxxreactpackage") } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt index e20bc7ca0b474e..47efb3f2a79212 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt @@ -13,12 +13,12 @@ import com.facebook.react.fabric.ReactNativeConfig import com.facebook.react.runtime.JSRuntimeFactory import com.facebook.soloader.SoLoader -class HermesInstance constructor(reactNativeConfig: ReactNativeConfig?) : +public class HermesInstance(reactNativeConfig: ReactNativeConfig?) : JSRuntimeFactory(initHybrid(reactNativeConfig as Any?)) { - constructor() : this(null) + public constructor() : this(null) - companion object { + public companion object { @JvmStatic @DoNotStrip protected external fun initHybrid(reactNativeConfig: Any?): HybridData init { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt index b8ff7507d3e5df..8dddd3d4e9e0d6 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt @@ -20,7 +20,7 @@ import android.view.ViewParent * * Single [CatalystInstance] should reuse same instance of this class. */ -class JSResponderHandler : OnInterceptTouchEventListener { +public class JSResponderHandler : OnInterceptTouchEventListener { @Volatile private var currentJSResponder = JS_RESPONDER_UNSET // We're holding on to the ViewParent that blocked native responders so that we can clear it @@ -28,7 +28,7 @@ class JSResponderHandler : OnInterceptTouchEventListener { private var viewParentBlockingNativeResponder: ViewParent? = null - fun setJSResponder(tag: Int, viewParentBlockingNativeResponder: ViewParent?) { + public fun setJSResponder(tag: Int, viewParentBlockingNativeResponder: ViewParent?) { currentJSResponder = tag // We need to unblock the native responder first, otherwise we can get in a bad state: a // ViewParent sets requestDisallowInterceptTouchEvent to true, which sets this setting to true @@ -42,7 +42,7 @@ class JSResponderHandler : OnInterceptTouchEventListener { } } - fun clearJSResponder() { + public fun clearJSResponder() { currentJSResponder = JS_RESPONDER_UNSET maybeUnblockNativeResponder() } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt index a78a175b4fb1c3..539b0f9ef7323a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt @@ -14,7 +14,7 @@ import android.view.ViewGroup * Interface definition for a callback to be invoked when a onInterceptTouch is called on a * [ViewGroup]. */ -fun interface OnInterceptTouchEventListener { +public fun interface OnInterceptTouchEventListener { /** * Called when a onInterceptTouch is invoked on a view group @@ -24,5 +24,5 @@ fun interface OnInterceptTouchEventListener { * @return Return true to steal motion event from the children and have the dispatched to this * view, or return false to allow motion event to be delivered to children view */ - fun onInterceptTouchEvent(view: ViewGroup, event: MotionEvent): Boolean + public fun onInterceptTouchEvent(view: ViewGroup, event: MotionEvent): Boolean } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt index 469fa35a609346..75ad5081535f00 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt @@ -13,6 +13,6 @@ import android.graphics.Rect * This interface should be implemented by all [View] subclasses that want to use the hitSlop prop * to extend their touch areas. */ -interface ReactHitSlopView { - val hitSlopRect: Rect? +public interface ReactHitSlopView { + public val hitSlopRect: Rect? } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt index 7f42e299207cc8..dce4315d8ddfbd 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt @@ -15,7 +15,7 @@ import android.view.ViewGroup * is used to control touch event flow in cases in which they requested to be intercepted by some * parent view based on a JS gesture detector. */ -interface ReactInterceptingViewGroup { +public interface ReactInterceptingViewGroup { /** * A [ViewGroup] instance that implement this interface is responsible for storing the listener @@ -27,5 +27,5 @@ interface ReactInterceptingViewGroup { * @param listener A callback that [ViewGroup] should delegate calls for * [ViewGroup#onInterceptTouchEvent] to */ - fun setOnInterceptTouchEventListener(listener: OnInterceptTouchEventListener) + public fun setOnInterceptTouchEventListener(listener: OnInterceptTouchEventListener) } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt index 12ac4792a01252..de3d307088e147 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.kt @@ -14,4 +14,4 @@ package com.facebook.react.turbomodule.core.interfaces * This interface represents the opaque Java object that contains a pointer to and instance of * CallInvoker. */ -interface CallInvokerHolder +public interface CallInvokerHolder diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt index 7d1a3cc42838df..1748a6d35afef3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder.kt @@ -10,4 +10,4 @@ package com.facebook.react.turbomodule.core.interfaces * This interface represents the opaque Java object that contains a pointer to and instance of * NativeMethodCallInvoker. */ -interface NativeMethodCallInvokerHolder +public interface NativeMethodCallInvokerHolder diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt index 934fdf04b7dcd1..394ffd69bfa622 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.kt @@ -16,4 +16,5 @@ import com.facebook.react.common.annotations.DeprecatedInNewArchitecture * See description of https://github.com/facebook/react-native/pull/41412 for more context. */ @DeprecatedInNewArchitecture -interface TurboModule : com.facebook.react.internal.turbomodule.core.interfaces.TurboModule {} +public interface TurboModule : + com.facebook.react.internal.turbomodule.core.interfaces.TurboModule {} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/PopupMenuSelectionEvent.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/PopupMenuSelectionEvent.kt index b9351003d010cd..f0195e6d29ff4d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/PopupMenuSelectionEvent.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/PopupMenuSelectionEvent.kt @@ -4,6 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ + @file:Suppress("DEPRECATION") // We want to use RCTEventEmitter for interop purposes package com.facebook.react.views.popupmenu @@ -13,7 +14,7 @@ import com.facebook.react.bridge.WritableMap import com.facebook.react.uimanager.events.Event import com.facebook.react.uimanager.events.RCTEventEmitter -class PopupMenuSelectionEvent(surfaceId: Int, viewId: Int, val item: Int) : +public class PopupMenuSelectionEvent(surfaceId: Int, viewId: Int, private val item: Int) : Event(surfaceId, viewId) { override fun getEventName(): String { @@ -31,7 +32,7 @@ class PopupMenuSelectionEvent(surfaceId: Int, viewId: Int, val item: Int) : rctEventEmitter.receiveEvent(viewTag, eventName, eventData) } - companion object { - const val EVENT_NAME: String = "topSelectionChange" + public companion object { + public const val EVENT_NAME: String = "topSelectionChange" } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuContainer.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuContainer.kt index a3f007324e581c..57574290bacbe3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuContainer.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuContainer.kt @@ -16,14 +16,14 @@ import com.facebook.react.bridge.ReactContext import com.facebook.react.bridge.ReadableArray import com.facebook.react.uimanager.UIManagerHelper -class ReactPopupMenuContainer(context: Context) : FrameLayout(context) { +public class ReactPopupMenuContainer(context: Context) : FrameLayout(context) { private var menuItems: ReadableArray? = null - fun setMenuItems(items: ReadableArray?) { + public fun setMenuItems(items: ReadableArray?) { menuItems = items } - fun showPopupMenu() { + public fun showPopupMenu() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { val view = getChildAt(0) val popupMenu = PopupMenu(context, view) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuManager.kt index 0cff2011933d81..99dd6b72aa3c92 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/popupmenu/ReactPopupMenuManager.kt @@ -15,7 +15,7 @@ import com.facebook.react.uimanager.annotations.ReactProp import com.facebook.react.viewmanagers.AndroidPopupMenuManagerInterface @ReactModule(name = ReactPopupMenuManager.REACT_CLASS) -class ReactPopupMenuManager() : +public class ReactPopupMenuManager : ViewGroupManager(), AndroidPopupMenuManagerInterface { override fun createViewInstance(reactContext: ThemedReactContext): ReactPopupMenuContainer { @@ -48,7 +48,7 @@ class ReactPopupMenuManager() : popupMenu.showPopupMenu() } - companion object { - const val REACT_CLASS: String = "AndroidPopupMenu" + public companion object { + public const val REACT_CLASS: String = "AndroidPopupMenu" } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt index 69518a1524ba56..d771d070cf469d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt @@ -17,10 +17,10 @@ import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.ViewManager /** Temporary to help trace the cause of T151032868 */ -class ReactViewReturnTypeException(message: String, e: Throwable) : Exception(message, e) +internal class ReactViewReturnTypeException(message: String, e: Throwable) : Exception(message, e) -interface ReactViewManagerWrapper { - fun createView( +public interface ReactViewManagerWrapper { + public fun createView( reactTag: Int, reactContext: ThemedReactContext, props: Any?, @@ -28,25 +28,25 @@ interface ReactViewManagerWrapper { jsResponderHandler: JSResponderHandler ): View - fun updateProperties(viewToUpdate: View, props: Any?) + public fun updateProperties(viewToUpdate: View, props: Any?) - fun receiveCommand(root: View, commandId: String, args: ReadableArray?) + public fun receiveCommand(root: View, commandId: String, args: ReadableArray?) - fun receiveCommand(root: View, commandId: Int, args: ReadableArray?) + public fun receiveCommand(root: View, commandId: Int, args: ReadableArray?) - fun setPadding(view: View, left: Int, top: Int, right: Int, bottom: Int) + public fun setPadding(view: View, left: Int, top: Int, right: Int, bottom: Int) - fun updateState(view: View, props: Any?, stateWrapper: StateWrapper?): Any? + public fun updateState(view: View, props: Any?, stateWrapper: StateWrapper?): Any? - fun updateExtraData(root: View, extraData: Any?) + public fun updateExtraData(root: View, extraData: Any?) - fun onDropViewInstance(view: View) + public fun onDropViewInstance(view: View) - fun getName(): String + public fun getName(): String - val viewGroupManager: IViewGroupManager<*> + public val viewGroupManager: IViewGroupManager<*> - class DefaultViewManager(private val viewManager: ViewManager) : + public class DefaultViewManager(private val viewManager: ViewManager) : ReactViewManagerWrapper { override fun createView( reactTag: Int, diff --git a/packages/react-native/gradle/libs.versions.toml b/packages/react-native/gradle/libs.versions.toml index fc1c88b0e3e7f4..3facf139e901ff 100644 --- a/packages/react-native/gradle/libs.versions.toml +++ b/packages/react-native/gradle/libs.versions.toml @@ -23,7 +23,7 @@ javax-annotation-api = "1.3.2" javax-inject = "1" jsr305 = "3.0.2" junit = "4.13.2" -kotlin = "1.8.22" +kotlin = "1.9.22" mockito = "3.12.4" nexus-publish = "1.3.0" okhttp = "4.9.2" diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlags.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlags.kt-template.js index 33924031a92b3c..e4c864c1b38044 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlags.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlags.kt-template.js @@ -1,3 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + /** * Copyright (c) Meta Platforms, Inc. and affiliates. * @@ -10,7 +17,10 @@ import type {FeatureFlagDefinitions} from '../../types'; -import {DO_NOT_MODIFY_COMMENT} from '../../utils'; +import { + DO_NOT_MODIFY_COMMENT, + getKotlinTypeFromDefaultValue, +} from '../../utils'; import signedsource from 'signedsource'; export default function (definitions: FeatureFlagDefinitions): string { @@ -32,7 +42,7 @@ package com.facebook.react.internal.featureflags * * All the methods are thread-safe if you handle \`override\` correctly. */ -object ReactNativeFeatureFlags { +public object ReactNativeFeatureFlags { private var accessorProvider: () -> ReactNativeFeatureFlagsAccessor = { ReactNativeFeatureFlagsCxxAccessor() } private var accessor: ReactNativeFeatureFlagsAccessor = accessorProvider() @@ -43,7 +53,7 @@ ${Object.entries(definitions.common) * ${flagConfig.description} */ @JvmStatic - fun ${flagName}() = accessor.${flagName}()`, + public fun ${flagName}(): ${getKotlinTypeFromDefaultValue(flagConfig.defaultValue)} = accessor.${flagName}()`, ) .join('\n\n')} @@ -62,7 +72,7 @@ ${Object.entries(definitions.common) * \`\`\` */ @JvmStatic - fun override(provider: ReactNativeFeatureFlagsProvider) = accessor.override(provider) + public fun override(provider: ReactNativeFeatureFlagsProvider) = accessor.override(provider) /** * Removes the overridden feature flags and makes the API return default @@ -74,7 +84,7 @@ ${Object.entries(definitions.common) * again before initializing the new one. */ @JvmStatic - fun dangerouslyReset() { + public fun dangerouslyReset() { // This is necessary when the accessor interops with C++ and we need to // remove the overrides set there. accessor.dangerouslyReset() diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxAccessor.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxAccessor.kt-template.js index 9f63cbca9cc5cf..9b2b6894e759ab 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxAccessor.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxAccessor.kt-template.js @@ -30,7 +30,7 @@ ${DO_NOT_MODIFY_COMMENT} package com.facebook.react.internal.featureflags -class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor { +public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor { ${Object.entries(definitions.common) .map( ([flagName, flagConfig]) => @@ -53,10 +53,10 @@ ${Object.entries(definitions.common) ) .join('\n\n')} - override fun override(provider: ReactNativeFeatureFlagsProvider) = + override fun override(provider: ReactNativeFeatureFlagsProvider): Unit = ReactNativeFeatureFlagsCxxInterop.override(provider as Any) - override fun dangerouslyReset() = ReactNativeFeatureFlagsCxxInterop.dangerouslyReset() + override fun dangerouslyReset(): Unit = ReactNativeFeatureFlagsCxxInterop.dangerouslyReset() } `); } diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxInterop.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxInterop.kt-template.js index 3007b06913bbfc..29f86cc6feee1d 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxInterop.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsCxxInterop.kt-template.js @@ -34,7 +34,7 @@ import com.facebook.proguard.annotations.DoNotStrip import com.facebook.soloader.SoLoader @DoNotStrip -object ReactNativeFeatureFlagsCxxInterop { +public object ReactNativeFeatureFlagsCxxInterop { init { SoLoader.loadLibrary("react_featureflagsjni") } @@ -42,7 +42,7 @@ object ReactNativeFeatureFlagsCxxInterop { ${Object.entries(definitions.common) .map( ([flagName, flagConfig]) => - ` @DoNotStrip @JvmStatic external fun ${flagName}(): ${getKotlinTypeFromDefaultValue( + ` @DoNotStrip @JvmStatic public external fun ${flagName}(): ${getKotlinTypeFromDefaultValue( flagConfig.defaultValue, )}`, ) diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsDefaults.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsDefaults.kt-template.js index 9707a32cb3b88f..1925b6c784c195 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsDefaults.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsDefaults.kt-template.js @@ -30,7 +30,7 @@ ${DO_NOT_MODIFY_COMMENT} package com.facebook.react.internal.featureflags -open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvider { +public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvider { // We could use JNI to get the defaults from C++, // but that is more expensive than just duplicating the defaults here. diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsLocalAccessor.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsLocalAccessor.kt-template.js index 8c87853ca00306..c1606e41e0b856 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsLocalAccessor.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsLocalAccessor.kt-template.js @@ -30,7 +30,7 @@ ${DO_NOT_MODIFY_COMMENT} package com.facebook.react.internal.featureflags -class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAccessor { +public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAccessor { private var currentProvider: ReactNativeFeatureFlagsProvider = ReactNativeFeatureFlagsDefaults() private val accessedFeatureFlags = mutableSetOf() diff --git a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsProvider.kt-template.js b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsProvider.kt-template.js index 558f86a5af3b3c..c66837bd72876c 100644 --- a/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsProvider.kt-template.js +++ b/packages/react-native/scripts/featureflags/templates/android/ReactNativeFeatureFlagsProvider.kt-template.js @@ -33,11 +33,11 @@ package com.facebook.react.internal.featureflags import com.facebook.proguard.annotations.DoNotStrip @DoNotStrip -interface ReactNativeFeatureFlagsProvider { +public interface ReactNativeFeatureFlagsProvider { ${Object.entries(definitions.common) .map( ([flagName, flagConfig]) => - ` @DoNotStrip fun ${flagName}(): ${getKotlinTypeFromDefaultValue( + ` @DoNotStrip public fun ${flagName}(): ${getKotlinTypeFromDefaultValue( flagConfig.defaultValue, )}`, ) diff --git a/packages/react-native/template/android/build.gradle b/packages/react-native/template/android/build.gradle index f8a523fff59cb3..f536a792016348 100644 --- a/packages/react-native/template/android/build.gradle +++ b/packages/react-native/template/android/build.gradle @@ -5,7 +5,7 @@ buildscript { compileSdkVersion = 34 targetSdkVersion = 34 ndkVersion = "26.1.10909125" - kotlinVersion = "1.8.0" + kotlinVersion = "1.9.22" } repositories { google()