@iternio/react-native-auto-play 0.3.5 → 0.3.7

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 (158) hide show
  1. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoScreen.kt +8 -4
  2. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoSession.kt +4 -2
  3. package/nitro.json +77 -20
  4. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +194 -124
  5. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.hpp +13 -4
  6. package/nitrogen/generated/android/c++/JActiveCarUxRestrictions.hpp +1 -1
  7. package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +1 -1
  8. package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +1 -1
  9. package/nitrogen/generated/android/c++/JAppFocusState.hpp +1 -1
  10. package/nitrogen/generated/android/c++/JAssetImage.hpp +1 -1
  11. package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
  12. package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +1 -1
  13. package/nitrogen/generated/android/c++/JCarUxRestrictions.hpp +1 -1
  14. package/nitrogen/generated/android/c++/JClusterEventName.hpp +1 -1
  15. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  16. package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
  17. package/nitrogen/generated/android/c++/JDistanceUnits.hpp +1 -1
  18. package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
  19. package/nitrogen/generated/android/c++/JEventName.hpp +1 -1
  20. package/nitrogen/generated/android/c++/JForkType.hpp +1 -1
  21. package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
  22. package/nitrogen/generated/android/c++/JFunc_void_ActiveCarUxRestrictions.hpp +2 -2
  23. package/nitrogen/generated/android/c++/JFunc_void_AlertDismissalReason.hpp +2 -2
  24. package/nitrogen/generated/android/c++/JFunc_void_AppFocusState.hpp +2 -2
  25. package/nitrogen/generated/android/c++/JFunc_void_ColorScheme.hpp +2 -2
  26. package/nitrogen/generated/android/c++/JFunc_void_Point.hpp +2 -2
  27. package/nitrogen/generated/android/c++/JFunc_void_Point_double.hpp +2 -2
  28. package/nitrogen/generated/android/c++/JFunc_void_Point_std__optional_Point_.hpp +2 -2
  29. package/nitrogen/generated/android/c++/JFunc_void_SafeAreaInsets.hpp +2 -2
  30. package/nitrogen/generated/android/c++/JFunc_void_VisibilityState.hpp +2 -2
  31. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +2 -2
  32. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Location__std__optional_std__string_.hpp +2 -2
  33. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry_.hpp +2 -2
  34. package/nitrogen/generated/android/c++/JFunc_void_std__optional_bool_.hpp +2 -2
  35. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount_.hpp +2 -2
  36. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +2 -2
  37. package/nitrogen/generated/android/c++/JFunc_void_std__string_ColorScheme.hpp +2 -2
  38. package/nitrogen/generated/android/c++/JFunc_void_std__string_ZoomEvent.hpp +2 -2
  39. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool.hpp +2 -2
  40. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +2 -2
  41. package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
  42. package/nitrogen/generated/android/c++/JGoogleSignIn.hpp +1 -1
  43. package/nitrogen/generated/android/c++/JGoogleSignInAccount.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
  45. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.cpp +20 -26
  46. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.hpp +19 -22
  47. package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.cpp +23 -29
  48. package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.hpp +19 -22
  49. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +29 -35
  50. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +19 -22
  51. package/nitrogen/generated/android/c++/JHybridClusterSpec.cpp +25 -31
  52. package/nitrogen/generated/android/c++/JHybridClusterSpec.hpp +19 -22
  53. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +20 -26
  54. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +19 -22
  55. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +20 -26
  56. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +19 -22
  57. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +20 -26
  58. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +19 -22
  59. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +30 -36
  60. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +19 -22
  61. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +19 -25
  62. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.hpp +19 -22
  63. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +20 -26
  64. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +19 -22
  65. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp +20 -26
  66. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.hpp +19 -22
  67. package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
  68. package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
  69. package/nitrogen/generated/android/c++/JInputSignIn.hpp +1 -1
  70. package/nitrogen/generated/android/c++/JKeepType.hpp +1 -1
  71. package/nitrogen/generated/android/c++/JKeyboardType.hpp +1 -1
  72. package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
  73. package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
  74. package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
  75. package/nitrogen/generated/android/c++/JManeuverType.hpp +1 -1
  76. package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
  77. package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
  78. package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
  79. package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
  80. package/nitrogen/generated/android/c++/JNitroActionType.hpp +1 -1
  81. package/nitrogen/generated/android/c++/JNitroAlignment.hpp +1 -1
  82. package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
  83. package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
  84. package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
  85. package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +1 -1
  86. package/nitrogen/generated/android/c++/JNitroColor.hpp +1 -1
  87. package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
  88. package/nitrogen/generated/android/c++/JNitroImage.hpp +3 -3
  89. package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
  90. package/nitrogen/generated/android/c++/JNitroManeuver.hpp +4 -4
  91. package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
  92. package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +1 -1
  93. package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
  94. package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
  95. package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +1 -1
  96. package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
  97. package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
  98. package/nitrogen/generated/android/c++/JNitroSectionType.hpp +1 -1
  99. package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
  100. package/nitrogen/generated/android/c++/JOffRampType.hpp +1 -1
  101. package/nitrogen/generated/android/c++/JOnRampType.hpp +1 -1
  102. package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +1 -1
  103. package/nitrogen/generated/android/c++/JPinSignIn.hpp +1 -1
  104. package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
  105. package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
  106. package/nitrogen/generated/android/c++/JQrSignIn.hpp +1 -1
  107. package/nitrogen/generated/android/c++/JRouteChoice.hpp +1 -1
  108. package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
  109. package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
  110. package/nitrogen/generated/android/c++/JSignInMethods.hpp +1 -1
  111. package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +1 -1
  112. package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
  113. package/nitrogen/generated/android/c++/JTelemetry.hpp +1 -1
  114. package/nitrogen/generated/android/c++/JTextInputType.hpp +1 -1
  115. package/nitrogen/generated/android/c++/JTrafficSide.hpp +1 -1
  116. package/nitrogen/generated/android/c++/JTravelEstimates.hpp +1 -1
  117. package/nitrogen/generated/android/c++/JTripConfig.hpp +1 -1
  118. package/nitrogen/generated/android/c++/JTripPoint.hpp +1 -1
  119. package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
  120. package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
  121. package/nitrogen/generated/android/c++/JTripsConfig.hpp +1 -1
  122. package/nitrogen/generated/android/c++/JTurnType.hpp +1 -1
  123. package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.hpp +3 -3
  124. package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.hpp +3 -3
  125. package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.hpp +5 -5
  126. package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
  127. package/nitrogen/generated/android/c++/JVisibilityState.hpp +1 -1
  128. package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +1 -1
  129. package/nitrogen/generated/android/c++/JZoomEvent.hpp +1 -1
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +15 -18
  131. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotiveSpec.kt +15 -18
  132. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +15 -18
  133. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +15 -18
  134. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +15 -18
  135. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +15 -18
  136. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +15 -18
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +15 -18
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +14 -17
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +15 -18
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +15 -18
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroImage.kt +0 -6
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +0 -7
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_GlyphImage_AssetImage.kt +0 -6
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_PreferredImageLane_ImageLane.kt +0 -6
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.kt +0 -8
  146. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +36 -36
  147. package/nitrogen/generated/ios/swift/AutoText.swift +8 -1
  148. package/nitrogen/generated/ios/swift/GlyphImage.swift +8 -1
  149. package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +8 -1
  150. package/nitrogen/generated/ios/swift/InformationTemplateConfig.swift +8 -1
  151. package/nitrogen/generated/ios/swift/ListTemplateConfig.swift +8 -1
  152. package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +16 -2
  153. package/nitrogen/generated/ios/swift/MessageTemplateConfig.swift +8 -1
  154. package/nitrogen/generated/ios/swift/NitroAction.swift +8 -1
  155. package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +8 -1
  156. package/nitrogen/generated/ios/swift/NitroRoutingManeuver.swift +16 -2
  157. package/nitrogen/generated/ios/swift/SearchTemplateConfig.swift +8 -1
  158. package/package.json +2 -2
