react-native-acoustic-connect-beta 18.0.18 → 18.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/Examples/SampleUI/ios/Podfile +13 -0
  2. package/Examples/SampleUI/ios/Podfile.lock +2276 -0
  3. package/Examples/SampleUI/package.json +1 -1
  4. package/README.md +1 -1
  5. package/android/build.gradle +6 -11
  6. package/android/config.gradle +18 -1
  7. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  8. package/android/src/main/assets/TealeafAdvancedConfig.json +1 -1
  9. package/android/src/main/cpp/cpp-adapter.cpp +4 -1
  10. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +17 -16
  11. package/ios/HybridAcousticConnectRN.swift +34 -30
  12. package/nitrogen/generated/.gitattributes +1 -1
  13. package/nitrogen/generated/android/AcousticConnectRN+autolinking.cmake +10 -5
  14. package/nitrogen/generated/android/AcousticConnectRN+autolinking.gradle +1 -1
  15. package/nitrogen/generated/android/AcousticConnectRNOnLoad.cpp +27 -19
  16. package/nitrogen/generated/android/AcousticConnectRNOnLoad.hpp +14 -5
  17. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +70 -55
  18. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +28 -27
  19. package/nitrogen/generated/android/c++/JVariant_Boolean_String_Double.cpp +30 -0
  20. package/nitrogen/generated/android/c++/JVariant_Boolean_String_Double.hpp +83 -0
  21. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
  22. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/AcousticConnectRNOnLoad.kt +1 -1
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +27 -24
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/Variant_Boolean_String_Double.kt +75 -0
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/Variant_NullType_String.kt +62 -0
  27. package/nitrogen/generated/ios/AcousticConnectRN+autolinking.rb +4 -2
  28. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Bridge.cpp +7 -6
  29. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Bridge.hpp +86 -47
  30. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Umbrella.hpp +4 -2
  31. package/nitrogen/generated/ios/AcousticConnectRNAutolinking.mm +2 -2
  32. package/nitrogen/generated/ios/AcousticConnectRNAutolinking.swift +11 -10
  33. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.cpp +1 -1
  34. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +22 -10
  35. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +20 -13
  36. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +159 -63
  37. package/nitrogen/generated/ios/swift/Variant_Bool_String_Double.swift +32 -0
  38. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +30 -0
  39. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.cpp +1 -1
  40. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +10 -9
  41. package/package.json +5 -5
  42. package/scripts/ConnectConfig.json +1 -1
  43. package/scripts/gradleParser.js +5 -6
  44. package/scripts/postInstallScripts.sh +0 -1
  45. package/scripts/xmlparser.js +4 -5
  46. package/nitrogen/generated/android/c++/JVariant_String_Double_Boolean.hpp +0 -98
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/Variant_String_Double_Boolean.kt +0 -49
  48. package/nitrogen/generated/ios/swift/Variant_String_Double_Bool.swift +0 -17
  49. package/scripts/javaParser.js +0 -183
@@ -29,7 +29,7 @@
29
29
  "react-native-acoustic-connect-beta": "file:.yalc/react-native-acoustic-connect-beta",
30
30
  "react-native-gesture-handler": "~2.20.2",
31
31
  "react-native-get-random-values": "^1.11.0",
32
- "react-native-nitro-modules": "^0.25.2",
32
+ "react-native-nitro-modules": "^0.35.4",
33
33
  "react-native-paper": "^5.13.5",
34
34
  "react-native-reanimated": "~3.16.1",
35
35
  "react-native-safe-area-context": "4.12.0",
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Requirements
4
4
 
5
- - React Native v0.76.9 or higher using new architecture
5
+ - React Native v0.78.0 or higher using new architecture
6
6
  - Node 20.0.0 or higher
7
7
  - Does not support expo
8
8
 
@@ -153,20 +153,15 @@ allprojects {
153
153
  }
154
154
 
