@iternio/react-native-auto-play 0.2.0-alpha.2 → 0.2.0-alpha.3

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 (502) hide show
  1. package/android/src/auto/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive.kt +25 -0
  2. package/android/src/automotive/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidTelemetryObserver.kt +28 -15
  3. package/android/src/automotive/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive.kt +190 -0
  4. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoTelemetryHolder.kt +32 -0
  5. package/ios/hybrid/HybridAutoPlay.swift +1 -0
  6. package/ios/hybrid/HybridMapTemplate.swift +1 -1
  7. package/ios/templates/AutoPlayTemplate.swift +2 -2
  8. package/ios/templates/GridTemplate.swift +13 -15
  9. package/ios/templates/InformationTemplate.swift +11 -13
  10. package/ios/templates/ListTemplate.swift +11 -13
  11. package/ios/templates/MapTemplate.swift +24 -20
  12. package/ios/templates/Parser.swift +25 -10
  13. package/ios/templates/SearchTemplate.swift +7 -4
  14. package/lib/hooks/useAndroidAutoTelemetry.d.ts +13 -4
  15. package/lib/hooks/useAndroidAutoTelemetry.js +6 -3
  16. package/lib/hooks/useIsAutoPlayFocused.d.ts +7 -0
  17. package/lib/hooks/useIsAutoPlayFocused.js +20 -0
  18. package/lib/hybrid.d.ts +2 -0
  19. package/lib/hybrid.js +2 -0
  20. package/lib/index.d.ts +4 -0
  21. package/lib/index.js +4 -0
  22. package/lib/specs/AndroidAutomotive.nitro.d.ts +33 -0
  23. package/lib/specs/AndroidAutomotive.nitro.js +13 -0
  24. package/lib/specs/AutomotivePermissionRequestTemplate.d.ts +11 -0
  25. package/lib/specs/AutomotivePermissionRequestTemplate.js +1 -0
  26. package/lib/specs/AutomotivePermissionRequestTemplate.nitro.d.ts +11 -0
  27. package/lib/specs/AutomotivePermissionRequestTemplate.nitro.js +1 -0
  28. package/lib/templates/AutomotivePermissionRequestTemplate.d.ts +23 -0
  29. package/lib/templates/AutomotivePermissionRequestTemplate.js +18 -0
  30. package/lib/types/Telemetry.d.ts +4 -0
  31. package/lib/types/Trip.d.ts +4 -0
  32. package/nitro.json +3 -0
  33. package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.cmake +3 -1
  34. package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.gradle +1 -1
  35. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +17 -3
  36. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.hpp +1 -1
  37. package/nitrogen/generated/android/c++/JActiveCarUxRestrictions.hpp +89 -0
  38. package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +4 -5
  39. package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +4 -5
  40. package/nitrogen/generated/android/c++/JAppFocusState.hpp +61 -0
  41. package/nitrogen/generated/android/c++/JAssetImage.hpp +1 -1
  42. package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
  43. package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JCarUxRestrictions.hpp +82 -0
  45. package/nitrogen/generated/android/c++/JClusterEventName.hpp +5 -6
  46. package/nitrogen/generated/android/c++/JColorScheme.hpp +3 -4
  47. package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
  48. package/nitrogen/generated/android/c++/JDistanceUnits.hpp +6 -7
  49. package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
  50. package/nitrogen/generated/android/c++/JEventName.hpp +3 -4
  51. package/nitrogen/generated/android/c++/JForkType.hpp +3 -4
  52. package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
  53. package/nitrogen/generated/android/c++/JFunc_void_ActiveCarUxRestrictions.hpp +80 -0
  54. package/nitrogen/generated/android/c++/JFunc_void_AlertDismissalReason.hpp +1 -1
  55. package/nitrogen/generated/android/c++/JFunc_void_AppFocusState.hpp +78 -0
  56. package/nitrogen/generated/android/c++/JFunc_void_ColorScheme.hpp +1 -1
  57. package/nitrogen/generated/android/c++/JFunc_void_Point.hpp +1 -1
  58. package/nitrogen/generated/android/c++/JFunc_void_Point_double.hpp +1 -1
  59. package/nitrogen/generated/android/c++/JFunc_void_Point_std__optional_Point_.hpp +1 -1
  60. package/nitrogen/generated/android/c++/JFunc_void_SafeAreaInsets.hpp +1 -1
  61. package/nitrogen/generated/android/c++/JFunc_void_VisibilityState.hpp +1 -1
  62. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
  63. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Location__std__optional_std__string_.hpp +1 -1
  64. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry_.hpp +1 -1
  65. package/nitrogen/generated/android/c++/JFunc_void_std__optional_bool_.hpp +1 -1
  66. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
  67. package/nitrogen/generated/android/c++/JFunc_void_std__string_ColorScheme.hpp +1 -1
  68. package/nitrogen/generated/android/c++/JFunc_void_std__string_ZoomEvent.hpp +1 -1
  69. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool.hpp +1 -1
  70. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +1 -1
  71. package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
  72. package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
  73. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.cpp +8 -1
  74. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.hpp +2 -1
  75. package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.cpp +120 -0
  76. package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.hpp +70 -0
  77. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +9 -1
  78. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +2 -1
  79. package/nitrogen/generated/android/c++/JHybridClusterSpec.cpp +9 -1
  80. package/nitrogen/generated/android/c++/JHybridClusterSpec.hpp +2 -1
  81. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +9 -1
  82. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +2 -1
  83. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +9 -1
  84. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +2 -1
  85. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +9 -1
  86. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +2 -1
  87. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +9 -1
  88. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +2 -1
  89. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +8 -1
  90. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.hpp +2 -1
  91. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +9 -1
  92. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +2 -1
  93. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp +9 -1
  94. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.hpp +2 -1
  95. package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
  96. package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
  97. package/nitrogen/generated/android/c++/JInputSignIn.hpp +1 -1
  98. package/nitrogen/generated/android/c++/JKeepType.hpp +4 -5
  99. package/nitrogen/generated/android/c++/JKeyboardType.hpp +5 -6
  100. package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
  101. package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
  102. package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
  103. package/nitrogen/generated/android/c++/JManeuverType.hpp +13 -14
  104. package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
  105. package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
  106. package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
  107. package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
  108. package/nitrogen/generated/android/c++/JNitroActionType.hpp +4 -5
  109. package/nitrogen/generated/android/c++/JNitroAlignment.hpp +3 -4
  110. package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
  111. package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
  112. package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
  113. package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +6 -7
  114. package/nitrogen/generated/android/c++/JNitroColor.hpp +1 -1
  115. package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
  116. package/nitrogen/generated/android/c++/JNitroImage.cpp +1 -1
  117. package/nitrogen/generated/android/c++/JNitroImage.hpp +3 -3
  118. package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
  119. package/nitrogen/generated/android/c++/JNitroManeuver.cpp +1 -1
  120. package/nitrogen/generated/android/c++/JNitroManeuver.hpp +7 -4
  121. package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
  122. package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +3 -4
  123. package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
  124. package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
  125. package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +4 -1
  126. package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
  127. package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
  128. package/nitrogen/generated/android/c++/JNitroSectionType.hpp +3 -4
  129. package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
  130. package/nitrogen/generated/android/c++/JOffRampType.hpp +5 -6
  131. package/nitrogen/generated/android/c++/JOnRampType.hpp +9 -10
  132. package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +1 -1
  133. package/nitrogen/generated/android/c++/JPinSignIn.hpp +1 -1
  134. package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
  135. package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
  136. package/nitrogen/generated/android/c++/JQrSignIn.hpp +1 -1
  137. package/nitrogen/generated/android/c++/JRouteChoice.hpp +4 -1
  138. package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
  139. package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
  140. package/nitrogen/generated/android/c++/JSignInMethods.hpp +5 -6
  141. package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +1 -1
  142. package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
  143. package/nitrogen/generated/android/c++/JTelemetry.hpp +8 -4
  144. package/nitrogen/generated/android/c++/JTextInputType.hpp +3 -4
  145. package/nitrogen/generated/android/c++/JTrafficSide.hpp +3 -4
  146. package/nitrogen/generated/android/c++/JTravelEstimates.hpp +19 -4
  147. package/nitrogen/generated/android/c++/JTripConfig.hpp +4 -1
  148. package/nitrogen/generated/android/c++/JTripPoint.hpp +4 -1
  149. package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
  150. package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
  151. package/nitrogen/generated/android/c++/JTripsConfig.hpp +4 -1
  152. package/nitrogen/generated/android/c++/JTurnType.hpp +10 -11
  153. package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.cpp +1 -1
  154. package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.hpp +3 -3
  155. package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.cpp +1 -1
  156. package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.hpp +3 -3
  157. package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn.cpp +1 -1
  158. package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn.hpp +4 -4
  159. package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
  160. package/nitrogen/generated/android/c++/JVisibilityState.hpp +5 -6
  161. package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +3 -4
  162. package/nitrogen/generated/android/c++/JZoomEvent.hpp +3 -4
  163. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ActiveCarUxRestrictions.kt +47 -0
  164. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertActionStyle.kt +3 -1
  165. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertDismissalReason.kt +3 -1
  166. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AppFocusState.kt +41 -0
  167. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage.kt +3 -3
  168. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AutoText.kt +4 -4
  169. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/BooleanTelemetryItem.kt +2 -2
  170. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/CarUxRestrictions.kt +31 -0
  171. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ClusterEventName.kt +3 -1
  172. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ColorScheme.kt +3 -1
  173. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Distance.kt +2 -2
  174. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DistanceUnits.kt +3 -1
  175. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DurationWithTimeZone.kt +2 -2
  176. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/EventName.kt +3 -1
  177. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ForkType.kt +3 -1
  178. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void.kt +1 -1
  179. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ActiveCarUxRestrictions.kt +80 -0
  180. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AlertDismissalReason.kt +1 -1
  181. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AppFocusState.kt +80 -0
  182. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ColorScheme.kt +1 -1
  183. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point.kt +1 -1
  184. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_double.kt +1 -1
  185. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_std__optional_Point_.kt +1 -1
  186. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_SafeAreaInsets.kt +1 -1
  187. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_VisibilityState.kt +1 -1
  188. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_bool.kt +1 -1
  189. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Location__std__optional_std__string_.kt +1 -1
  190. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Telemetry_.kt +1 -1
  191. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_bool_.kt +1 -1
  192. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string.kt +1 -1
  193. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ColorScheme.kt +1 -1
  194. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ZoomEvent.kt +1 -1
  195. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_bool.kt +1 -1
  196. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_std__string.kt +1 -1
  197. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GlyphImage.kt +3 -3
  198. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GridTemplateConfig.kt +10 -10
  199. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +1 -1
  200. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotiveSpec.kt +88 -0
  201. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +1 -1
  202. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +1 -1
  203. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +1 -1
  204. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +1 -1
  205. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +1 -1
  206. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +1 -1
  207. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +1 -1
  208. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +1 -1
  209. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +1 -1
  210. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ImageLane.kt +2 -2
  211. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InformationTemplateConfig.kt +11 -11
  212. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InputSignIn.kt +7 -7
  213. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeepType.kt +3 -1
  214. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeyboardType.kt +3 -1
  215. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/LaneGuidance.kt +2 -2
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ListTemplateConfig.kt +11 -11
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Location.kt +2 -2
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ManeuverType.kt +3 -1
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MapTemplateConfig.kt +19 -19
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MessageTemplateConfig.kt +13 -13
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NavigationAlertAction.kt +3 -3
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAction.kt +8 -8
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroActionType.kt +3 -1
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAlignment.kt +3 -1
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedString.kt +3 -3
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedStringImage.kt +2 -2
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroBaseMapTemplateConfig.kt +11 -11
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroButtonStyle.kt +3 -1
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroColor.kt +2 -2
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroGridButton.kt +2 -2
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroImage.kt +1 -1
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroLoadingManeuver.kt +2 -2
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +1 -1
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButton.kt +3 -3
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButtonType.kt +3 -1
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMessageManeuver.kt +4 -4
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroNavigationAlert.kt +7 -7
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRoutingManeuver.kt +14 -14
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRow.kt +8 -8
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSection.kt +3 -3
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSectionType.kt +3 -1
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NumericTelemetryItem.kt +2 -2
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OffRampType.kt +3 -1
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OnRampType.kt +3 -1
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PermissionRequestResult.kt +2 -2
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PinSignIn.kt +2 -2
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Point.kt +2 -2
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PreferredImageLane.kt +2 -2
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/QrSignIn.kt +2 -2
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ReactNativeAutoPlayOnLoad.kt +1 -1
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/RouteChoice.kt +2 -2
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SafeAreaInsets.kt +3 -3
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SearchTemplateConfig.kt +11 -11
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInMethods.kt +3 -1
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInTemplateConfig.kt +14 -14
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/StringTelemetryItem.kt +2 -2
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Telemetry.kt +18 -15
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TextInputType.kt +3 -1
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TrafficSide.kt +3 -1
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TravelEstimates.kt +13 -6
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripConfig.kt +2 -2
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPoint.kt +2 -2
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPreviewTextConfiguration.kt +2 -2
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripSelectorCallback.kt +2 -2
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripsConfig.kt +2 -2
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TurnType.kt +3 -1
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_GlyphImage_AssetImage.kt +1 -1
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_PreferredImageLane_ImageLane.kt +1 -1
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_QrSignIn_PinSignIn_InputSignIn.kt +1 -1
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VehicleTelemetryItem.kt +5 -5
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibilityState.kt +3 -1
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibleTravelEstimate.kt +3 -1
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ZoomEvent.kt +3 -1
  274. package/nitrogen/generated/ios/ReactNativeAutoPlay+autolinking.rb +2 -2
  275. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.cpp +1 -1
  276. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +4 -4
  277. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +1 -1
  278. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.mm +1 -1
  279. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.swift +41 -64
  280. package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.cpp +1 -1
  281. package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.hpp +7 -1
  282. package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.cpp +1 -1
  283. package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.hpp +7 -1
  284. package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.cpp +1 -1
  285. package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.hpp +7 -1
  286. package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.cpp +1 -1
  287. package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.hpp +7 -1
  288. package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.cpp +1 -1
  289. package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.hpp +7 -1
  290. package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.cpp +1 -1
  291. package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.hpp +7 -1
  292. package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.cpp +1 -1
  293. package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.hpp +7 -1
  294. package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.cpp +1 -1
  295. package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.hpp +7 -1
  296. package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.cpp +1 -1
  297. package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.hpp +7 -1
  298. package/nitrogen/generated/ios/swift/AlertActionStyle.swift +1 -1
  299. package/nitrogen/generated/ios/swift/AlertDismissalReason.swift +1 -1
  300. package/nitrogen/generated/ios/swift/AssetImage.swift +13 -55
  301. package/nitrogen/generated/ios/swift/AutoText.swift +7 -37
  302. package/nitrogen/generated/ios/swift/ClusterEventName.swift +1 -1
  303. package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
  304. package/nitrogen/generated/ios/swift/Distance.swift +5 -17
  305. package/nitrogen/generated/ios/swift/DistanceUnits.swift +1 -1
  306. package/nitrogen/generated/ios/swift/DurationWithTimeZone.swift +5 -17
  307. package/nitrogen/generated/ios/swift/EventName.swift +1 -1
  308. package/nitrogen/generated/ios/swift/ForkType.swift +1 -1
  309. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  310. package/nitrogen/generated/ios/swift/Func_void_AlertDismissalReason.swift +1 -1
  311. package/nitrogen/generated/ios/swift/Func_void_ColorScheme.swift +1 -1
  312. package/nitrogen/generated/ios/swift/Func_void_Point.swift +1 -1
  313. package/nitrogen/generated/ios/swift/Func_void_Point_double.swift +1 -1
  314. package/nitrogen/generated/ios/swift/Func_void_Point_std__optional_Point_.swift +1 -1
  315. package/nitrogen/generated/ios/swift/Func_void_SafeAreaInsets.swift +1 -1
  316. package/nitrogen/generated/ios/swift/Func_void_VisibilityState.swift +1 -1
  317. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  318. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  319. package/nitrogen/generated/ios/swift/Func_void_std__optional_Location__std__optional_std__string_.swift +1 -1
  320. package/nitrogen/generated/ios/swift/Func_void_std__optional_bool_.swift +1 -1
  321. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  322. package/nitrogen/generated/ios/swift/Func_void_std__string_ColorScheme.swift +1 -1
  323. package/nitrogen/generated/ios/swift/Func_void_std__string_ZoomEvent.swift +1 -1
  324. package/nitrogen/generated/ios/swift/Func_void_std__string_bool.swift +1 -1
  325. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +1 -1
  326. package/nitrogen/generated/ios/swift/GlyphImage.swift +9 -39
  327. package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +114 -255
  328. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec.swift +3 -3
  329. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec_cxx.swift +9 -1
  330. package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec.swift +3 -3
  331. package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec_cxx.swift +9 -1
  332. package/nitrogen/generated/ios/swift/HybridClusterSpec.swift +3 -3
  333. package/nitrogen/generated/ios/swift/HybridClusterSpec_cxx.swift +9 -1
  334. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec.swift +3 -3
  335. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec_cxx.swift +9 -1
  336. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec.swift +3 -3
  337. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec_cxx.swift +9 -1
  338. package/nitrogen/generated/ios/swift/HybridListTemplateSpec.swift +3 -3
  339. package/nitrogen/generated/ios/swift/HybridListTemplateSpec_cxx.swift +9 -1
  340. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec.swift +3 -3
  341. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec_cxx.swift +9 -1
  342. package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec.swift +3 -3
  343. package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec_cxx.swift +9 -1
  344. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec.swift +3 -3
  345. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec_cxx.swift +9 -1
  346. package/nitrogen/generated/ios/swift/ImageLane.swift +17 -42
  347. package/nitrogen/generated/ios/swift/InformationTemplateConfig.swift +123 -276
  348. package/nitrogen/generated/ios/swift/KeepType.swift +1 -1
  349. package/nitrogen/generated/ios/swift/LaneGuidance.swift +17 -48
  350. package/nitrogen/generated/ios/swift/ListTemplateConfig.swift +121 -268
  351. package/nitrogen/generated/ios/swift/Location.swift +5 -17
  352. package/nitrogen/generated/ios/swift/ManeuverType.swift +1 -1
  353. package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +232 -499
  354. package/nitrogen/generated/ios/swift/MessageTemplateConfig.swift +144 -322
  355. package/nitrogen/generated/ios/swift/NavigationAlertAction.swift +12 -39
  356. package/nitrogen/generated/ios/swift/NitroAction.swift +55 -149
  357. package/nitrogen/generated/ios/swift/NitroActionType.swift +1 -1
  358. package/nitrogen/generated/ios/swift/NitroAlignment.swift +1 -1
  359. package/nitrogen/generated/ios/swift/NitroAttributedString.swift +12 -36
  360. package/nitrogen/generated/ios/swift/NitroAttributedStringImage.swift +17 -36
  361. package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +129 -267
  362. package/nitrogen/generated/ios/swift/NitroButtonStyle.swift +1 -1
  363. package/nitrogen/generated/ios/swift/NitroCarPlayDashboardButton.swift +35 -93
  364. package/nitrogen/generated/ios/swift/NitroColor.swift +5 -17
  365. package/nitrogen/generated/ios/swift/NitroGridButton.swift +24 -52
  366. package/nitrogen/generated/ios/swift/NitroImage.swift +1 -1
  367. package/nitrogen/generated/ios/swift/NitroLoadingManeuver.swift +3 -9
  368. package/nitrogen/generated/ios/swift/NitroManeuver.swift +1 -1
  369. package/nitrogen/generated/ios/swift/NitroMapButton.swift +31 -65
  370. package/nitrogen/generated/ios/swift/NitroMapButtonType.swift +1 -1
  371. package/nitrogen/generated/ios/swift/NitroMessageManeuver.swift +35 -78
  372. package/nitrogen/generated/ios/swift/NitroNavigationAlert.swift +64 -167
  373. package/nitrogen/generated/ios/swift/NitroRoutingManeuver.swift +91 -309
  374. package/nitrogen/generated/ios/swift/NitroRow.swift +75 -169
  375. package/nitrogen/generated/ios/swift/NitroSection.swift +14 -44
  376. package/nitrogen/generated/ios/swift/NitroSectionType.swift +1 -1
  377. package/nitrogen/generated/ios/swift/OffRampType.swift +1 -1
  378. package/nitrogen/generated/ios/swift/OnRampType.swift +1 -1
  379. package/nitrogen/generated/ios/swift/Point.swift +5 -17
  380. package/nitrogen/generated/ios/swift/PreferredImageLane.swift +21 -58
  381. package/nitrogen/generated/ios/swift/RouteChoice.swift +11 -65
  382. package/nitrogen/generated/ios/swift/SafeAreaInsets.swift +18 -54
  383. package/nitrogen/generated/ios/swift/SearchTemplateConfig.swift +144 -309
  384. package/nitrogen/generated/ios/swift/TrafficSide.swift +1 -1
  385. package/nitrogen/generated/ios/swift/TravelEstimates.swift +34 -32
  386. package/nitrogen/generated/ios/swift/TripConfig.swift +5 -17
  387. package/nitrogen/generated/ios/swift/TripPoint.swift +9 -33
  388. package/nitrogen/generated/ios/swift/TripPreviewTextConfiguration.swift +9 -33
  389. package/nitrogen/generated/ios/swift/TripSelectorCallback.swift +8 -17
  390. package/nitrogen/generated/ios/swift/TripsConfig.swift +5 -23
  391. package/nitrogen/generated/ios/swift/TurnType.swift +1 -1
  392. package/nitrogen/generated/ios/swift/Variant_GlyphImage_AssetImage.swift +1 -1
  393. package/nitrogen/generated/ios/swift/Variant_PreferredImageLane_ImageLane.swift +1 -1
  394. package/nitrogen/generated/ios/swift/VisibilityState.swift +1 -1
  395. package/nitrogen/generated/ios/swift/VisibleTravelEstimate.swift +1 -1
  396. package/nitrogen/generated/ios/swift/ZoomEvent.swift +1 -1
  397. package/nitrogen/generated/shared/c++/ActiveCarUxRestrictions.hpp +97 -0
  398. package/nitrogen/generated/shared/c++/AlertActionStyle.hpp +1 -1
  399. package/nitrogen/generated/shared/c++/AlertDismissalReason.hpp +1 -1
  400. package/nitrogen/generated/shared/c++/AppFocusState.hpp +87 -0
  401. package/nitrogen/generated/shared/c++/AssetImage.hpp +28 -20
  402. package/nitrogen/generated/shared/c++/AutoText.hpp +19 -11
  403. package/nitrogen/generated/shared/c++/BooleanTelemetryItem.hpp +16 -8
  404. package/nitrogen/generated/shared/c++/CarUxRestrictions.hpp +81 -0
  405. package/nitrogen/generated/shared/c++/ClusterEventName.hpp +1 -1
  406. package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
  407. package/nitrogen/generated/shared/c++/Distance.hpp +16 -8
  408. package/nitrogen/generated/shared/c++/DistanceUnits.hpp +1 -1
  409. package/nitrogen/generated/shared/c++/DurationWithTimeZone.hpp +16 -8
  410. package/nitrogen/generated/shared/c++/EventName.hpp +1 -1
  411. package/nitrogen/generated/shared/c++/ForkType.hpp +1 -1
  412. package/nitrogen/generated/shared/c++/GlyphImage.hpp +22 -14
  413. package/nitrogen/generated/shared/c++/GridTemplateConfig.hpp +43 -35
  414. package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.cpp +1 -1
  415. package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.hpp +1 -1
  416. package/nitrogen/generated/shared/c++/HybridAndroidAutomotiveSpec.cpp +25 -0
  417. package/nitrogen/generated/shared/c++/HybridAndroidAutomotiveSpec.hpp +71 -0
  418. package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.cpp +1 -1
  419. package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.hpp +1 -1
  420. package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.cpp +1 -1
  421. package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.hpp +1 -1
  422. package/nitrogen/generated/shared/c++/HybridClusterSpec.cpp +1 -1
  423. package/nitrogen/generated/shared/c++/HybridClusterSpec.hpp +1 -1
  424. package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.cpp +1 -1
  425. package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.hpp +1 -1
  426. package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.cpp +1 -1
  427. package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.hpp +1 -1
  428. package/nitrogen/generated/shared/c++/HybridListTemplateSpec.cpp +1 -1
  429. package/nitrogen/generated/shared/c++/HybridListTemplateSpec.hpp +1 -1
  430. package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.cpp +1 -1
  431. package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.hpp +1 -1
  432. package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.cpp +1 -1
  433. package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.hpp +1 -1
  434. package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.cpp +1 -1
  435. package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.hpp +1 -1
  436. package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.cpp +1 -1
  437. package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.hpp +1 -1
  438. package/nitrogen/generated/shared/c++/ImageLane.hpp +16 -8
  439. package/nitrogen/generated/shared/c++/InformationTemplateConfig.hpp +46 -38
  440. package/nitrogen/generated/shared/c++/InputSignIn.hpp +34 -26
  441. package/nitrogen/generated/shared/c++/KeepType.hpp +1 -1
  442. package/nitrogen/generated/shared/c++/KeyboardType.hpp +1 -1
  443. package/nitrogen/generated/shared/c++/LaneGuidance.hpp +16 -8
  444. package/nitrogen/generated/shared/c++/ListTemplateConfig.hpp +43 -35
  445. package/nitrogen/generated/shared/c++/Location.hpp +16 -8
  446. package/nitrogen/generated/shared/c++/ManeuverType.hpp +1 -1
  447. package/nitrogen/generated/shared/c++/MapTemplateConfig.hpp +67 -59
  448. package/nitrogen/generated/shared/c++/MessageTemplateConfig.hpp +49 -41
  449. package/nitrogen/generated/shared/c++/NavigationAlertAction.hpp +19 -11
  450. package/nitrogen/generated/shared/c++/NitroAction.hpp +34 -26
  451. package/nitrogen/generated/shared/c++/NitroActionType.hpp +1 -1
  452. package/nitrogen/generated/shared/c++/NitroAlignment.hpp +1 -1
  453. package/nitrogen/generated/shared/c++/NitroAttributedString.hpp +16 -8
  454. package/nitrogen/generated/shared/c++/NitroAttributedStringImage.hpp +16 -8
  455. package/nitrogen/generated/shared/c++/NitroBaseMapTemplateConfig.hpp +37 -29
  456. package/nitrogen/generated/shared/c++/NitroButtonStyle.hpp +1 -1
  457. package/nitrogen/generated/shared/c++/NitroCarPlayDashboardButton.hpp +25 -17
  458. package/nitrogen/generated/shared/c++/NitroColor.hpp +16 -8
  459. package/nitrogen/generated/shared/c++/NitroGridButton.hpp +19 -11
  460. package/nitrogen/generated/shared/c++/NitroLoadingManeuver.hpp +13 -5
  461. package/nitrogen/generated/shared/c++/NitroMapButton.hpp +19 -11
  462. package/nitrogen/generated/shared/c++/NitroMapButtonType.hpp +1 -1
  463. package/nitrogen/generated/shared/c++/NitroMessageManeuver.hpp +22 -14
  464. package/nitrogen/generated/shared/c++/NitroNavigationAlert.hpp +40 -32
  465. package/nitrogen/generated/shared/c++/NitroRoutingManeuver.hpp +67 -59
  466. package/nitrogen/generated/shared/c++/NitroRow.hpp +34 -26
  467. package/nitrogen/generated/shared/c++/NitroSection.hpp +19 -11
  468. package/nitrogen/generated/shared/c++/NitroSectionType.hpp +1 -1
  469. package/nitrogen/generated/shared/c++/NumericTelemetryItem.hpp +16 -8
  470. package/nitrogen/generated/shared/c++/OffRampType.hpp +1 -1
  471. package/nitrogen/generated/shared/c++/OnRampType.hpp +1 -1
  472. package/nitrogen/generated/shared/c++/PermissionRequestResult.hpp +16 -8
  473. package/nitrogen/generated/shared/c++/PinSignIn.hpp +16 -8
  474. package/nitrogen/generated/shared/c++/Point.hpp +16 -8
  475. package/nitrogen/generated/shared/c++/PreferredImageLane.hpp +22 -14
  476. package/nitrogen/generated/shared/c++/QrSignIn.hpp +16 -8
  477. package/nitrogen/generated/shared/c++/RouteChoice.hpp +25 -17
  478. package/nitrogen/generated/shared/c++/SafeAreaInsets.hpp +25 -17
  479. package/nitrogen/generated/shared/c++/SearchTemplateConfig.hpp +52 -44
  480. package/nitrogen/generated/shared/c++/SignInMethods.hpp +1 -1
  481. package/nitrogen/generated/shared/c++/SignInTemplateConfig.hpp +49 -41
  482. package/nitrogen/generated/shared/c++/StringTelemetryItem.hpp +16 -8
  483. package/nitrogen/generated/shared/c++/Telemetry.hpp +48 -36
  484. package/nitrogen/generated/shared/c++/TextInputType.hpp +1 -1
  485. package/nitrogen/generated/shared/c++/TrafficSide.hpp +1 -1
  486. package/nitrogen/generated/shared/c++/TravelEstimates.hpp +25 -12
  487. package/nitrogen/generated/shared/c++/TripConfig.hpp +16 -8
  488. package/nitrogen/generated/shared/c++/TripPoint.hpp +22 -14
  489. package/nitrogen/generated/shared/c++/TripPreviewTextConfiguration.hpp +22 -14
  490. package/nitrogen/generated/shared/c++/TripSelectorCallback.hpp +13 -5
  491. package/nitrogen/generated/shared/c++/TripsConfig.hpp +16 -8
  492. package/nitrogen/generated/shared/c++/TurnType.hpp +1 -1
  493. package/nitrogen/generated/shared/c++/VehicleTelemetryItem.hpp +19 -11
  494. package/nitrogen/generated/shared/c++/VisibilityState.hpp +1 -1
  495. package/nitrogen/generated/shared/c++/VisibleTravelEstimate.hpp +1 -1
  496. package/nitrogen/generated/shared/c++/ZoomEvent.hpp +1 -1
  497. package/package.json +2 -2
  498. package/src/hooks/useAndroidAutoTelemetry.ts +48 -32
  499. package/src/index.ts +11 -0
  500. package/src/specs/AndroidAutomotive.nitro.ts +37 -0
  501. package/src/types/Telemetry.ts +4 -0
  502. package/src/types/Trip.ts +4 -0
