Skip to content

Commit a8b075d

Browse files
committed
feat: Add if-guard to wrap registerNative calls
1 parent 322fba8 commit a8b075d

File tree

4 files changed

+15
-1
lines changed

4 files changed

+15
-1
lines changed

packages/nitrogen/src/autolinking/android/createHybridObjectInitializer.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,17 @@ export function createHybridObjectIntializer(): SourceFile[] {
1818
const autolinkingClassName = `${NitroConfig.getAndroidCxxLibName()}OnLoad`
1919

2020
const jniRegistrations = getJNINativeRegistrations()
21-
.map((r) => `${r.namespace}::${r.className}::registerNatives();`)
21+
.map((r) => {
22+
const code = `${r.namespace}::${r.className}::registerNatives();`
23+
if (r.ifGuard != null) {
24+
return `
25+
#if ${r.ifGuard}
26+
${code}
27+
#endif`.trim()
28+
} else {
29+
return code
30+
}
31+
})
2232
.filter(isNotDuplicate)
2333

2434
const autolinkedHybridObjects = NitroConfig.getAutolinkedHybridObjects()

packages/nitrogen/src/syntax/kotlin/JNINativeRegistrations.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export interface JNINativeRegistration {
44
namespace: string
55
className: string
66
import: SourceImport
7+
ifGuard?: string
78
}
89

910
const jniNativeRegistrations: JNINativeRegistration[] = []

packages/nitrogen/src/views/kotlin/KotlinHybridViewManager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ void J${stateUpdaterName}::updateViewProps(jni::alias_ref<jni::JClass>,
192192
space: 'user',
193193
language: 'c++',
194194
},
195+
ifGuard: `REACT_NATIVE_VERSION >= 78`,
195196
})
196197

197198
return [

packages/react-native-nitro-image/nitrogen/generated/android/NitroImageOnLoad.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ int initialize(JavaVM* vm) {
5959
margelo::nitro::image::JHybridBaseSpec::registerNatives();
6060
margelo::nitro::image::JHybridChildSpec::registerNatives();
6161
margelo::nitro::image::JHybridTestViewSpec::registerNatives();
62+
#if REACT_NATIVE_VERSION >= 78
6263
margelo::nitro::image::views::JHybridTestViewStateUpdater::registerNatives();
64+
#endif
6365

6466
// Register Nitro Hybrid Objects
6567
HybridObjectRegistry::registerHybridObjectConstructor(

0 commit comments

Comments
 (0)