@@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle
9
9
  import androidx.lifecycle.LifecycleEventObserver
10
10
  import androidx.lifecycle.LifecycleOwner
11
11
  import com.facebook.react.bridge.UiThreadUtil
12
+ import java.util.concurrent.ConcurrentHashMap
12
13
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.template.AndroidAutoTemplate
13
14
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.template.GridTemplate
14
15
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.template.InformationTemplate
@@ -117,15 +118,18 @@ class AndroidAutoScreen(
117
118
  companion object {
118
119
  const val TAG = "AndroidAutoScreen"
119
120
 
120
- private val screens = mutableMapOf<String, AndroidAutoScreen>()
121
+ private val screens = ConcurrentHashMap<String, AndroidAutoScreen>()
121
122
 
122
123
  fun getScreen(marker: String): AndroidAutoScreen? {
123
124
  return screens[marker]
124
125
  }
125
126
 
126
127
  fun getScreenManager(): ScreenManager? {
127
- return screens[AndroidAutoSession.ROOT_SESSION]?.screenManager
128
- }
128
+ val clusterSessions = AndroidAutoSession.getClusterSessions().toSet()
129
+ return screens.entries
130
+ .firstOrNull { !clusterSessions.contains(it.key) }
131
+ ?.value?.screenManager
132
+ }
129
133
 
130
134
  fun invalidateScreens() {
131
135
  for (screen in screens) {
@@ -143,4 +147,4 @@ class AndroidAutoScreen(
143
147
  }
144
148
  }
145
149
  }
146
- }
150
+ }
@@ -23,6 +23,8 @@ import kotlinx.coroutines.CoroutineScope
23
23
  import kotlinx.coroutines.Dispatchers