@@ -0,0 +1,25 @@
1
+ package com.margelo.nitro.swe.iternio.reactnativeautoplay
2
+
3
+ class InvalidPlatformException(message: String) : Exception(message)
4
+
5
+ class HybridAndroidAutomotive : HybridAndroidAutomotiveSpec() {
6
+ override fun registerCarUxRestrictionsListener(callback: (restrictions: ActiveCarUxRestrictions) -> Unit): () -> Unit {
7
+ throw InvalidPlatformException("registerCarUxRestrictionsListener is supported on Android Automotive only!")
8
+ }
9
+
10
+ override fun getCarUxRestrictions(): ActiveCarUxRestrictions {
11
+ throw InvalidPlatformException("getCarUxRestrictions is supported on Android Automotive only!")
12
+ }
13
+
14
+ override fun registerAppFocusListener(callback: (state: AppFocusState) -> Unit): () -> Unit {
15
+ throw InvalidPlatformException("registerAppFocusListener is supported on Android Automotive only!")
16
+ }
17
+
18
+ override fun getAppFocusState(): AppFocusState {
19
+ throw InvalidPlatformException("getAppFocusState is supported on Android Automotive only!")
20
+ }
21
+
22
+ override fun requestAppFocus(): () -> Unit {
23
+ throw InvalidPlatformException("requestAppFocus is supported on Android Automotive only!")
24
+ }
25
+ }
@@ -7,6 +7,7 @@ import android.car.VehiclePropertyIds
7
7
  import android.car.hardware.CarPropertyValue