155
155
  dependencies {
156
- // For < 0.71, this will be from the local maven repo
157
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
156
+ // Provided by the host app at runtime compileOnly avoids version conflicts
158
157
  //noinspection GradleDynamicVersion
159
- implementation "com.facebook.react:react-native:+"
158
+ compileOnly "com.facebook.react:react-native:+"
160
159
 
161
- // Add a dependency on NitroModules
162
- implementation project(":react-native-nitro-modules")
160
+ // Provided by the host app via react-native-nitro-modules peer dependency
161
+ compileOnly project(":react-native-nitro-modules")
163
162
 
164
- // Connect SDK libraries
165
- implementation 'io.github.go-acoustic:connect:10.4.48'
166
- // implementation 'io.github.go-acoustic:connect:+'
167
- // Connect SDK libraries
168
- // api 'io.github.go-acoustic:connect:+'
169
- // api 'io.github.go-acoustic:connect:10.4.29'
163
+ // Connect SDK — version overridden by config.gradle based on ConnectConfig.json
164
+ implementation 'io.github.go-acoustic:connect:10.4.29'
170
165
  }
171
166
 
172
167
  if (isNewArchitectureEnabled()) {
@@ -257,6 +257,8 @@ def updateGradle(mp, json){
257
257
  def updatedBuildGradle = buildGradleFile.text
258
258
 
259
259
  if (json != null && json.Connect) {
260
+ def useRelease = json.Connect.useRelease ?: false
261
+
260
262
  if(json.Connect.AndroidVersion != null) {
261
263
  def connectSDK = "io.github.go-acoustic:connect:"
262
264
  if(json.Connect.AndroidVersion.length() > 0) {
@@ -264,7 +266,22 @@ def updateGradle(mp, json){
264
266
  } else {
265
267
  connectSDK += "+"
266
268
  }
267
- updatedBuildGradle = updatedBuildGradle.replaceAll(~/io.github.go-acoustic:connect:(\+|\d+.\d+.\d+)/, connectSDK)
269
+ updatedBuildGradle = updatedBuildGradle.replaceAll(~/io.github.go-acoustic:connect:(\+|\d+\.\d+\.\d+(-beta)?)/, connectSDK)
270
+ }
271
+
272
+ if (useRelease) {
273
+ project.configurations.all {
274
+ resolutionStrategy {
275
+ componentSelection {
276
+ all { selection ->
277
+ if (selection.candidate.group == 'io.github.go-acoustic' &&
278
+ selection.candidate.version.endsWith('-beta')) {
279
+ selection.reject("useRelease is true — rejecting beta version ${selection.candidate.version}")
280
+ }
281
+ }
282
+ }
283
+ }
284
+ }
268
285
  }
269
286
  }
270
287
 
@@ -24,7 +24,7 @@
24
24
  "IpPlaceholder": "N/A",
25
25
  "KillSwitchAsync": true,
26
26
  "KillSwitchDelay": 300,
27
- "LibraryVersion": "11.0.6-beta",
27
+ "LibraryVersion": "11.0.7-beta",
28
28
  "LogFullRequestResponsePayloads": true,
29
29
  "MessageTypeHeader": "WorklightHit",
30
30
  "MessageTypes": "4,5",
@@ -24,7 +24,7 @@
24
24
  "IpPlaceholder": "N/A",
25
25
  "KillSwitchAsync": true,
26
26
  "KillSwitchDelay": 300,
27
- "LibraryVersion": "10.4.25-beta",
27
+ "LibraryVersion": "10.4.26-beta",
28
28
  "LogFullRequestResponsePayloads": true,
29
29
  "MessageTypeHeader": "WorklightHit",
30
30
  "MessageTypes": "4,5",
@@ -1,6 +1,9 @@
1
1
  #include <jni.h>
2
2
  #include "AcousticConnectRNOnLoad.hpp"
3
+ #include <fbjni/fbjni.h>
3
4
 
4
5
  JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
5
- return margelo::nitro::acousticconnectrn::initialize(vm);
6
+ return facebook::jni::initialize(vm, []() {
7
+ margelo::nitro::acousticconnectrn::registerAllNatives();
8
+ });
6
9
  }
@@ -55,7 +55,8 @@ import com.ibm.eo.EOCore
55
55
  import com.ibm.eo.model.EOMonitoringLevel
56
56
  import com.margelo.nitro.NitroModules.Companion.applicationContext
57
57
  import com.margelo.nitro.acousticconnectrn.HybridAcousticConnectRNSpec
58
- import com.margelo.nitro.acousticconnectrn.Variant_String_Double_Boolean
58
+ import com.margelo.nitro.acousticconnectrn.Variant_Boolean_String_Double
59
+ import com.margelo.nitro.acousticconnectrn.Variant_NullType_String
59
60
  import com.tl.uic.Tealeaf
60
61
  import com.tl.uic.model.ScreenviewType
61
62
  import com.tl.uic.util.DialogUtil
@@ -142,7 +143,7 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
142
143
  */
143
144
  override fun setConfigItemForKey(
144
145
  key: String,
145
- value: Variant_String_Double_Boolean,
146
+ value: Variant_Boolean_String_Double,
146
147
  moduleName: String
147
148
  ): Boolean {
148
149
  val result = EOCore.updateConfig(key, value.toString(), EOCore.getLifecycleObject(moduleName))
@@ -177,12 +178,12 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
177
178
  * @param moduleName The class name of the module's EOLifecycleObject for which the configuration item is referencing.
178
179
  * @return String value if the operation was successful, null otherwise.
179
180
  */
180
- override fun getStringItemForKey(theDefault: String, key: String, moduleName: String): String? {
181
+ override fun getStringItemForKey(theDefault: String, key: String, moduleName: String): Variant_NullType_String? {
181
182
  var result = EOCore.getConfigItemString(key, EOCore.getLifecycleObject(moduleName))
182
183
  if (TextUtils.isEmpty(result)) {
183
184
  result = theDefault
184
185
  }
185
- return result
186
+ return if (result != null) Variant_NullType_String.create(result) else null
186
187
  }
187
188
 
188
189
  /**
@@ -211,7 +212,7 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
211
212
  */
212
213
  override fun logCustomEvent(
213
214
  eventName: String,
214
- values: Map<String, Variant_String_Double_Boolean>,
215
+ values: Map<String, Variant_Boolean_String_Double>,
215
216
  level: Double
216
217
  ): Boolean {
217
218
  val result = Connect.logCustomEvent(eventName, convertToMap(values), level.toInt())
@@ -226,7 +227,7 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
226
227
  * @return True if the operation was successful, false otherwise.
227
228
  */
228
229
  override fun logSignal(
229
- values: Map<String, Variant_String_Double_Boolean>,
230
+ values: Map<String, Variant_Boolean_String_Double>,
230
231
  level: Double
231
232
  ): Boolean {
232
233
  val result = Connect.logSignal(convertToMapAny(values), level.toInt())
@@ -354,7 +355,7 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
354
355
  * @param text The input string.
355
356
  * @return True if the operation was successful, false otherwise.
356
357
  */
357
- override fun logTextChangeEvent(target: Double, controlId: String, text: String?): Boolean {
358
+ override fun logTextChangeEvent(target: Double, controlId: String, text: Variant_NullType_String?): Boolean {
358
359
  var result = false
359
360
  try {
360
361
  val context: ReactApplicationContext = reactContext
@@ -400,8 +401,8 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
400
401
  * @param referrer The referrer for the screen view.
401
402
  * @return True if the operation was successful, false otherwise.
402
403
  */
403
- override fun logScreenViewContextLoad(logicalPageName: String?, referrer: String?): Boolean {
404
- val result = logScreenview(getCurrentActivity()!!, logicalPageName.toString(), ScreenviewType.LOAD, referrer);
404
+ override fun logScreenViewContextLoad(logicalPageName: Variant_NullType_String?, referrer: Variant_NullType_String?): Boolean {
405
+ val result = logScreenview(getCurrentActivity()!!, logicalPageName?.asSecondOrNull().toString(), ScreenviewType.LOAD, referrer?.asSecondOrNull());
405
406
  return result
406
407
  }
407
408
 
@@ -412,8 +413,8 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
412
413
  * @param referrer The referrer for the screen view.
413
414
  * @return True if the operation was successful, false otherwise.
414
415
  */
415
- override fun logScreenViewContextUnload(logicalPageName: String?, referrer: String?): Boolean {
416
- val result = logScreenview(getCurrentActivity()!!, logicalPageName.toString(), ScreenviewType.UNLOAD, referrer);
416
+ override fun logScreenViewContextUnload(logicalPageName: Variant_NullType_String?, referrer: Variant_NullType_String?): Boolean {
417
+ val result = logScreenview(getCurrentActivity()!!, logicalPageName?.asSecondOrNull().toString(), ScreenviewType.UNLOAD, referrer?.asSecondOrNull());
417
418
  return result
418
419
  }
419
420
 
@@ -698,7 +699,7 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
698
699
  override fun logDialogCustomEvent(
699
700
  dialogId: String,
700
701
  eventName: String,
701
- values: Map<String, Variant_String_Double_Boolean>
702
+ values: Map<String, Variant_Boolean_String_Double>
702
703
  ): Boolean {
703
704
  var result = false
704
705
  try {
@@ -726,12 +727,12 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
726
727
  }
727
728
 
728
729
  /**
729
- * Converts a map of Variant_String_Double_Boolean to a HashMap<String?, String?>.
730
+ * Converts a map of Variant_Boolean_String_Double to a HashMap<String?, String?>.
730
731
  *
731
732
  * @param values The map to be converted.
732
733
  * @return A HashMap<String?, String?> representation of the input map which library can use.
733
734
  */
734
- private fun convertToMap(values: Map<String, Variant_String_Double_Boolean>): HashMap<String?, String?> {
735
+ private fun convertToMap(values: Map<String, Variant_Boolean_String_Double>): HashMap<String?, String?> {
735
736
  val map = HashMap<String?, String?>()
736
737
  for (key in values.keys) {
737
738
  val value = values[key]
@@ -743,12 +744,12 @@ class HybridAcousticConnectRN(private val reactContext: ReactApplicationContext)
743
744
  }
744
745
 
745
746
  /**
746
- * Converts a map of Variant_String_Double_Boolean to a HashMap<String?, String?>.
747
+ * Converts a map of Variant_Boolean_String_Double to a HashMap<String?, String?>.
747
748
  *
748
749
  * @param values The map to be converted.
749
750
  * @return A HashMap<String?, String?> representation of the input map which library can use.
750
751
  */
751
- private fun convertToMapAny(values: Map<String, Variant_String_Double_Boolean>): java.util.HashMap<String?, Any?>? {
752
+ private fun convertToMapAny(values: Map<String, Variant_Boolean_String_Double>): java.util.HashMap<String?, Any?>? {
752
753
  val map = HashMap<String?, Any?>()
753
754
  for (key in values.keys) {
754
755
  val value = values[key]
@@ -149,7 +149,7 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
149
149
  /// - value: Value to use.
150
150
  /// - moduleName: The name of the module to be updated. For EOCore settings, please use 'EOCore' which can be found the following files EOCoreBasicConfig.plist, EOCoreBasicConfig.properties or EOCoreAdvancedConfig.json and 'Connect' for Connect which can be found the following files ConnectBasicConfig.plist, ConnectBasicConfig.properties or ConnectAdvancedConfig.json.
151
151
  /// - Returns: Whether it was able to set the value.
152
- func setConfigItemForKey(key: String, value: Variant_String_Double_Bool, moduleName: String) throws -> Bool {
152
+ func setConfigItemForKey(key: String, value: Variant_Bool_String_Double, moduleName: String) throws -> Bool {
153
153
  var result = EOApplicationHelper().setConfigItem(key, value: convertVariantToAny(value), forModuleName: moduleName)
154
154
  return true
155
155
  }
@@ -171,9 +171,9 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
171
171
  /// - theDefault: Default value if not found.
172
172
  /// - moduleName: The name of the module to be updated. For EOCore settings, please use 'EOCore' which can be found the following files EOCoreBasicConfig.plist, EOCoreBasicConfig.properties or EOCoreAdvancedConfig.json and 'Connect' for Connect which can be found the following files ConnectBasicConfig.plist, ConnectBasicConfig.properties or ConnectAdvancedConfig.json.
173
173
  /// - Returns: The value of the configuration item key as a NString value.
174
- func getStringItemForKey(theDefault: String, key: String, moduleName: String) throws -> String? {
175
- var result = EOApplicationHelper().getStringItem(forKey: key, withDefault: theDefault, forModuleName: moduleName)
176
- return result
174
+ func getStringItemForKey(theDefault: String, key: String, moduleName: String) throws -> Variant_NullType_String? {
175
+ let result = EOApplicationHelper().getStringItem(forKey: key, withDefault: theDefault, forModuleName: moduleName)
176
+ return result.map { .second($0) }
177
177
  }
178
178
 
179
179
  /// Gets the module's configuration item from AdvancedConfig.json or BasicConfig.plist that matches the specified key as a NSNumber value.
@@ -193,7 +193,7 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
193
193
  /// - values: additional key value pairs to be logged with the message.
194
194
  /// - level: set a custom log level to the event.
195
195
  /// - Returns: Boolean value will return whether it was able to log the custom event.
196
- func logCustomEvent(eventName: String, values: Dictionary<String, Variant_String_Double_Bool>, level: Double) throws -> Bool {
196
+ func logCustomEvent(eventName: String, values: Dictionary<String, Variant_Bool_String_Double>, level: Double) throws -> Bool {
197
197
  let logLevel = try getLogLevel(level: level)
198
198
  let result = ConnectCustomEvent().logEvent(eventName, values: convertToAnyDictionary(input: values), level: logLevel)
199
199
  return result
@@ -204,7 +204,7 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
204
204
  /// - values: additional key value pairs to be logged with the signal message.
205
205
  /// - level: set a custom log level to the event.
206
206
  /// - Returns: Boolean value will return whether it was able to log the signal message.
207
- func logSignal(values: Dictionary<String, Variant_String_Double_Bool>, level: Double) throws -> Bool {
207
+ func logSignal(values: Dictionary<String, Variant_Bool_String_Double>, level: Double) throws -> Bool {
208
208
  let logLevel = try getLogLevel(level: level)
209
209
  let result = ConnectCustomEvent().logSignal(convertToAnyDictionary(input: values), level: logLevel)
210
210
  return result
@@ -265,12 +265,12 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
265
265
  /// - controlId: Control id a component from React Native.
266
266
  /// - text: The input string from txt control.
267
267
  /// - Returns: Boolean value will return whether it was able to log the text change event.
268
- func logTextChangeEvent(target: Double, controlId: String, text: String?) throws -> Bool {
268
+ func logTextChangeEvent(target: Double, controlId: String, text: Variant_NullType_String?) throws -> Bool {
269
269
  let view:UIView? = nil
270
270
  var data: [String: Any] = [:]
271
-
272
- if let unwrappedText = text {
273
- data["text"] = unwrappedText
271
+
272
+ if case .second(let str) = text {
273
+ data["text"] = str
274
274
  }
275
275
  let result = ConnectCustomEvent().logTextChange(view, controlId: controlId, data: data)
276
276
  return result
@@ -289,9 +289,11 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
289
289
  /// - logicalPageName: Page name or title e.g. "Login View Controller"; Must not be empty.
290
290
  /// - referrer: Page name or title that loads logicalPageName. Could be empty.
291
291
  /// - Returns: Boolean value will return whether it was able to log the screenview event.
292
- func logScreenViewContextLoad(logicalPageName: String?, referrer: String?) throws -> Bool {
293
- let cllasss = logicalPageName == nil ? "ReactNative" : "ReactNative_\(logicalPageName)"
294
- let result = ConnectCustomEvent().logScreenViewContext(logicalPageName, withClass: cllasss, applicationContext: ConnectScreenViewType.load, referrer: referrer)
292
+ func logScreenViewContextLoad(logicalPageName: Variant_NullType_String?, referrer: Variant_NullType_String?) throws -> Bool {
293
+ let pageName: String? = { if case .second(let s) = logicalPageName { return s }; return nil }()
294
+ let ref: String? = { if case .second(let s) = referrer { return s }; return nil }()
295
+ let cllasss = pageName == nil ? "ReactNative" : "ReactNative_\(pageName!)"
296
+ let result = ConnectCustomEvent().logScreenViewContext(pageName, withClass: cllasss, applicationContext: ConnectScreenViewType.load, referrer: ref)
295
297
  return result
296
298
  }
297
299
 
@@ -300,9 +302,11 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
300
302
  /// - logicalPageName: Page name or title e.g. "Login View Controller"; Must not be empty.
301
303
  /// - referrer: Page name or title that loads logicalPageName. Could be empty.
302
304
  /// - Returns: Boolean value will return whether it was able to log the screenview event.
303
- func logScreenViewContextUnload(logicalPageName: String?, referrer: String?) throws -> Bool {
304
- let cllasss = logicalPageName == nil ? "ReactNative" : "ReactNative_\(logicalPageName)"
305
- let result = ConnectCustomEvent().logScreenViewContext(logicalPageName, withClass: cllasss, applicationContext: ConnectScreenViewType.unload, referrer: referrer)
305
+ func logScreenViewContextUnload(logicalPageName: Variant_NullType_String?, referrer: Variant_NullType_String?) throws -> Bool {
306
+ let pageName: String? = { if case .second(let s) = logicalPageName { return s }; return nil }()
307
+ let ref: String? = { if case .second(let s) = referrer { return s }; return nil }()
308
+ let cllasss = pageName == nil ? "ReactNative" : "ReactNative_\(pageName!)"
309
+ let result = ConnectCustomEvent().logScreenViewContext(pageName, withClass: cllasss, applicationContext: ConnectScreenViewType.unload, referrer: ref)
306
310
  return result
307
311
  }
308
312
 
@@ -382,7 +386,7 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
382
386
  /// - eventName: The name of the custom event.
383
387
  /// - values: A map of values associated with the event.
384
388
  /// - Returns: Boolean value will return whether it was able to log the dialog custom event.
385
- func logDialogCustomEvent(dialogId: String, eventName: String, values: Dictionary<String, Variant_String_Double_Bool>) throws -> Bool {
389
+ func logDialogCustomEvent(dialogId: String, eventName: String, values: Dictionary<String, Variant_Bool_String_Double>) throws -> Bool {
386
390
  var eventValues: [String: Any] = [
387
391
  "dialogId": dialogId,
388
392
  "customEventName": eventName,
@@ -406,31 +410,31 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
406
410
  return moduleName
407
411
  }
408
412
 
409
- func convertToAnyDictionary(input: [String: Variant_String_Double_Bool]) -> [String: Any] {
413
+ func convertToAnyDictionary(input: [String: Variant_Bool_String_Double]) -> [String: Any] {
410
414
  var result: [String: Any] = [:]
411
-
415
+
412
416
  for (key, value) in input {
413
417
  switch value {
414
- case .first(let stringValue):
418
+ case .first(let boolValue):
419
+ result[key] = boolValue
420
+ case .second(let stringValue):
415
421
  result[key] = stringValue
416
- case .second(let doubleValue):
422
+ case .third(let doubleValue):
417
423
  result[key] = doubleValue
418
- case .third(let boolValue):
419
- result[key] = boolValue
420
424
  }
421
425
  }
422
-
426
+
423
427
  return result
424
428
  }
425
-
426
- func convertVariantToAny(_ variant: Variant_String_Double_Bool) -> Any {
429
+
430
+ func convertVariantToAny(_ variant: Variant_Bool_String_Double) -> Any {
427
431
  switch variant {
428
- case .first(let stringValue):
432
+ case .first(let boolValue):
433
+ return boolValue
434
+ case .second(let stringValue):
429
435
  return stringValue
430
- case .second(let doubleValue):
436
+ case .third(let doubleValue):
431
437
  return doubleValue
432
- case .third(let boolValue):
433
- return boolValue
434
438
  }
435
439
  }
436
440
 
@@ -1 +1 @@
1
- * linguist-generated
1
+ ** linguist-generated=true
@@ -2,7 +2,7 @@
2
2
  # AcousticConnectRN+autolinking.cmake
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2026 Marc Rousavy @ Margelo
5
+ # Copyright © Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a CMake file that adds all files generated by Nitrogen
@@ -13,6 +13,12 @@
13
13
  # include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/AcousticConnectRN+autolinking.cmake)
14
14
  # ```
15
15
 
16
+ # Define a flag to check if we are building properly
17
+ add_definitions(-DBUILDING_ACOUSTICCONNECTRN_WITH_GENERATED_CMAKE_PROJECT)
18
+
19
+ # Enable Raw Props parsing in react-native (for Nitro Views)
20
+ add_definitions(-DRN_SERIALIZABLE_STATE)
21
+
16
22
  # Add all headers that were generated by Nitrogen
17
23
  include_directories(
18
24
  "../nitrogen/generated/shared/c++"
@@ -30,14 +36,13 @@ target_sources(
30
36
  ../nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.cpp
31
37
  # Android-specific Nitrogen C++ sources
32
38
  ../nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp
39
+ ../nitrogen/generated/android/c++/JVariant_NullType_String.cpp
40
+ ../nitrogen/generated/android/c++/JVariant_Boolean_String_Double.cpp
33
41
  )
34
42
 
35
- # Define a flag to check if we are building properly
36
- add_definitions(-DBUILDING_ACOUSTICCONNECTRN_WITH_GENERATED_CMAKE_PROJECT)
37
-
38
43
  # From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
39
44
  # Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
40
- target_compile_definitions(
45
+ target_compile_definitions(
41
46
  AcousticConnectRN PRIVATE
42
47
  -DFOLLY_NO_CONFIG=1
43
48
  -DFOLLY_HAVE_CLOCK_GETTIME=1
@@ -2,7 +2,7 @@
2
2
  /// AcousticConnectRN+autolinking.gradle
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  /// This is a Gradle file that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// AcousticConnectRNOnLoad.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #ifndef BUILDING_ACOUSTICCONNECTRN_WITH_GENERATED_CMAKE_PROJECT
@@ -16,31 +16,39 @@
16
16
  #include <NitroModules/HybridObjectRegistry.hpp>
17
17
 
18
18
  #include "JHybridAcousticConnectRNSpec.hpp"
19
- #include <NitroModules/JNISharedPtr.hpp>
20
19
  #include <NitroModules/DefaultConstructableObject.hpp>
21
20
 
22
21
  namespace margelo::nitro::acousticconnectrn {
23
22
 
24
23
  int initialize(JavaVM* vm) {
24
+ return facebook::jni::initialize(vm, []() {
25
+ ::margelo::nitro::acousticconnectrn::registerAllNatives();
26
+ });
27
+ }
28
+
29
+ struct JHybridAcousticConnectRNSpecImpl: public jni::JavaClass<JHybridAcousticConnectRNSpecImpl, JHybridAcousticConnectRNSpec::JavaPart> {
30
+ static constexpr auto kJavaDescriptor = "Lcom/acousticconnectrn/HybridAcousticConnectRN;";
31
+ static std::shared_ptr<JHybridAcousticConnectRNSpec> create() {
32
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridAcousticConnectRNSpecImpl::javaobject()>();
33
+ jni::local_ref<JHybridAcousticConnectRNSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
34
+ return javaPart->getJHybridAcousticConnectRNSpec();
35
+ }
36
+ };
37
+
38
+ void registerAllNatives() {
25
39
  using namespace margelo::nitro;
26
40
  using namespace margelo::nitro::acousticconnectrn;
27
- using namespace facebook;
28
-
29
- return facebook::jni::initialize(vm, [] {
30
- // Register native JNI methods
31
- margelo::nitro::acousticconnectrn::JHybridAcousticConnectRNSpec::registerNatives();
32
-
33
- // Register Nitro Hybrid Objects
34
- HybridObjectRegistry::registerHybridObjectConstructor(
35
- "AcousticConnectRN",
36
- []() -> std::shared_ptr<HybridObject> {
37
- static DefaultConstructableObject<JHybridAcousticConnectRNSpec::javaobject> object("com/acousticconnectrn/HybridAcousticConnectRN");
38
- auto instance = object.create();
39
- auto globalRef = jni::make_global(instance);
40
- return JNISharedPtr::make_shared_from_jni<JHybridAcousticConnectRNSpec>(globalRef);
41
- }
42
- );
43
- });
41
+
42
+ // Register native JNI methods
43
+ margelo::nitro::acousticconnectrn::JHybridAcousticConnectRNSpec::CxxPart::registerNatives();
44
+
45
+ // Register Nitro Hybrid Objects
46
+ HybridObjectRegistry::registerHybridObjectConstructor(
47
+ "AcousticConnectRN",
48
+ []() -> std::shared_ptr<HybridObject> {
49
+ return JHybridAcousticConnectRNSpecImpl::create();
50
+ }
51
+ );
44
52
  }
45
53
 
46
54
  } // namespace margelo::nitro::acousticconnectrn
@@ -2,24 +2,33 @@
2
2
  /// AcousticConnectRNOnLoad.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include <jni.h>
9
+ #include <functional>
9
10
  #include <NitroModules/NitroDefines.hpp>
10
11
 
11
12
  namespace margelo::nitro::acousticconnectrn {
12
13
 
14
+ [[deprecated("Use registerNatives() instead.")]]
15
+ int initialize(JavaVM* vm);
16
+
13
17
  /**
14
- * Initializes the native (C++) part of AcousticConnectRN, and autolinks all Hybrid Objects.
15
- * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
18
+ * Register the native (C++) part of AcousticConnectRN, and autolinks all Hybrid Objects.
19
+ * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`),
20
+ * inside a `facebook::jni::initialize(vm, ...)` call.
16
21
  * Example:
17
22
  * ```cpp (cpp-adapter.cpp)
18
23
  * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
19
- * return margelo::nitro::acousticconnectrn::initialize(vm);
24
+ * return facebook::jni::initialize(vm, []() {
25
+ * // register all AcousticConnectRN HybridObjects
26
+ * margelo::nitro::acousticconnectrn::registerNatives();
27
+ * // any other custom registrations go here.
28
+ * });
20
29
  * }
21
30
  * ```
22
31
  */
23
- int initialize(JavaVM* vm);
32
+ void registerAllNatives();
24
33
 
25
34
  } // namespace margelo::nitro::acousticconnectrn