24
24
  import kotlinx.coroutines.launch
25
25
  import java.util.UUID
26
+ import java.util.concurrent.ConcurrentHashMap
27
+ import java.util.concurrent.CopyOnWriteArrayList
26
28
 
27
29
  class AndroidAutoSession(sessionInfo: SessionInfo, private val reactApplication: ReactApplication) :
28
30
  Session() {
@@ -246,9 +248,9 @@ class AndroidAutoSession(sessionInfo: SessionInfo, private val reactApplication:
246
248
  const val ROOT_SESSION = "AutoPlayRoot"
247
249
 
248
250
  private lateinit var reactContext: ReactContext
249
- private val sessions = mutableMapOf<String, ScreenContext>()
251
+ private val sessions = ConcurrentHashMap<String, ScreenContext>()
250
252
 
251
- private val clusterSessions = mutableListOf<String>()
253
+ private val clusterSessions = CopyOnWriteArrayList<String>()
252
254
 
253
255
  fun getIsConnected(): Boolean {
254
256
  return sessions.containsKey(ROOT_SESSION)
package/nitro.json CHANGED
@@ -10,48 +10,105 @@
10
10
  },
11
11
  "autolinking": {
12
12
  "AutoPlay": {
13
- "kotlin": "HybridAutoPlay",
14
- "swift": "HybridAutoPlay"
13
+ "android": {
14
+ "implementationClassName": "HybridAutoPlay",
15
+ "language": "kotlin"
16
+ },
17
+ "ios": {
18
+ "implementationClassName": "HybridAutoPlay",
19
+ "language": "swift"
20
+ }
15
21
  },
16
22
  "AndroidAutoTelemetry": {
17
- "kotlin": "HybridAndroidAutoTelemetry"
23
+ "android": {
24
+ "implementationClassName": "HybridAndroidAutoTelemetry",
25
+ "language": "kotlin"
26
+ }
18
27
  },
19
28
  "AndroidAutomotive": {
20
- "kotlin": "HybridAndroidAutomotive"
29
+ "android": {
30
+ "implementationClassName": "HybridAndroidAutomotive",
31
+ "language": "kotlin"
32
+ }
21
33
  },
22
34
  "SignInTemplate": {
23
- "kotlin": "HybridSignInTemplate"
35
+ "android": {
36
+ "implementationClassName": "HybridSignInTemplate",
37
+ "language": "kotlin"
38
+ }
24
39
  },
25
40
  "ListTemplate": {
26
- "kotlin": "HybridListTemplate",
27
- "swift": "HybridListTemplate"
41
+ "android": {
42
+ "implementationClassName": "HybridListTemplate",
43
+ "language": "kotlin"
44
+ },
45
+ "ios": {
46
+ "implementationClassName": "HybridListTemplate",
47
+ "language": "swift"
48
+ }
28
49
  },
29
50
  "InformationTemplate": {
30
- "kotlin": "HybridInformationTemplate",
31
- "swift": "HybridInformationTemplate"
51
+ "android": {
52
+ "implementationClassName": "HybridInformationTemplate",
53
+ "language": "kotlin"
54
+ },
55
+ "ios": {
56
+ "implementationClassName": "HybridInformationTemplate",
57
+ "language": "swift"
58
+ }
32
59
  },
33
60
  "GridTemplate": {
34
- "kotlin": "HybridGridTemplate",
35
- "swift": "HybridGridTemplate"
61
+ "android": {
62
+ "implementationClassName": "HybridGridTemplate",
63
+ "language": "kotlin"
64
+ },
65
+ "ios": {
66
+ "implementationClassName": "HybridGridTemplate",
67
+ "language": "swift"
68
+ }
36
69
  },
37
70
  "MapTemplate": {
38
- "kotlin": "HybridMapTemplate",
39
- "swift": "HybridMapTemplate"
71
+ "android": {
72
+ "implementationClassName": "HybridMapTemplate",
73
+ "language": "kotlin"
74
+ },
75
+ "ios": {
76
+ "implementationClassName": "HybridMapTemplate",
77
+ "language": "swift"
78
+ }
40
79
  },
41
80
  "MessageTemplate": {
42
- "kotlin": "HybridMessageTemplate",
43
- "swift": "HybridMessageTemplate"
81
+ "android": {
82
+ "implementationClassName": "HybridMessageTemplate",
83
+ "language": "kotlin"
84
+ },
85
+ "ios": {
86
+ "implementationClassName": "HybridMessageTemplate",
87
+ "language": "swift"
88
+ }
44
89
  },
45
90
  "SearchTemplate": {
46
- "kotlin": "HybridSearchTemplate",
47
- "swift": "HybridSearchTemplate"
91
+ "android": {
92
+ "implementationClassName": "HybridSearchTemplate",
93
+ "language": "kotlin"
94
+ },
95
+ "ios": {
96
+ "implementationClassName": "HybridSearchTemplate",
97
+ "language": "swift"
98
+ }
48
99
  },
49
100
  "CarPlayDashboard": {
50
- "swift": "HybridCarPlayDashboard"
101
+ "ios": {
102
+ "implementationClassName": "HybridCarPlayDashboard",
103
+ "language": "swift"
104
+ }
51
105
  },
52
106
  "Cluster": {
53
- "kotlin": "HybridCluster",
54
- "swift": "HybridCluster"
107
+ "android": {
108
+ "implementationClassName": "HybridCluster",
109
+ "language": "kotlin"
110
+ },
111
+ "ios": { "implementationClassName": "HybridCluster", "language": "swift" }
55
112
  }
56
113
  },
57
114
  "ignorePaths": ["**/node_modules"]
@@ -51,134 +51,204 @@
51
51
  namespace margelo::nitro::swe::iternio::reactnativeautoplay {
52
52
 
53
53
  int initialize(JavaVM* vm) {
54
+ return facebook::jni::initialize(vm, []() {
55
+ ::margelo::nitro::swe::iternio::reactnativeautoplay::registerAllNatives();
56
+ });
57
+ }
58
+
59
+ struct JHybridAutoPlaySpecImpl: public jni::JavaClass<JHybridAutoPlaySpecImpl, JHybridAutoPlaySpec::JavaPart> {
60
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlay;";
61
+ static std::shared_ptr<JHybridAutoPlaySpec> create() {
62
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridAutoPlaySpecImpl::javaobject()>();
63
+ jni::local_ref<JHybridAutoPlaySpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
64
+ return javaPart->getJHybridAutoPlaySpec();
65
+ }
66
+ };
67
+ struct JHybridAndroidAutoTelemetrySpecImpl: public jni::JavaClass<JHybridAndroidAutoTelemetrySpecImpl, JHybridAndroidAutoTelemetrySpec::JavaPart> {
68
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetry;";
69
+ static std::shared_ptr<JHybridAndroidAutoTelemetrySpec> create() {
70
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridAndroidAutoTelemetrySpecImpl::javaobject()>();
71
+ jni::local_ref<JHybridAndroidAutoTelemetrySpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
72
+ return javaPart->getJHybridAndroidAutoTelemetrySpec();
73
+ }
74
+ };
75
+ struct JHybridAndroidAutomotiveSpecImpl: public jni::JavaClass<JHybridAndroidAutomotiveSpecImpl, JHybridAndroidAutomotiveSpec::JavaPart> {
76
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive;";
77
+ static std::shared_ptr<JHybridAndroidAutomotiveSpec> create() {
78
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridAndroidAutomotiveSpecImpl::javaobject()>();
79
+ jni::local_ref<JHybridAndroidAutomotiveSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
80
+ return javaPart->getJHybridAndroidAutomotiveSpec();
81
+ }
82
+ };
83
+ struct JHybridSignInTemplateSpecImpl: public jni::JavaClass<JHybridSignInTemplateSpecImpl, JHybridSignInTemplateSpec::JavaPart> {
84
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplate;";
85
+ static std::shared_ptr<JHybridSignInTemplateSpec> create() {
86
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridSignInTemplateSpecImpl::javaobject()>();
87
+ jni::local_ref<JHybridSignInTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
88
+ return javaPart->getJHybridSignInTemplateSpec();
89
+ }
90
+ };
91
+ struct JHybridListTemplateSpecImpl: public jni::JavaClass<JHybridListTemplateSpecImpl, JHybridListTemplateSpec::JavaPart> {
92
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplate;";
93
+ static std::shared_ptr<JHybridListTemplateSpec> create() {
94
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridListTemplateSpecImpl::javaobject()>();
95
+ jni::local_ref<JHybridListTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
96
+ return javaPart->getJHybridListTemplateSpec();
97
+ }
98
+ };
99
+ struct JHybridInformationTemplateSpecImpl: public jni::JavaClass<JHybridInformationTemplateSpecImpl, JHybridInformationTemplateSpec::JavaPart> {
100
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplate;";
101
+ static std::shared_ptr<JHybridInformationTemplateSpec> create() {
102
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridInformationTemplateSpecImpl::javaobject()>();
103
+ jni::local_ref<JHybridInformationTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
104
+ return javaPart->getJHybridInformationTemplateSpec();
105
+ }
106
+ };
107
+ struct JHybridGridTemplateSpecImpl: public jni::JavaClass<JHybridGridTemplateSpecImpl, JHybridGridTemplateSpec::JavaPart> {
108
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplate;";
109
+ static std::shared_ptr<JHybridGridTemplateSpec> create() {
110
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridGridTemplateSpecImpl::javaobject()>();
111
+ jni::local_ref<JHybridGridTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
112
+ return javaPart->getJHybridGridTemplateSpec();
113
+ }
114
+ };
115
+ struct JHybridMapTemplateSpecImpl: public jni::JavaClass<JHybridMapTemplateSpecImpl, JHybridMapTemplateSpec::JavaPart> {
116
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplate;";
117
+ static std::shared_ptr<JHybridMapTemplateSpec> create() {
118
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridMapTemplateSpecImpl::javaobject()>();
119
+ jni::local_ref<JHybridMapTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
120
+ return javaPart->getJHybridMapTemplateSpec();
121
+ }
122
+ };
123
+ struct JHybridMessageTemplateSpecImpl: public jni::JavaClass<JHybridMessageTemplateSpecImpl, JHybridMessageTemplateSpec::JavaPart> {
124
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplate;";
125
+ static std::shared_ptr<JHybridMessageTemplateSpec> create() {
126
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridMessageTemplateSpecImpl::javaobject()>();
127
+ jni::local_ref<JHybridMessageTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
128
+ return javaPart->getJHybridMessageTemplateSpec();
129
+ }
130
+ };
131
+ struct JHybridSearchTemplateSpecImpl: public jni::JavaClass<JHybridSearchTemplateSpecImpl, JHybridSearchTemplateSpec::JavaPart> {
132
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplate;";
133
+ static std::shared_ptr<JHybridSearchTemplateSpec> create() {
134
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridSearchTemplateSpecImpl::javaobject()>();
135
+ jni::local_ref<JHybridSearchTemplateSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
136
+ return javaPart->getJHybridSearchTemplateSpec();
137
+ }
138
+ };
139
+ struct JHybridClusterSpecImpl: public jni::JavaClass<JHybridClusterSpecImpl, JHybridClusterSpec::JavaPart> {
140
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/HybridCluster;";
141
+ static std::shared_ptr<JHybridClusterSpec> create() {
142
+ static const auto constructorFn = javaClassStatic()->getConstructor<JHybridClusterSpecImpl::javaobject()>();
143
+ jni::local_ref<JHybridClusterSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
144
+ return javaPart->getJHybridClusterSpec();
145
+ }
146
+ };
147
+
148
+ void registerAllNatives() {
54
149
  using namespace margelo::nitro;
55
150
  using namespace margelo::nitro::swe::iternio::reactnativeautoplay;
56
- using namespace facebook;
57
151
 
58
- return facebook::jni::initialize(vm, [] {
59
- // Register native JNI methods
60
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAndroidAutomotiveSpec::registerNatives();
61
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_cxx::registerNatives();
62
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_ActiveCarUxRestrictions_cxx::registerNatives();
63
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_AppFocusState_cxx::registerNatives();
64
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAndroidAutoTelemetrySpec::registerNatives();
65
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_Telemetry__cxx::registerNatives();
66
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAutoPlaySpec::registerNatives();
67
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_VisibilityState_cxx::registerNatives();
68
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_Location__std__optional_std__string__cxx::registerNatives();
69
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_SafeAreaInsets_cxx::registerNatives();
70
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridClusterSpec::registerNatives();
71
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_cxx::registerNatives();
72
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_ColorScheme_cxx::registerNatives();
73
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_ZoomEvent_cxx::registerNatives();
74
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_bool_cxx::registerNatives();
75
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridGridTemplateSpec::registerNatives();
76
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_bool__cxx::registerNatives();
77
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_bool_cxx::registerNatives();
78
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridInformationTemplateSpec::registerNatives();
79
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridListTemplateSpec::registerNatives();
80
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridMapTemplateSpec::registerNatives();
81
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_std__optional_Point__cxx::registerNatives();
82
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_double_cxx::registerNatives();
83
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_cxx::registerNatives();
84
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_ColorScheme_cxx::registerNatives();
85
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_AlertDismissalReason_cxx::registerNatives();
86
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_std__string_cxx::registerNatives();
87
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridMessageTemplateSpec::registerNatives();
88
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridSearchTemplateSpec::registerNatives();
89
- margelo::nitro::swe::iternio::reactnativeautoplay::JHybridSignInTemplateSpec::registerNatives();
90
- margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount__cxx::registerNatives();
152
+ // Register native JNI methods
153
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAndroidAutomotiveSpec::CxxPart::registerNatives();
154
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_cxx::registerNatives();
155
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_ActiveCarUxRestrictions_cxx::registerNatives();
156
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_AppFocusState_cxx::registerNatives();
157
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAndroidAutoTelemetrySpec::CxxPart::registerNatives();
158
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_Telemetry__cxx::registerNatives();
159
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridAutoPlaySpec::CxxPart::registerNatives();
160
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_VisibilityState_cxx::registerNatives();
161
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_Location__std__optional_std__string__cxx::registerNatives();
162
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_SafeAreaInsets_cxx::registerNatives();
163
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridClusterSpec::CxxPart::registerNatives();
164
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_cxx::registerNatives();
165
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_ColorScheme_cxx::registerNatives();
166
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_ZoomEvent_cxx::registerNatives();
167
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_bool_cxx::registerNatives();
168
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridGridTemplateSpec::CxxPart::registerNatives();
169
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_bool__cxx::registerNatives();
170
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_bool_cxx::registerNatives();
171
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridInformationTemplateSpec::CxxPart::registerNatives();
172
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridListTemplateSpec::CxxPart::registerNatives();
173
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridMapTemplateSpec::CxxPart::registerNatives();
174
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_std__optional_Point__cxx::registerNatives();
175
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_double_cxx::registerNatives();
176
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_Point_cxx::registerNatives();
177
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_ColorScheme_cxx::registerNatives();
178
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_AlertDismissalReason_cxx::registerNatives();
179
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__string_std__string_cxx::registerNatives();
180
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridMessageTemplateSpec::CxxPart::registerNatives();
181
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridSearchTemplateSpec::CxxPart::registerNatives();
182
+ margelo::nitro::swe::iternio::reactnativeautoplay::JHybridSignInTemplateSpec::CxxPart::registerNatives();
183
+ margelo::nitro::swe::iternio::reactnativeautoplay::JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount__cxx::registerNatives();
91
184
 
92
- // Register Nitro Hybrid Objects
93
- HybridObjectRegistry::registerHybridObjectConstructor(
94
- "AutoPlay",
95
- []() -> std::shared_ptr<HybridObject> {
96
- static DefaultConstructableObject<JHybridAutoPlaySpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlay");
97
- auto instance = object.create();
98
- return instance->cthis()->shared();
99
- }
100
- );
101
- HybridObjectRegistry::registerHybridObjectConstructor(
102
- "AndroidAutoTelemetry",
103
- []() -> std::shared_ptr<HybridObject> {
104
- static DefaultConstructableObject<JHybridAndroidAutoTelemetrySpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetry");
105
- auto instance = object.create();
106
- return instance->cthis()->shared();
107
- }
108
- );
109
- HybridObjectRegistry::registerHybridObjectConstructor(
110
- "AndroidAutomotive",
111
- []() -> std::shared_ptr<HybridObject> {
112
- static DefaultConstructableObject<JHybridAndroidAutomotiveSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive");
113
- auto instance = object.create();
114
- return instance->cthis()->shared();
115
- }
116
- );
117
- HybridObjectRegistry::registerHybridObjectConstructor(
118
- "SignInTemplate",
119
- []() -> std::shared_ptr<HybridObject> {
120
- static DefaultConstructableObject<JHybridSignInTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplate");
121
- auto instance = object.create();
122
- return instance->cthis()->shared();
123
- }
124
- );
125
- HybridObjectRegistry::registerHybridObjectConstructor(
126
- "ListTemplate",
127
- []() -> std::shared_ptr<HybridObject> {
128
- static DefaultConstructableObject<JHybridListTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplate");
129
- auto instance = object.create();
130
- return instance->cthis()->shared();
131
- }
132
- );
133
- HybridObjectRegistry::registerHybridObjectConstructor(
134
- "InformationTemplate",
135
- []() -> std::shared_ptr<HybridObject> {
136
- static DefaultConstructableObject<JHybridInformationTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplate");
137
- auto instance = object.create();
138
- return instance->cthis()->shared();
139
- }
140
- );
141
- HybridObjectRegistry::registerHybridObjectConstructor(
142
- "GridTemplate",
143
- []() -> std::shared_ptr<HybridObject> {
144
- static DefaultConstructableObject<JHybridGridTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplate");
145
- auto instance = object.create();
146
- return instance->cthis()->shared();
147
- }
148
- );
149
- HybridObjectRegistry::registerHybridObjectConstructor(
150
- "MapTemplate",
151
- []() -> std::shared_ptr<HybridObject> {
152
- static DefaultConstructableObject<JHybridMapTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplate");
153
- auto instance = object.create();
154
- return instance->cthis()->shared();
155
- }
156
- );
157
- HybridObjectRegistry::registerHybridObjectConstructor(
158
- "MessageTemplate",
159
- []() -> std::shared_ptr<HybridObject> {
160
- static DefaultConstructableObject<JHybridMessageTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplate");
161
- auto instance = object.create();
162
- return instance->cthis()->shared();
163
- }
164
- );
165
- HybridObjectRegistry::registerHybridObjectConstructor(
166
- "SearchTemplate",
167
- []() -> std::shared_ptr<HybridObject> {
168
- static DefaultConstructableObject<JHybridSearchTemplateSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplate");
169
- auto instance = object.create();
170
- return instance->cthis()->shared();
171
- }
172
- );
173
- HybridObjectRegistry::registerHybridObjectConstructor(
174
- "Cluster",
175
- []() -> std::shared_ptr<HybridObject> {
176
- static DefaultConstructableObject<JHybridClusterSpec::javaobject> object("com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridCluster");
177
- auto instance = object.create();
178
- return instance->cthis()->shared();
179
- }
180
- );
181
- });
185
+ // Register Nitro Hybrid Objects
186
+ HybridObjectRegistry::registerHybridObjectConstructor(
187
+ "AutoPlay",
188
+ []() -> std::shared_ptr<HybridObject> {
189
+ return JHybridAutoPlaySpecImpl::create();
190
+ }
191
+ );
192
+ HybridObjectRegistry::registerHybridObjectConstructor(
193
+ "AndroidAutoTelemetry",
194
+ []() -> std::shared_ptr<HybridObject> {
195
+ return JHybridAndroidAutoTelemetrySpecImpl::create();
196
+ }
197
+ );
198
+ HybridObjectRegistry::registerHybridObjectConstructor(
199
+ "AndroidAutomotive",
200
+ []() -> std::shared_ptr<HybridObject> {
201
+ return JHybridAndroidAutomotiveSpecImpl::create();
202
+ }
203
+ );
204
+ HybridObjectRegistry::registerHybridObjectConstructor(
205
+ "SignInTemplate",
206
+ []() -> std::shared_ptr<HybridObject> {
207
+ return JHybridSignInTemplateSpecImpl::create();
208
+ }
209
+ );
210
+ HybridObjectRegistry::registerHybridObjectConstructor(
211
+ "ListTemplate",
212
+ []() -> std::shared_ptr<HybridObject> {
213
+ return JHybridListTemplateSpecImpl::create();
214
+ }
215
+ );
216
+ HybridObjectRegistry::registerHybridObjectConstructor(
217
+ "InformationTemplate",
218
+ []() -> std::shared_ptr<HybridObject> {
219
+ return JHybridInformationTemplateSpecImpl::create();
220
+ }
221
+ );
222
+ HybridObjectRegistry::registerHybridObjectConstructor(
223
+ "GridTemplate",
224
+ []() -> std::shared_ptr<HybridObject> {
225
+ return JHybridGridTemplateSpecImpl::create();
226
+ }
227
+ );
228
+ HybridObjectRegistry::registerHybridObjectConstructor(
229
+ "MapTemplate",
230
+ []() -> std::shared_ptr<HybridObject> {
231
+ return JHybridMapTemplateSpecImpl::create();
232
+ }
233
+ );
234
+ HybridObjectRegistry::registerHybridObjectConstructor(
235
+ "MessageTemplate",
236
+ []() -> std::shared_ptr<HybridObject> {
237
+ return JHybridMessageTemplateSpecImpl::create();
238
+ }
239
+ );
240
+ HybridObjectRegistry::registerHybridObjectConstructor(
241
+ "SearchTemplate",
242
+ []() -> std::shared_ptr<HybridObject> {
243
+ return JHybridSearchTemplateSpecImpl::create();
244
+ }
245
+ );
246
+ HybridObjectRegistry::registerHybridObjectConstructor(
247
+ "Cluster",
248
+ []() -> std::shared_ptr<HybridObject> {
249
+ return JHybridClusterSpecImpl::create();
250
+ }
251
+ );
182
252
  }
183
253
 
184
254
  } // namespace margelo::nitro::swe::iternio::reactnativeautoplay
@@ -6,20 +6,29 @@
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::swe::iternio::reactnativeautoplay {
12
13
 
14
+ [[deprecated("Use registerNatives() instead.")]]
15
+ int initialize(JavaVM* vm);
16
+
13
17
  /**
14
- * Initializes the native (C++) part of ReactNativeAutoPlay, 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 ReactNativeAutoPlay, 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::swe::iternio::reactnativeautoplay::initialize(vm);
24
+ * return facebook::jni::initialize(vm, []() {
25
+ * // register all ReactNativeAutoPlay HybridObjects
26
+ * margelo::nitro::swe::iternio::reactnativeautoplay::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::swe::iternio::reactnativeautoplay
@@ -23,7 +23,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
23
23
  */
24
24
  struct JActiveCarUxRestrictions final: public jni::JavaClass<JActiveCarUxRestrictions> {
25
25
  public:
26
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/ActiveCarUxRestrictions;";
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/ActiveCarUxRestrictions;";
27
27
 
28
28
  public:
29
29
  /**
@@ -19,7 +19,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
19
19
  */
20
20
  struct JAlertActionStyle final: public jni::JavaClass<JAlertActionStyle> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AlertActionStyle;";
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AlertActionStyle;";
23
23
 
24
24
  public:
25
25
  /**
@@ -19,7 +19,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
19
19
  */
20
20
  struct JAlertDismissalReason final: public jni::JavaClass<JAlertDismissalReason> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AlertDismissalReason;";
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AlertDismissalReason;";
23
23
 
24
24
  public:
25
25
  /**
@@ -21,7 +21,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
21
21
  */
22
22
  struct JAppFocusState final: public jni::JavaClass<JAppFocusState> {
23
23
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AppFocusState;";
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AppFocusState;";
25
25
 
26
26
  public:
27
27
  /**
@@ -24,7 +24,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
24
24
  */
25
25
  struct JAssetImage final: public jni::JavaClass<JAssetImage> {
26
26
  public:
27
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage;";
27
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage;";
28
28
 
29
29
  public:
30
30
  /**
@@ -26,7 +26,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
26
26
  */
27
27
  struct JAutoText final: public jni::JavaClass<JAutoText> {
28
28
  public:
29
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AutoText;";
29
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/AutoText;";
30
30
 
31
31
  public:
32
32
  /**
@@ -21,7 +21,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
21
21
  */
22
22
  struct JBooleanTelemetryItem final: public jni::JavaClass<JBooleanTelemetryItem> {
23
23
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/BooleanTelemetryItem;";
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/BooleanTelemetryItem;";
25
25
 
26
26
  public:
27
27
  /**
@@ -19,7 +19,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
19
19
  */
20
20
  struct JCarUxRestrictions final: public jni::JavaClass<JCarUxRestrictions> {
21
21
  public:
22
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/CarUxRestrictions;";
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/CarUxRestrictions;";
23
23
 
24
24
  public:
25
25
  /**