8
8
  import android.car.hardware.property.CarPropertyManager
9
9
  import android.util.Log
10
+ import com.margelo.nitro.NitroModules
10
11
  import kotlin.math.floor
11
12
 
12
13
  private val REQUIRED_VEHICLE_PROPERTY_IDS = listOf(
@@ -61,7 +62,18 @@ object AndroidTelemetryObserver : TelemetryObserver() {
61
62
  selectedGear = NumericTelemetryItem(
62
63
  timestamp = floor(System.currentTimeMillis() / 1000.0),
63
64
  value = selectedGear.toDouble()
64
- )
65
+ ),
66
+ vehicle = null,
67
+ batteryLevel = null,
68
+ range = null,
69
+ speed = null,
70
+ odometer = null,
71
+ fuelLevel = null,
72
+ parkingBrakeOn = null,
73
+ evChargePortConnected = null,
74
+ envOutsideTemperature = null,
75
+ evBatteryInstantaneousChargeRate = null,
76
+ soe = null
65
77
  )
66
78
  )
67
79
  }
@@ -82,7 +94,18 @@ object AndroidTelemetryObserver : TelemetryObserver() {
82
94
  selectedGear = NumericTelemetryItem(
83
95
  timestamp = floor(System.currentTimeMillis() / 1000.0),
84
96
  value = selectedGear.toDouble()
85
- )
97
+ ),
98
+ vehicle = null,
99
+ batteryLevel = null,
100
+ range = null,
101
+ speed = null,
102
+ odometer = null,
103
+ fuelLevel = null,
104
+ parkingBrakeOn = null,
105
+ evChargePortConnected = null,
106
+ envOutsideTemperature = null,
107
+ evBatteryInstantaneousChargeRate = null,
108
+ soe = null
86
109
  )
87
110
  )
88
111
  }
@@ -101,14 +124,8 @@ object AndroidTelemetryObserver : TelemetryObserver() {
101
124
 
102
125
  VehiclePropertyIds.EV_BATTERY_LEVEL -> {
103
126
  val capacity = batteryCapacity ?: return
104
- if (capacity <= 0f) {
105
- throw Exception("got invalid battery capacity $capacity")
106
- }
107
- val soc = getValue<Float>(p0) / capacity * 100
108
- if (!soc.isFinite() || floor(soc) < 0 || floor(soc) > 100) {
109
- throw Exception("got invalid soc $soc, expecting value from 0 to 100 EV_BATTERY_LEVEL: ${p0.value}, evBatteryCapacity: $capacity")
110
- }
111
- telemetryHolder.updateBatteryLevel(soc)
127
+ val level: Float = getValue(p0)
128
+ telemetryHolder.updateBatteryLevel(level, capacity)
112
129
  }
113
130
 
114
131
  VehiclePropertyIds.PERF_VEHICLE_SPEED -> telemetryHolder.updateSpeed(
@@ -140,14 +157,10 @@ object AndroidTelemetryObserver : TelemetryObserver() {
140
157
  return false
141
158
  }
142
159
 
143
- val carContext = AndroidAutoSession.getRootContext() ?: throw IllegalArgumentException(
144
- "Car context not available, failed to start telemetry"
145
- )
146
-
147
160
  // create new instance so we can access all props after permissions were granted
148
161
  mCar?.disconnect()
149
162
 
150
- val car = Car.createCar(carContext)
163
+ val car = Car.createCar(NitroModules.applicationContext)
151
164
  mCar = car
152
165
 
153
166
  fetchStaticData(car)
@@ -0,0 +1,190 @@
1
+ package com.margelo.nitro.swe.iternio.reactnativeautoplay
2
+
3
+ import android.car.Car
4
+ import android.car.CarAppFocusManager
5
+ import android.car.CarAppFocusManager.OnAppFocusChangedListener
6
+ import android.car.CarAppFocusManager.OnAppFocusOwnershipCallback
7
+ import android.car.drivingstate.CarUxRestrictionsManager
8
+ import com.margelo.nitro.NitroModules
9
+ import java.util.concurrent.CopyOnWriteArrayList
10
+
11
+ class HybridAndroidAutomotive : HybridAndroidAutomotiveSpec() {
12
+ private lateinit var car: Car
13
+
14
+ private fun getCar(): Car {
15
+ if (!this::car.isInitialized) {
16
+ car = Car.createCar(NitroModules.applicationContext)
17
+ }
18
+ return car
19
+ }
20
+
21
+ private val onAppFocusOwnershipCallback = object : OnAppFocusOwnershipCallback {
22
+ override fun onAppFocusOwnershipGranted(appType: Int) {
23
+ isFocusOwned = true
24
+ notifyAppFocusListeners()
25
+ }
26
+
27
+ override fun onAppFocusOwnershipLost(appType: Int) {
28
+ isFocusOwned = false
29
+ notifyAppFocusListeners()
30
+ }
31
+ }
32
+
33
+ private val onAppFocusChangedListener = OnAppFocusChangedListener { appType, active ->
34
+ isFocusActive = active
35
+
36
+ val carAppFocusManager =
37
+ getCar().getCarManager(Car.APP_FOCUS_SERVICE) as CarAppFocusManager
38
+ // docs say we should not get an event when we receive our own app focus
39
+ // but we still do get it. so we do a check here again if we own it or not
40
+ isFocusOwned = carAppFocusManager.isOwningFocus(
41
+ onAppFocusOwnershipCallback, appType
42
+ )
43
+
44
+ notifyAppFocusListeners()
45
+ }
46
+
47
+ override fun registerCarUxRestrictionsListener(callback: (restrictions: ActiveCarUxRestrictions) -> Unit): () -> Unit {
48
+ if (uxRestrictionListeners.isEmpty()) {
49
+ val uxRestrictionManager =
50
+ getCar().getCarManager(Car.CAR_UX_RESTRICTION_SERVICE) as CarUxRestrictionsManager
51
+
52
+ uxRestrictionManager.registerListener {
53
+ notifyUxRestrictionListeners(it.toActiveCarUxRestrictions())
54
+ }
55
+ }
56
+
57
+ uxRestrictionListeners.add(callback)
58
+
59
+ return {
60
+ uxRestrictionListeners.remove(callback)
61
+
62
+ if (uxRestrictionListeners.isEmpty()) {
63
+ val uxRestrictionManager =
64
+ getCar().getCarManager(Car.CAR_UX_RESTRICTION_SERVICE) as CarUxRestrictionsManager
65
+
66
+ uxRestrictionManager.unregisterListener()
67
+ }
68
+ }
69
+ }
70
+
71
+ override fun getCarUxRestrictions(): ActiveCarUxRestrictions {
72
+ val uxRestrictionManager =
73
+ getCar().getCarManager(Car.CAR_UX_RESTRICTION_SERVICE) as CarUxRestrictionsManager
74
+
75
+ return uxRestrictionManager.currentCarUxRestrictions.toActiveCarUxRestrictions()
76
+ }
77
+
78
+ override fun registerAppFocusListener(callback: (state: AppFocusState) -> Unit): () -> Unit {
79
+ if (appFocusListeners.isEmpty()) {
80
+ val carAppFocusManager =
81
+ getCar().getCarManager(Car.APP_FOCUS_SERVICE) as CarAppFocusManager
82
+
83
+ carAppFocusManager.addFocusListener(
84
+ onAppFocusChangedListener, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION
85
+ )
86
+ }
87
+
88
+ appFocusListeners.add(callback)
89
+
90
+ return {
91
+ appFocusListeners.remove(callback)
92
+
93
+ if (appFocusListeners.isEmpty()) {
94
+ val carAppFocusManager =
95
+ getCar().getCarManager(Car.APP_FOCUS_SERVICE) as CarAppFocusManager
96
+
97
+ carAppFocusManager.removeFocusListener(
98
+ onAppFocusChangedListener, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION
99
+ )
100
+ }
101
+ }
102
+ }
103
+
104
+ override fun getAppFocusState(): AppFocusState {
105
+ val carAppFocusManager = getCar().getCarManager(Car.APP_FOCUS_SERVICE) as CarAppFocusManager
106
+ isFocusOwned = carAppFocusManager.isOwningFocus(
107
+ onAppFocusOwnershipCallback, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION
108
+ )
109
+
110
+ return AppFocusState(isFocusOwned, isFocusActive)
111
+ }
112
+
113
+ override fun requestAppFocus(): () -> Unit {
114
+ val carAppFocusManager = getCar().getCarManager(Car.APP_FOCUS_SERVICE) as CarAppFocusManager
115
+ carAppFocusManager.requestAppFocus(
116
+ CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION, onAppFocusOwnershipCallback
117
+ )
118
+
119
+ return {
120
+ carAppFocusManager.abandonAppFocus(
121
+ onAppFocusOwnershipCallback, CarAppFocusManager.APP_FOCUS_TYPE_NAVIGATION
122
+ )
123
+ }
124
+ }
125
+
126
+ companion object {
127
+ private var isFocusOwned: Boolean? = null
128
+ private var isFocusActive: Boolean? = null
129
+
130
+ private val uxRestrictionListeners =
131
+ CopyOnWriteArrayList<(ActiveCarUxRestrictions) -> Unit>()
132
+ private val appFocusListeners = CopyOnWriteArrayList<(AppFocusState) -> Unit>()
133
+
134
+ private fun notifyAppFocusListeners() {
135
+ val state = AppFocusState(isFocusOwned, isFocusActive)
136
+
137
+ appFocusListeners.forEach {
138
+ it(state)
139
+ }
140
+ }
141
+
142
+ private fun notifyUxRestrictionListeners(restrictions: ActiveCarUxRestrictions) {
143
+ uxRestrictionListeners.forEach {
144
+ it(restrictions)
145
+ }
146
+ }
147
+ }
148
+
149
+ fun android.car.drivingstate.CarUxRestrictions.toActiveCarUxRestrictions(): ActiveCarUxRestrictions {
150
+ val restrictions = mutableListOf<CarUxRestrictions>()
151
+
152
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_DIALPAD) != 0) {
153
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_DIALPAD)
154
+ }
155
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_FILTERING) != 0) {
156
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_FILTERING)
157
+ }
158
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_LIMIT_STRING_LENGTH) != 0) {
159
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_LIMIT_STRING_LENGTH)
160
+ }
161
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_KEYBOARD) != 0) {
162
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_KEYBOARD)
163
+ }
164
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_VIDEO) != 0) {
165
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_VIDEO)
166
+ }
167
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_LIMIT_CONTENT) != 0) {
168
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_LIMIT_CONTENT)
169
+ }
170
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_SETUP) != 0) {
171
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_SETUP)
172
+ }
173
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_TEXT_MESSAGE) != 0) {
174
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_TEXT_MESSAGE)
175
+ }
176
+ if ((activeRestrictions and android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_NO_VOICE_TRANSCRIPTION) != 0) {
177
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_NO_VOICE_TRANSCRIPTION)
178
+ }
179
+ if (activeRestrictions == android.car.drivingstate.CarUxRestrictions.UX_RESTRICTIONS_FULLY_RESTRICTED) {
180
+ restrictions.add(CarUxRestrictions.UX_RESTRICTIONS_FULLY_RESTRICTED)
181
+ }
182
+
183
+ return ActiveCarUxRestrictions(
184
+ maxContentDepth = maxContentDepth.toDouble(),
185
+ maxCumulativeContentItems = maxCumulativeContentItems.toDouble(),
186
+ maxRestrictedStringLength = maxRestrictedStringLength.toDouble(),
187
+ activeRestrictions = restrictions.toTypedArray()
188
+ )
189
+ }
190
+ }
@@ -1,5 +1,7 @@
1
1
  package com.margelo.nitro.swe.iternio.reactnativeautoplay
2
2
 
3
+ import kotlin.math.floor
4
+
3
5
  class AndroidAutoTelemetryHolder {
4
6
  private var isDirty = false
5
7
  private val lock = Any()
@@ -34,6 +36,9 @@ class AndroidAutoTelemetryHolder {
34
36
  private var parkingBrakeOn: Boolean? = null
35
37
  private var parkingBrakeOnTimestamp: Int? = null
36
38
 
39
+ private var soe: Float? = null
40
+ private var soeTimestamp: Int? = null
41
+
37
42
  private var name: String? = null
38
43
  private var manufacturer: String? = null
39
44
  private var year: Int? = null
@@ -146,6 +151,30 @@ class AndroidAutoTelemetryHolder {
146
151
  isDirty = true
147
152
  }
148
153
 
154
+ fun updateBatteryLevel(levelWh: Float, capacityWh: Float) = synchronized(lock) {
155
+ if (soe == levelWh) {
156
+ return
157
+ }
158
+
159
+ if (capacityWh <= 0f) {
160
+ throw Exception("got invalid battery capacity $capacityWh")
161
+ }
162
+
163
+ val soc = levelWh / capacityWh * 100
164
+ if (!soc.isFinite() || floor(soc) < 0 || floor(soc) > 100) {
165
+ throw Exception("got invalid soc $soc, expecting value from 0 to 100 EV_BATTERY_LEVEL: ${levelWh}, evBatteryCapacity: $capacityWh")
166
+ }
167
+
168
+ soe = levelWh
169
+ batteryLevel = soc
170
+
171
+ val timestamp = (System.currentTimeMillis() / 1000L).toInt()
172
+ soeTimestamp = timestamp
173
+ batteryLevelTimestamp = timestamp
174
+
175
+ isDirty = true
176
+ }
177
+
149
178
  fun toTelemetry(): Telemetry? {
150
179
  synchronized(lock) {
151
180
  if (!isDirty) {
@@ -173,6 +202,9 @@ class AndroidAutoTelemetryHolder {
173
202
  evBatteryInstantaneousChargeRate = createNumericTelemetryItem(
174
203
  evBatteryInstantaneousChargeRate, evBatteryInstantaneousChargeRateTimeStamp
175
204
  ),
205
+ soe = createNumericTelemetryItem(
206
+ soe, soeTimestamp
207
+ ),
176
208
  vehicle = VehicleTelemetryItem(
177
209
  name = createStringTelemetryItem(name),
178
210
  manufacturer = createStringTelemetryItem(manufacturer),
@@ -278,6 +278,7 @@ class HybridAutoPlay: HybridAutoPlaySpec {
278
278
  }
279
279
 
280
280
  template.barButtons = headerActions
281
+ setBarButtons(template: template.getTemplate(), barButtons: headerActions)
281
282
  }
282
283
  }
283
284
  }
@@ -27,7 +27,7 @@ class HybridMapTemplate: HybridMapTemplateSpec {
27
27
  try await MainActor.run {
28
28
  try RootModule.withAutoPlayTemplate(templateId: templateId) {
29
29
  (template: MapTemplate) in
30
- template.config.mapButtons = buttons
30
+ template.mapButtons = buttons
31
31
  template.invalidate()
32
32
  }
33
33
  }
@@ -34,8 +34,8 @@ class AutoPlayTemplate: NSObject {
34
34
  func onPopped() {}
35
35
  }
36
36
 
37
- protocol AutoPlayHeaderProviding {
38
- @MainActor var barButtons: [NitroAction]? { get set }
37
+ class AutoPlayHeaderProviding: AutoPlayTemplate {
38
+ var barButtons: [NitroAction]?
39
39
  }
40
40
 
41
41
  @MainActor
@@ -7,19 +7,11 @@
7
7
 
8
8
  import CarPlay
9
9
 
10
- class GridTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
10
+ class GridTemplate: AutoPlayHeaderProviding {
11
11
  let template: CPGridTemplate
12
12
  var config: GridTemplateConfig
13
13
 
14
- var barButtons: [NitroAction]? {
15
- get {
16
- return config.headerActions
17
- }
18
- set {
19
- config.headerActions = newValue
20
- setBarButtons(template: template, barButtons: newValue)
21
- }
22
- }
14
+ var buttons: [NitroGridButton]
23
15
 
24
16
  override var autoDismissMs: Double? {
25
17
  return config.autoDismissMs
@@ -31,12 +23,18 @@ class GridTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
31
23
 
32
24
  init(config: GridTemplateConfig) {
33
25
  self.config = config
34
-
26
+ buttons = config.buttons
27
+
35
28
  template = CPGridTemplate(
36
29
  title: Parser.parseText(text: config.title),
37
- gridButtons: GridTemplate.parseButtons(buttons: config.buttons),
30
+ gridButtons: GridTemplate.parseButtons(buttons: buttons),
38
31
  id: config.id
39
32
  )
33
+
34
+ super.init()
35
+
36
+ barButtons = config.headerActions
37
+
40
38
  }
41
39
 
42
40
  static func parseButtons(buttons: [NitroGridButton]) -> [CPGridButton] {
@@ -83,9 +81,9 @@ class GridTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
83
81
 
84
82
  @MainActor
85
83
  override func _invalidate() {
86
- setBarButtons(template: template, barButtons: config.headerActions)
84
+ setBarButtons(template: template, barButtons: barButtons)
87
85
 
88
- let buttons = GridTemplate.parseButtons(buttons: config.buttons)
86
+ let buttons = GridTemplate.parseButtons(buttons: buttons)
89
87
  template.updateGridButtons(buttons)
90
88
  }
91
89
 
@@ -111,7 +109,7 @@ class GridTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
111
109
 
112
110
  @MainActor
113
111
  func updateButtons(buttons: [NitroGridButton]) {
114
- config.buttons = buttons
112
+ self.buttons = buttons
115
113
  invalidate()
116
114
  }
117
115
  }
@@ -7,19 +7,11 @@
7
7
 
8
8
  import CarPlay
9
9
 
10
- class InformationTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
10
+ class InformationTemplate: AutoPlayHeaderProviding {
11
11
  let template: CPInformationTemplate
12
12
  var config: InformationTemplateConfig
13
13
 
14
- var barButtons: [NitroAction]? {
15
- get {
16
- return config.headerActions
17
- }
18
- set {
19
- config.headerActions = newValue
20
- setBarButtons(template: template, barButtons: newValue)
21
- }
22
- }
14
+ var section: NitroSection
23
15
 
24
16
  override var autoDismissMs: Double? {
25
17
  return config.autoDismissMs
@@ -31,20 +23,26 @@ class InformationTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
31
23
 
32
24
  init(config: InformationTemplateConfig) {
33
25
  self.config = config
26
+
27
+ section = config.section
34
28
 
35
29
  template = CPInformationTemplate(
36
30
  title: Parser.parseText(text: config.title)!,
37
31
  layout: .leading,
38
- items: Parser.parseInformationItems(section: config.section),
32
+ items: Parser.parseInformationItems(section: section),
39
33
  actions: Parser.parseInformationActions(actions: config.actions),
40
34
  id: config.id
41
35
  )
36
+
37
+ super.init();
38
+
39
+ barButtons = config.headerActions
42
40
  }
43
41
 
44
42
  @MainActor
45
43
  override func _invalidate() {
46
44
  setBarButtons(template: template, barButtons: barButtons)
47
- template.items = Parser.parseInformationItems(section: config.section)
45
+ template.items = Parser.parseInformationItems(section: section)
48
46
  }
49
47
 
50
48
  override func onWillAppear(animated: Bool) {
@@ -69,7 +67,7 @@ class InformationTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
69
67
 
70
68
  @MainActor
71
69
  func updateSection(section: NitroSection) {
72
- config.section = section
70
+ self.section = section
73
71
  invalidate()
74
72
  }
75
73
  }
@@ -7,19 +7,11 @@
7
7
 
8
8
  import CarPlay
9
9
 
10
- class ListTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
10
+ class ListTemplate: AutoPlayHeaderProviding {
11
11
  let template: CPListTemplate
12
12
  var config: ListTemplateConfig
13
13
 
14
- var barButtons: [NitroAction]? {
15
- get {
16
- return config.headerActions
17
- }
18
- set {
19
- config.headerActions = newValue
20
- setBarButtons(template: template, barButtons: newValue)
21
- }
22
- }
14
+ var sections: [NitroSection]?
23
15
 
24
16
  override var autoDismissMs: Double? {
25
17
  return config.autoDismissMs
@@ -31,6 +23,8 @@ class ListTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
31
23
 
32
24
  init(config: ListTemplateConfig) {
33
25
  self.config = config
26
+
27
+ sections = config.sections
34
28
 
35
29
  template = CPListTemplate(
36
30
  title: Parser.parseText(text: config.title),
@@ -38,6 +32,10 @@ class ListTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
38
32
  assistantCellConfiguration: nil,
39
33
  id: config.id
40
34
  )
35
+
36
+ super.init()
37
+
38
+ barButtons = config.headerActions
41
39
  }
42
40
 
43
41
  @MainActor
@@ -46,7 +44,7 @@ class ListTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
46
44
 
47
45
  template.updateSections(
48
46
  Parser.parseSections(
49
- sections: config.sections,
47
+ sections: sections,
50
48
  updateSection: self.updateSection(section:sectionIndex:),
51
49
  traitCollection: SceneStore.getRootTraitCollection()
52
50
  )
@@ -75,13 +73,13 @@ class ListTemplate: AutoPlayTemplate, AutoPlayHeaderProviding {
75
73
 
76
74
  @MainActor
77
75
  private func updateSection(section: NitroSection, sectionIndex: Int) {
78
- config.sections?[sectionIndex] = section
76
+ self.sections?[sectionIndex] = section
79
77
  invalidate()
80
78
  }
81
79
 
82
80
  @MainActor
83
81
  func updateSections(sections: [NitroSection]?) {
84
- config.sections = sections
82
+ self.sections = sections
85
83
  invalidate()
86
84
  }
87
85
  }