From 59085be14159c61415e60b8a4329aeadec9276a9 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Wed, 15 Jan 2025 20:20:44 +0100 Subject: [PATCH 1/4] chore: Move `updateNative(...)` into a protected override to seal it --- .../src/syntax/kotlin/KotlinHybridObject.ts | 2 +- .../com/margelo/nitro/image/HybridBaseSpec.kt | 2 +- .../margelo/nitro/image/HybridChildSpec.kt | 2 +- .../nitro/image/HybridImageFactorySpec.kt | 2 +- .../margelo/nitro/image/HybridImageSpec.kt | 2 +- .../image/HybridTestObjectSwiftKotlinSpec.kt | 2 +- .../margelo/nitro/image/HybridTestViewSpec.kt | 2 +- .../com/margelo/nitro/core/HybridObject.kt | 5 ++-- .../nitro/utils/ExtendableHybridClass.kt | 29 ------------------- 9 files changed, 10 insertions(+), 38 deletions(-) delete mode 100644 packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/utils/ExtendableHybridClass.kt diff --git a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts index 0aa73999a..483335556 100644 --- a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts +++ b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts @@ -75,7 +75,7 @@ abstract class ${name.HybridTSpec}: ${kotlinBase}() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt index b34e1e6d0..510337660 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt @@ -37,7 +37,7 @@ abstract class HybridBaseSpec: HybridObject() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt index 1000a6129..a16df3729 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt @@ -37,7 +37,7 @@ abstract class HybridChildSpec: HybridBaseSpec() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt index 4af1ccc2d..fb70d60d5 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt @@ -37,7 +37,7 @@ abstract class HybridImageFactorySpec: HybridObject() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt index e0c7da442..c916c1157 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt @@ -37,7 +37,7 @@ abstract class HybridImageSpec: HybridObject() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt index 46f891484..efef5a9ad 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt @@ -37,7 +37,7 @@ abstract class HybridTestObjectSwiftKotlinSpec: HybridObject() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt index 65787c093..78e0f6ba7 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt @@ -38,7 +38,7 @@ abstract class HybridTestViewSpec: HybridView() { /** * Call from a child class to initialize HybridData with a child. */ - override fun updateNative(hybridData: HybridData) { + override protected fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt index a90518660..e78d97b32 100644 --- a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt +++ b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt @@ -9,7 +9,7 @@ import com.facebook.proguard.annotations.DoNotStrip */ @Keep @DoNotStrip -abstract class HybridObject: ExtendableHybridClass { +abstract class HybridObject { /** * Get the memory size of the Kotlin instance (plus any external heap allocations), * in bytes. @@ -41,8 +41,9 @@ abstract class HybridObject: ExtendableHybridClass { /** * Must be called in the constructor of a subclass of `HybridObject`, to initialize the C++ * `JHybridObject` with a subclass of it. + * If this is not called, an inheritance chain with overridden methods will be lost. */ - override fun updateNative(hybridData: HybridData) { + protected open fun updateNative(hybridData: HybridData) { mHybridData = hybridData } } diff --git a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/utils/ExtendableHybridClass.kt b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/utils/ExtendableHybridClass.kt deleted file mode 100644 index 1529558ea..000000000 --- a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/utils/ExtendableHybridClass.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.margelo.nitro.core - -import com.facebook.jni.HybridData - -/** - * Represents an fbjni Hybrid Class (aka a Java class with an accompanying C++ class) - * that supports inheritance. - * - * Each fbjni Hybrid Class initializes it's `mHybridData` using an `initHybrid()` method, - * which initializes the respective C++ class this was bound to. - - * Assuming we have Java class `B` which extends Java class `A`, and a C++ - * inheritance chain that reflects the Java inheritance chain (C++ class `B` which extends C++ class `A`), - * we would have two `initHybrid()` methods - one for `A` and one for `B`. - * - When you initialize an instance of `A`, it will initialize `A`'s C++ part. - * - When you initialize an instance of `B`, it will initialize `B`'s C++ part, as well as `A`'s C++ part, since - * the native `A.initHybrid()` method cannot be overridden in `B` - both have their own `initHybrid()` methods! - * - * To fix this issue, we have `ExtendableHybridClass`. In an extendable HybridClass, we initialize `mHybridData`, - * but we pass it upwards the inheritance chain after initializing self using `updateNative(mHybridData)`. - * This way the actual `mHybridData` instance is the lowest class in the chain - `B`. - */ -interface ExtendableHybridClass { - /** - * Update the `hybridData` (C++ part) this Hybrid Class is referencing. - * Call this with `hybridData` from a subclass to properly fill in the inheritance chain. - */ - fun updateNative(hybridData: HybridData) -} From 615916121cac0a555705450004beaaf981175bad Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Wed, 15 Jan 2025 20:30:30 +0100 Subject: [PATCH 2/4] chore: Adjust comments on updateNative --- .../nitrogen/src/syntax/kotlin/KotlinHybridObject.ts | 7 +------ .../kotlin/com/margelo/nitro/image/HybridBaseSpec.kt | 7 +------ .../kotlin/com/margelo/nitro/image/HybridChildSpec.kt | 7 +------ .../com/margelo/nitro/image/HybridImageFactorySpec.kt | 7 +------ .../kotlin/com/margelo/nitro/image/HybridImageSpec.kt | 7 +------ .../nitro/image/HybridTestObjectSwiftKotlinSpec.kt | 7 +------ .../kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt | 7 +------ .../src/main/java/com/margelo/nitro/core/HybridObject.kt | 9 ++++++--- 8 files changed, 13 insertions(+), 45 deletions(-) diff --git a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts index 483335556..020dd5274 100644 --- a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts +++ b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts @@ -67,15 +67,10 @@ abstract class ${name.HybridTSpec}: ${kotlinBase}() { private var mHybridData: HybridData = initHybrid() init { - // Pass this \`HybridData\` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt index 510337660..cbc3ea449 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt @@ -29,15 +29,10 @@ abstract class HybridBaseSpec: HybridObject() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt index a16df3729..98a13b6f5 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt @@ -29,15 +29,10 @@ abstract class HybridChildSpec: HybridBaseSpec() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt index fb70d60d5..4e4a825ba 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt @@ -29,15 +29,10 @@ abstract class HybridImageFactorySpec: HybridObject() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt index c916c1157..80f035fe7 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt @@ -29,15 +29,10 @@ abstract class HybridImageSpec: HybridObject() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt index efef5a9ad..e0cf02fc8 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt @@ -29,15 +29,10 @@ abstract class HybridTestObjectSwiftKotlinSpec: HybridObject() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt index 78e0f6ba7..1d0833e43 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt @@ -30,15 +30,10 @@ abstract class HybridTestViewSpec: HybridView() { private var mHybridData: HybridData = initHybrid() init { - // Pass this `HybridData` through to it's base class, - // to represent inheritance to JHybridObject on C++ side super.updateNative(mHybridData) } - /** - * Call from a child class to initialize HybridData with a child. - */ - override protected fun updateNative(hybridData: HybridData) { + override fun updateNative(hybridData: HybridData) { mHybridData = hybridData super.updateNative(hybridData) } diff --git a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt index e78d97b32..cfbd8ce28 100644 --- a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt +++ b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/core/HybridObject.kt @@ -39,9 +39,12 @@ abstract class HybridObject { private var mHybridData: HybridData? = null /** - * Must be called in the constructor of a subclass of `HybridObject`, to initialize the C++ - * `JHybridObject` with a subclass of it. - * If this is not called, an inheritance chain with overridden methods will be lost. + * If `HybridObject` is subclassed, the sub-class needs to create it's own `HybridData` + * with a C++ `jni::HybridClass` representing the subclass directly. + * Then, that `HybridData` must be passed upwards to `HybridObject` using `updateNative(..)`. + * + * This must happen for each sub/base class in the whole inheritance chain to ensure + * overrides and type-erasure works as expected. */ protected open fun updateNative(hybridData: HybridData) { mHybridData = hybridData From 33c20f92242bcccc7f9b3c974369eebb9f8eaaea Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Wed, 15 Jan 2025 20:31:27 +0100 Subject: [PATCH 3/4] fix: Remove HybridData in `HybridView` --- .../java/com/margelo/nitro/views/HybridView.kt | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/views/HybridView.kt b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/views/HybridView.kt index 0586f4cc7..bbc155207 100644 --- a/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/views/HybridView.kt +++ b/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/views/HybridView.kt @@ -20,19 +20,4 @@ abstract class HybridView: HybridObject() { @get:DoNotStrip @get:Keep abstract val view: View - - /** - * Holds the native C++ instance. - * In `HybridView`, the C++ instance is a sub-class of `JHybridView`, such as one of it's specs. - * This is `null`, until `updateNative(..)` is called. - */ - private var mHybridData: HybridData? = null - - /** - * Must be called in the constructor of a subclass of `HybridObject`, to initialize the C++ - * `JHybridObject` with a subclass of it. - */ - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - } } From c1eea5e20861c0bd8b164fcf4893fa68c586efc3 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Wed, 15 Jan 2025 20:32:42 +0100 Subject: [PATCH 4/4] remove unused import --- packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts | 1 - .../android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt | 1 - .../android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt | 1 - .../kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt | 1 - .../android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt | 1 - .../com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt | 1 - .../android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt | 1 - 7 files changed, 7 deletions(-) diff --git a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts index 020dd5274..c75f9dbe8 100644 --- a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts +++ b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts @@ -45,7 +45,6 @@ ${createFileMetadataString(`${name.HybridTSpec}.kt`)} package ${javaPackage} -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt index cbc3ea449..2947eafab 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridBaseSpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt index 98a13b6f5..4db5f9eb4 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridChildSpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt index 4e4a825ba..19e85d4c8 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageFactorySpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt index 80f035fe7..92c50f70a 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridImageSpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt index e0cf02fc8..8bd416dac 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestObjectSwiftKotlinSpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip diff --git a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt index 1d0833e43..f12350368 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt +++ b/packages/react-native-nitro-image/nitrogen/generated/android/kotlin/com/margelo/nitro/image/HybridTestViewSpec.kt @@ -7,7 +7,6 @@ package com.margelo.nitro.image -import android.util.Log import androidx.annotation.Keep import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip