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

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 (478) hide show
  1. package/android/build.gradle +2 -2
  2. package/android/src/automotive/AndroidManifest.xml +2 -0
  3. package/android/src/automotive/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidTelemetryObserver.kt +26 -10
  4. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoTelemetryHolder.kt +32 -0
  5. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInWithGoogleActivity.kt +63 -0
  6. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/SignInTemplate.kt +52 -0
  7. package/ios/hybrid/HybridAutoPlay.swift +1 -0
  8. package/ios/hybrid/HybridMapTemplate.swift +1 -1
  9. package/ios/templates/AutoPlayTemplate.swift +2 -2
  10. package/ios/templates/GridTemplate.swift +13 -15
  11. package/ios/templates/InformationTemplate.swift +11 -13
  12. package/ios/templates/ListTemplate.swift +11 -13
  13. package/ios/templates/MapTemplate.swift +24 -20
  14. package/ios/templates/Parser.swift +25 -10
  15. package/ios/templates/SearchTemplate.swift +7 -4
  16. package/lib/types/SignInMethod.d.ts +17 -2
  17. package/lib/types/SignInMethod.js +1 -1
  18. package/lib/types/Telemetry.d.ts +4 -0
  19. package/lib/types/Trip.d.ts +4 -0
  20. package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.cmake +2 -2
  21. package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.gradle +1 -1
  22. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +3 -1
  23. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.hpp +1 -1
  24. package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +4 -5
  25. package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +4 -5
  26. package/nitrogen/generated/android/c++/JAssetImage.hpp +1 -1
  27. package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
  28. package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +1 -1
  29. package/nitrogen/generated/android/c++/JClusterEventName.hpp +5 -6
  30. package/nitrogen/generated/android/c++/JColorScheme.hpp +3 -4
  31. package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
  32. package/nitrogen/generated/android/c++/JDistanceUnits.hpp +6 -7
  33. package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
  34. package/nitrogen/generated/android/c++/JEventName.hpp +3 -4
  35. package/nitrogen/generated/android/c++/JForkType.hpp +3 -4
  36. package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
  37. package/nitrogen/generated/android/c++/JFunc_void_AlertDismissalReason.hpp +1 -1
  38. package/nitrogen/generated/android/c++/JFunc_void_ColorScheme.hpp +1 -1
  39. package/nitrogen/generated/android/c++/JFunc_void_Point.hpp +1 -1
  40. package/nitrogen/generated/android/c++/JFunc_void_Point_double.hpp +1 -1
  41. package/nitrogen/generated/android/c++/JFunc_void_Point_std__optional_Point_.hpp +1 -1
  42. package/nitrogen/generated/android/c++/JFunc_void_SafeAreaInsets.hpp +1 -1
  43. package/nitrogen/generated/android/c++/JFunc_void_VisibilityState.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
  45. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Location__std__optional_std__string_.hpp +1 -1
  46. package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry_.hpp +1 -1
  47. package/nitrogen/generated/android/c++/JFunc_void_std__optional_bool_.hpp +1 -1
  48. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount_.hpp +79 -0
  49. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +1 -1
  50. package/nitrogen/generated/android/c++/JFunc_void_std__string_ColorScheme.hpp +1 -1
  51. package/nitrogen/generated/android/c++/JFunc_void_std__string_ZoomEvent.hpp +1 -1
  52. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool.hpp +1 -1
  53. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +1 -1
  54. package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
  55. package/nitrogen/generated/android/c++/JGoogleSignIn.hpp +81 -0
  56. package/nitrogen/generated/android/c++/JGoogleSignInAccount.hpp +86 -0
  57. package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
  58. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.cpp +8 -1
  59. package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.hpp +2 -1
  60. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +9 -1
  61. package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +2 -1
  62. package/nitrogen/generated/android/c++/JHybridClusterSpec.cpp +9 -1
  63. package/nitrogen/generated/android/c++/JHybridClusterSpec.hpp +2 -1
  64. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +9 -1
  65. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +2 -1
  66. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +9 -1
  67. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +2 -1
  68. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +9 -1
  69. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +2 -1
  70. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +9 -1
  71. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +2 -1
  72. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +8 -1
  73. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.hpp +2 -1
  74. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +9 -1
  75. package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +2 -1
  76. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp +19 -2
  77. package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.hpp +2 -1
  78. package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
  79. package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
  80. package/nitrogen/generated/android/c++/JInputSignIn.hpp +1 -1
  81. package/nitrogen/generated/android/c++/JKeepType.hpp +4 -5
  82. package/nitrogen/generated/android/c++/JKeyboardType.hpp +5 -6
  83. package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
  84. package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
  85. package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
  86. package/nitrogen/generated/android/c++/JManeuverType.hpp +13 -14
  87. package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
  88. package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
  89. package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
  90. package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
  91. package/nitrogen/generated/android/c++/JNitroActionType.hpp +4 -5
  92. package/nitrogen/generated/android/c++/JNitroAlignment.hpp +3 -4
  93. package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
  94. package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
  95. package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
  96. package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +6 -7
  97. package/nitrogen/generated/android/c++/JNitroColor.hpp +1 -1
  98. package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
  99. package/nitrogen/generated/android/c++/JNitroImage.cpp +1 -1
  100. package/nitrogen/generated/android/c++/JNitroImage.hpp +3 -3
  101. package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
  102. package/nitrogen/generated/android/c++/JNitroManeuver.cpp +1 -1
  103. package/nitrogen/generated/android/c++/JNitroManeuver.hpp +7 -4
  104. package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
  105. package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +3 -4
  106. package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
  107. package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
  108. package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +4 -1
  109. package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
  110. package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
  111. package/nitrogen/generated/android/c++/JNitroSectionType.hpp +3 -4
  112. package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
  113. package/nitrogen/generated/android/c++/JOffRampType.hpp +5 -6
  114. package/nitrogen/generated/android/c++/JOnRampType.hpp +9 -10
  115. package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +1 -1
  116. package/nitrogen/generated/android/c++/JPinSignIn.hpp +1 -1
  117. package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
  118. package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
  119. package/nitrogen/generated/android/c++/JQrSignIn.hpp +1 -1
  120. package/nitrogen/generated/android/c++/JRouteChoice.hpp +4 -1
  121. package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
  122. package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
  123. package/nitrogen/generated/android/c++/JSignInMethods.hpp +7 -8
  124. package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +11 -6
  125. package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
  126. package/nitrogen/generated/android/c++/JTelemetry.hpp +8 -4
  127. package/nitrogen/generated/android/c++/JTextInputType.hpp +3 -4
  128. package/nitrogen/generated/android/c++/JTrafficSide.hpp +3 -4
  129. package/nitrogen/generated/android/c++/JTravelEstimates.hpp +19 -4
  130. package/nitrogen/generated/android/c++/JTripConfig.hpp +4 -1
  131. package/nitrogen/generated/android/c++/JTripPoint.hpp +4 -1
  132. package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
  133. package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
  134. package/nitrogen/generated/android/c++/JTripsConfig.hpp +4 -1
  135. package/nitrogen/generated/android/c++/JTurnType.hpp +10 -11
  136. package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.cpp +1 -1
  137. package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.hpp +3 -3
  138. package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.cpp +1 -1
  139. package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.hpp +3 -3
  140. package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.cpp +34 -0
  141. package/nitrogen/generated/android/c++/{JVariant_QrSignIn_PinSignIn_InputSignIn.hpp → JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.hpp} +41 -21
  142. package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
  143. package/nitrogen/generated/android/c++/JVisibilityState.hpp +5 -6
  144. package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +3 -4
  145. package/nitrogen/generated/android/c++/JZoomEvent.hpp +3 -4
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertActionStyle.kt +3 -1
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertDismissalReason.kt +3 -1
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage.kt +3 -3
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AutoText.kt +4 -4
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/BooleanTelemetryItem.kt +2 -2
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ClusterEventName.kt +3 -1
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ColorScheme.kt +3 -1
  153. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Distance.kt +2 -2
  154. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DistanceUnits.kt +3 -1
  155. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DurationWithTimeZone.kt +2 -2
  156. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/EventName.kt +3 -1
  157. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ForkType.kt +3 -1
  158. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void.kt +1 -1
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AlertDismissalReason.kt +1 -1
  160. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ColorScheme.kt +1 -1
  161. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point.kt +1 -1
  162. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_double.kt +1 -1
  163. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_std__optional_Point_.kt +1 -1
  164. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_SafeAreaInsets.kt +1 -1
  165. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_VisibilityState.kt +1 -1
  166. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_bool.kt +1 -1
  167. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Location__std__optional_std__string_.kt +1 -1
  168. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Telemetry_.kt +1 -1
  169. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_bool_.kt +1 -1
  170. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_std__string__std__optional_GoogleSignInAccount_.kt +80 -0
  171. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string.kt +1 -1
  172. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ColorScheme.kt +1 -1
  173. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ZoomEvent.kt +1 -1
  174. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_bool.kt +1 -1
  175. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_std__string.kt +1 -1
  176. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GlyphImage.kt +3 -3
  177. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GoogleSignIn.kt +48 -0
  178. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GoogleSignInAccount.kt +59 -0
  179. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GridTemplateConfig.kt +10 -10
  180. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +1 -1
  181. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +1 -1
  182. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +1 -1
  183. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +1 -1
  184. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +1 -1
  185. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +1 -1
  186. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +1 -1
  187. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +1 -1
  188. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +1 -1
  189. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +1 -1
  190. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ImageLane.kt +2 -2
  191. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InformationTemplateConfig.kt +11 -11
  192. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InputSignIn.kt +7 -7
  193. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeepType.kt +3 -1
  194. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeyboardType.kt +3 -1
  195. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/LaneGuidance.kt +2 -2
  196. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ListTemplateConfig.kt +11 -11
  197. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Location.kt +2 -2
  198. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ManeuverType.kt +3 -1
  199. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MapTemplateConfig.kt +19 -19
  200. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MessageTemplateConfig.kt +13 -13
  201. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NavigationAlertAction.kt +3 -3
  202. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAction.kt +8 -8
  203. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroActionType.kt +3 -1
  204. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAlignment.kt +3 -1
  205. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedString.kt +3 -3
  206. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedStringImage.kt +2 -2
  207. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroBaseMapTemplateConfig.kt +11 -11
  208. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroButtonStyle.kt +3 -1
  209. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroColor.kt +2 -2
  210. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroGridButton.kt +2 -2
  211. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroImage.kt +1 -1
  212. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroLoadingManeuver.kt +2 -2
  213. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +1 -1
  214. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButton.kt +3 -3
  215. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButtonType.kt +3 -1
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMessageManeuver.kt +4 -4
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroNavigationAlert.kt +7 -7
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRoutingManeuver.kt +14 -14
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRow.kt +8 -8
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSection.kt +3 -3
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSectionType.kt +3 -1
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NumericTelemetryItem.kt +2 -2
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OffRampType.kt +3 -1
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OnRampType.kt +3 -1
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PermissionRequestResult.kt +2 -2
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PinSignIn.kt +2 -2
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Point.kt +2 -2
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PreferredImageLane.kt +2 -2
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/QrSignIn.kt +2 -2
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ReactNativeAutoPlayOnLoad.kt +1 -1
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/RouteChoice.kt +2 -2
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SafeAreaInsets.kt +3 -3
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SearchTemplateConfig.kt +11 -11
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInMethods.kt +4 -2
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInTemplateConfig.kt +16 -16
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/StringTelemetryItem.kt +2 -2
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Telemetry.kt +18 -15
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TextInputType.kt +3 -1
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TrafficSide.kt +3 -1
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TravelEstimates.kt +13 -6
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripConfig.kt +2 -2
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPoint.kt +2 -2
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPreviewTextConfiguration.kt +2 -2
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripSelectorCallback.kt +2 -2
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripsConfig.kt +2 -2
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TurnType.kt +3 -1
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_GlyphImage_AssetImage.kt +1 -1
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_PreferredImageLane_ImageLane.kt +1 -1
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/{Variant_QrSignIn_PinSignIn_InputSignIn.kt → Variant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.kt} +24 -11
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VehicleTelemetryItem.kt +5 -5
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibilityState.kt +3 -1
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibleTravelEstimate.kt +3 -1
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ZoomEvent.kt +3 -1
  254. package/nitrogen/generated/ios/ReactNativeAutoPlay+autolinking.rb +2 -2
  255. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.cpp +1 -1
  256. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +4 -4
  257. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +1 -1
  258. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.mm +1 -1
  259. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.swift +41 -64
  260. package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.cpp +1 -1
  261. package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.hpp +7 -1
  262. package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.cpp +1 -1
  263. package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.hpp +7 -1
  264. package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.cpp +1 -1
  265. package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.hpp +7 -1
  266. package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.cpp +1 -1
  267. package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.hpp +7 -1
  268. package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.cpp +1 -1
  269. package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.hpp +7 -1
  270. package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.cpp +1 -1
  271. package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.hpp +7 -1
  272. package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.cpp +1 -1
  273. package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.hpp +7 -1
  274. package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.cpp +1 -1
  275. package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.hpp +7 -1
  276. package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.cpp +1 -1
  277. package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.hpp +7 -1
  278. package/nitrogen/generated/ios/swift/AlertActionStyle.swift +1 -1
  279. package/nitrogen/generated/ios/swift/AlertDismissalReason.swift +1 -1
  280. package/nitrogen/generated/ios/swift/AssetImage.swift +13 -55
  281. package/nitrogen/generated/ios/swift/AutoText.swift +7 -37
  282. package/nitrogen/generated/ios/swift/ClusterEventName.swift +1 -1
  283. package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
  284. package/nitrogen/generated/ios/swift/Distance.swift +5 -17
  285. package/nitrogen/generated/ios/swift/DistanceUnits.swift +1 -1
  286. package/nitrogen/generated/ios/swift/DurationWithTimeZone.swift +5 -17
  287. package/nitrogen/generated/ios/swift/EventName.swift +1 -1
  288. package/nitrogen/generated/ios/swift/ForkType.swift +1 -1
  289. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  290. package/nitrogen/generated/ios/swift/Func_void_AlertDismissalReason.swift +1 -1
  291. package/nitrogen/generated/ios/swift/Func_void_ColorScheme.swift +1 -1
  292. package/nitrogen/generated/ios/swift/Func_void_Point.swift +1 -1
  293. package/nitrogen/generated/ios/swift/Func_void_Point_double.swift +1 -1
  294. package/nitrogen/generated/ios/swift/Func_void_Point_std__optional_Point_.swift +1 -1
  295. package/nitrogen/generated/ios/swift/Func_void_SafeAreaInsets.swift +1 -1
  296. package/nitrogen/generated/ios/swift/Func_void_VisibilityState.swift +1 -1
  297. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  298. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  299. package/nitrogen/generated/ios/swift/Func_void_std__optional_Location__std__optional_std__string_.swift +1 -1
  300. package/nitrogen/generated/ios/swift/Func_void_std__optional_bool_.swift +1 -1
  301. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  302. package/nitrogen/generated/ios/swift/Func_void_std__string_ColorScheme.swift +1 -1
  303. package/nitrogen/generated/ios/swift/Func_void_std__string_ZoomEvent.swift +1 -1
  304. package/nitrogen/generated/ios/swift/Func_void_std__string_bool.swift +1 -1
  305. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +1 -1
  306. package/nitrogen/generated/ios/swift/GlyphImage.swift +9 -39
  307. package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +114 -255
  308. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec.swift +3 -3
  309. package/nitrogen/generated/ios/swift/HybridAutoPlaySpec_cxx.swift +9 -1
  310. package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec.swift +3 -3
  311. package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec_cxx.swift +9 -1
  312. package/nitrogen/generated/ios/swift/HybridClusterSpec.swift +3 -3
  313. package/nitrogen/generated/ios/swift/HybridClusterSpec_cxx.swift +9 -1
  314. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec.swift +3 -3
  315. package/nitrogen/generated/ios/swift/HybridGridTemplateSpec_cxx.swift +9 -1
  316. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec.swift +3 -3
  317. package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec_cxx.swift +9 -1
  318. package/nitrogen/generated/ios/swift/HybridListTemplateSpec.swift +3 -3
  319. package/nitrogen/generated/ios/swift/HybridListTemplateSpec_cxx.swift +9 -1
  320. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec.swift +3 -3
  321. package/nitrogen/generated/ios/swift/HybridMapTemplateSpec_cxx.swift +9 -1
  322. package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec.swift +3 -3
  323. package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec_cxx.swift +9 -1
  324. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec.swift +3 -3
  325. package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec_cxx.swift +9 -1
  326. package/nitrogen/generated/ios/swift/ImageLane.swift +17 -42
  327. package/nitrogen/generated/ios/swift/InformationTemplateConfig.swift +123 -276
  328. package/nitrogen/generated/ios/swift/KeepType.swift +1 -1
  329. package/nitrogen/generated/ios/swift/LaneGuidance.swift +17 -48
  330. package/nitrogen/generated/ios/swift/ListTemplateConfig.swift +121 -268
  331. package/nitrogen/generated/ios/swift/Location.swift +5 -17
  332. package/nitrogen/generated/ios/swift/ManeuverType.swift +1 -1
  333. package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +232 -499
  334. package/nitrogen/generated/ios/swift/MessageTemplateConfig.swift +144 -322
  335. package/nitrogen/generated/ios/swift/NavigationAlertAction.swift +12 -39
  336. package/nitrogen/generated/ios/swift/NitroAction.swift +55 -149
  337. package/nitrogen/generated/ios/swift/NitroActionType.swift +1 -1
  338. package/nitrogen/generated/ios/swift/NitroAlignment.swift +1 -1
  339. package/nitrogen/generated/ios/swift/NitroAttributedString.swift +12 -36
  340. package/nitrogen/generated/ios/swift/NitroAttributedStringImage.swift +17 -36
  341. package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +129 -267
  342. package/nitrogen/generated/ios/swift/NitroButtonStyle.swift +1 -1
  343. package/nitrogen/generated/ios/swift/NitroCarPlayDashboardButton.swift +35 -93
  344. package/nitrogen/generated/ios/swift/NitroColor.swift +5 -17
  345. package/nitrogen/generated/ios/swift/NitroGridButton.swift +24 -52
  346. package/nitrogen/generated/ios/swift/NitroImage.swift +1 -1
  347. package/nitrogen/generated/ios/swift/NitroLoadingManeuver.swift +3 -9
  348. package/nitrogen/generated/ios/swift/NitroManeuver.swift +1 -1
  349. package/nitrogen/generated/ios/swift/NitroMapButton.swift +31 -65
  350. package/nitrogen/generated/ios/swift/NitroMapButtonType.swift +1 -1
  351. package/nitrogen/generated/ios/swift/NitroMessageManeuver.swift +35 -78
  352. package/nitrogen/generated/ios/swift/NitroNavigationAlert.swift +64 -167
  353. package/nitrogen/generated/ios/swift/NitroRoutingManeuver.swift +91 -309
  354. package/nitrogen/generated/ios/swift/NitroRow.swift +75 -169
  355. package/nitrogen/generated/ios/swift/NitroSection.swift +14 -44
  356. package/nitrogen/generated/ios/swift/NitroSectionType.swift +1 -1
  357. package/nitrogen/generated/ios/swift/OffRampType.swift +1 -1
  358. package/nitrogen/generated/ios/swift/OnRampType.swift +1 -1
  359. package/nitrogen/generated/ios/swift/Point.swift +5 -17
  360. package/nitrogen/generated/ios/swift/PreferredImageLane.swift +21 -58
  361. package/nitrogen/generated/ios/swift/RouteChoice.swift +11 -65
  362. package/nitrogen/generated/ios/swift/SafeAreaInsets.swift +18 -54
  363. package/nitrogen/generated/ios/swift/SearchTemplateConfig.swift +144 -309
  364. package/nitrogen/generated/ios/swift/TrafficSide.swift +1 -1
  365. package/nitrogen/generated/ios/swift/TravelEstimates.swift +34 -32
  366. package/nitrogen/generated/ios/swift/TripConfig.swift +5 -17
  367. package/nitrogen/generated/ios/swift/TripPoint.swift +9 -33
  368. package/nitrogen/generated/ios/swift/TripPreviewTextConfiguration.swift +9 -33
  369. package/nitrogen/generated/ios/swift/TripSelectorCallback.swift +8 -17
  370. package/nitrogen/generated/ios/swift/TripsConfig.swift +5 -23
  371. package/nitrogen/generated/ios/swift/TurnType.swift +1 -1
  372. package/nitrogen/generated/ios/swift/Variant_GlyphImage_AssetImage.swift +1 -1
  373. package/nitrogen/generated/ios/swift/Variant_PreferredImageLane_ImageLane.swift +1 -1
  374. package/nitrogen/generated/ios/swift/VisibilityState.swift +1 -1
  375. package/nitrogen/generated/ios/swift/VisibleTravelEstimate.swift +1 -1
  376. package/nitrogen/generated/ios/swift/ZoomEvent.swift +1 -1
  377. package/nitrogen/generated/shared/c++/AlertActionStyle.hpp +1 -1
  378. package/nitrogen/generated/shared/c++/AlertDismissalReason.hpp +1 -1
  379. package/nitrogen/generated/shared/c++/AssetImage.hpp +28 -20
  380. package/nitrogen/generated/shared/c++/AutoText.hpp +19 -11
  381. package/nitrogen/generated/shared/c++/BooleanTelemetryItem.hpp +16 -8
  382. package/nitrogen/generated/shared/c++/ClusterEventName.hpp +1 -1
  383. package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
  384. package/nitrogen/generated/shared/c++/Distance.hpp +16 -8
  385. package/nitrogen/generated/shared/c++/DistanceUnits.hpp +1 -1
  386. package/nitrogen/generated/shared/c++/DurationWithTimeZone.hpp +16 -8
  387. package/nitrogen/generated/shared/c++/EventName.hpp +1 -1
  388. package/nitrogen/generated/shared/c++/ForkType.hpp +1 -1
  389. package/nitrogen/generated/shared/c++/GlyphImage.hpp +22 -14
  390. package/nitrogen/generated/shared/c++/GoogleSignIn.hpp +98 -0
  391. package/nitrogen/generated/shared/c++/GoogleSignInAccount.hpp +112 -0
  392. package/nitrogen/generated/shared/c++/GridTemplateConfig.hpp +43 -35
  393. package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.cpp +1 -1
  394. package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.hpp +1 -1
  395. package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.cpp +1 -1
  396. package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.hpp +1 -1
  397. package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.cpp +1 -1
  398. package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.hpp +1 -1
  399. package/nitrogen/generated/shared/c++/HybridClusterSpec.cpp +1 -1
  400. package/nitrogen/generated/shared/c++/HybridClusterSpec.hpp +1 -1
  401. package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.cpp +1 -1
  402. package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.hpp +1 -1
  403. package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.cpp +1 -1
  404. package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.hpp +1 -1
  405. package/nitrogen/generated/shared/c++/HybridListTemplateSpec.cpp +1 -1
  406. package/nitrogen/generated/shared/c++/HybridListTemplateSpec.hpp +1 -1
  407. package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.cpp +1 -1
  408. package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.hpp +1 -1
  409. package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.cpp +1 -1
  410. package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.hpp +1 -1
  411. package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.cpp +1 -1
  412. package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.hpp +1 -1
  413. package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.cpp +1 -1
  414. package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.hpp +1 -1
  415. package/nitrogen/generated/shared/c++/ImageLane.hpp +16 -8
  416. package/nitrogen/generated/shared/c++/InformationTemplateConfig.hpp +46 -38
  417. package/nitrogen/generated/shared/c++/InputSignIn.hpp +34 -26
  418. package/nitrogen/generated/shared/c++/KeepType.hpp +1 -1
  419. package/nitrogen/generated/shared/c++/KeyboardType.hpp +1 -1
  420. package/nitrogen/generated/shared/c++/LaneGuidance.hpp +16 -8
  421. package/nitrogen/generated/shared/c++/ListTemplateConfig.hpp +43 -35
  422. package/nitrogen/generated/shared/c++/Location.hpp +16 -8
  423. package/nitrogen/generated/shared/c++/ManeuverType.hpp +1 -1
  424. package/nitrogen/generated/shared/c++/MapTemplateConfig.hpp +67 -59
  425. package/nitrogen/generated/shared/c++/MessageTemplateConfig.hpp +49 -41
  426. package/nitrogen/generated/shared/c++/NavigationAlertAction.hpp +19 -11
  427. package/nitrogen/generated/shared/c++/NitroAction.hpp +34 -26
  428. package/nitrogen/generated/shared/c++/NitroActionType.hpp +1 -1
  429. package/nitrogen/generated/shared/c++/NitroAlignment.hpp +1 -1
  430. package/nitrogen/generated/shared/c++/NitroAttributedString.hpp +16 -8
  431. package/nitrogen/generated/shared/c++/NitroAttributedStringImage.hpp +16 -8
  432. package/nitrogen/generated/shared/c++/NitroBaseMapTemplateConfig.hpp +37 -29
  433. package/nitrogen/generated/shared/c++/NitroButtonStyle.hpp +1 -1
  434. package/nitrogen/generated/shared/c++/NitroCarPlayDashboardButton.hpp +25 -17
  435. package/nitrogen/generated/shared/c++/NitroColor.hpp +16 -8
  436. package/nitrogen/generated/shared/c++/NitroGridButton.hpp +19 -11
  437. package/nitrogen/generated/shared/c++/NitroLoadingManeuver.hpp +13 -5
  438. package/nitrogen/generated/shared/c++/NitroMapButton.hpp +19 -11
  439. package/nitrogen/generated/shared/c++/NitroMapButtonType.hpp +1 -1
  440. package/nitrogen/generated/shared/c++/NitroMessageManeuver.hpp +22 -14
  441. package/nitrogen/generated/shared/c++/NitroNavigationAlert.hpp +40 -32
  442. package/nitrogen/generated/shared/c++/NitroRoutingManeuver.hpp +67 -59
  443. package/nitrogen/generated/shared/c++/NitroRow.hpp +34 -26
  444. package/nitrogen/generated/shared/c++/NitroSection.hpp +19 -11
  445. package/nitrogen/generated/shared/c++/NitroSectionType.hpp +1 -1
  446. package/nitrogen/generated/shared/c++/NumericTelemetryItem.hpp +16 -8
  447. package/nitrogen/generated/shared/c++/OffRampType.hpp +1 -1
  448. package/nitrogen/generated/shared/c++/OnRampType.hpp +1 -1
  449. package/nitrogen/generated/shared/c++/PermissionRequestResult.hpp +16 -8
  450. package/nitrogen/generated/shared/c++/PinSignIn.hpp +16 -8
  451. package/nitrogen/generated/shared/c++/Point.hpp +16 -8
  452. package/nitrogen/generated/shared/c++/PreferredImageLane.hpp +22 -14
  453. package/nitrogen/generated/shared/c++/QrSignIn.hpp +16 -8
  454. package/nitrogen/generated/shared/c++/RouteChoice.hpp +25 -17
  455. package/nitrogen/generated/shared/c++/SafeAreaInsets.hpp +25 -17
  456. package/nitrogen/generated/shared/c++/SearchTemplateConfig.hpp +52 -44
  457. package/nitrogen/generated/shared/c++/SignInMethods.hpp +2 -2
  458. package/nitrogen/generated/shared/c++/SignInTemplateConfig.hpp +54 -43
  459. package/nitrogen/generated/shared/c++/StringTelemetryItem.hpp +16 -8
  460. package/nitrogen/generated/shared/c++/Telemetry.hpp +48 -36
  461. package/nitrogen/generated/shared/c++/TextInputType.hpp +1 -1
  462. package/nitrogen/generated/shared/c++/TrafficSide.hpp +1 -1
  463. package/nitrogen/generated/shared/c++/TravelEstimates.hpp +25 -12
  464. package/nitrogen/generated/shared/c++/TripConfig.hpp +16 -8
  465. package/nitrogen/generated/shared/c++/TripPoint.hpp +22 -14
  466. package/nitrogen/generated/shared/c++/TripPreviewTextConfiguration.hpp +22 -14
  467. package/nitrogen/generated/shared/c++/TripSelectorCallback.hpp +13 -5
  468. package/nitrogen/generated/shared/c++/TripsConfig.hpp +16 -8
  469. package/nitrogen/generated/shared/c++/TurnType.hpp +1 -1
  470. package/nitrogen/generated/shared/c++/VehicleTelemetryItem.hpp +19 -11
  471. package/nitrogen/generated/shared/c++/VisibilityState.hpp +1 -1
  472. package/nitrogen/generated/shared/c++/VisibleTravelEstimate.hpp +1 -1
  473. package/nitrogen/generated/shared/c++/ZoomEvent.hpp +1 -1
  474. package/package.json +2 -2
  475. package/src/types/SignInMethod.ts +19 -2
  476. package/src/types/Telemetry.ts +4 -0
  477. package/src/types/Trip.ts +4 -0
  478. package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn.cpp +0 -30
@@ -163,7 +163,7 @@ dependencies {
163
163
  implementation "androidx.car.app:app-projected:1.7.0"
164
164
  }
165
165
 
166
- implementation 'com.google.android.gms:play-services-base:18.3.0'
167
- implementation 'com.google.android.gms:play-services-auth:21.0.0'
166
+ implementation 'com.google.android.gms:play-services-base:18.10.0'
167
+ implementation 'com.google.android.gms:play-services-auth:21.5.0'
168
168
  }
169
169
 
@@ -75,6 +75,8 @@
75
75
 
76
76
  <service android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.HeadlessTaskService" />
77
77
 
78
+ <activity android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.SignInWithGoogleActivity" />
79
+
78
80
  <provider
79
81
  android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.ActivityRenderStateProvider"
80
82
  android:authorities="${applicationId}.ActivityRenderStateProvider"
@@ -61,7 +61,18 @@ object AndroidTelemetryObserver : TelemetryObserver() {
61
61
  selectedGear = NumericTelemetryItem(
62
62
  timestamp = floor(System.currentTimeMillis() / 1000.0),
63
63
  value = selectedGear.toDouble()
64
- )
64
+ ),
65
+ vehicle = null,
66
+ batteryLevel = null,
67
+ range = null,
68
+ speed = null,
69
+ odometer = null,
70
+ fuelLevel = null,
71
+ parkingBrakeOn = null,
72
+ evChargePortConnected = null,
73
+ envOutsideTemperature = null,
74
+ evBatteryInstantaneousChargeRate = null,
75
+ soe = null
65
76
  )
66
77
  )
67
78
  }
@@ -82,7 +93,18 @@ object AndroidTelemetryObserver : TelemetryObserver() {
82
93
  selectedGear = NumericTelemetryItem(
83
94
  timestamp = floor(System.currentTimeMillis() / 1000.0),
84
95
  value = selectedGear.toDouble()
85
- )
96
+ ),
97
+ vehicle = null,
98
+ batteryLevel = null,
99
+ range = null,
100
+ speed = null,
101
+ odometer = null,
102
+ fuelLevel = null,
103
+ parkingBrakeOn = null,
104
+ evChargePortConnected = null,
105
+ envOutsideTemperature = null,
106
+ evBatteryInstantaneousChargeRate = null,
107
+ soe = null
86
108
  )
87
109
  )
88
110
  }
@@ -101,14 +123,8 @@ object AndroidTelemetryObserver : TelemetryObserver() {
101
123
 
102
124
  VehiclePropertyIds.EV_BATTERY_LEVEL -> {
103
125
  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)
126
+ val level: Float = getValue(p0)
127
+ telemetryHolder.updateBatteryLevel(level, capacity)
112
128
  }
113
129
 
114
130
  VehiclePropertyIds.PERF_VEHICLE_SPEED -> telemetryHolder.updateSpeed(
@@ -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),
@@ -0,0 +1,63 @@
1
+ package com.margelo.nitro.swe.iternio.reactnativeautoplay
2
+
3
+ import android.content.Intent
4
+ import android.os.Binder
5
+ import android.os.Bundle
6
+ import android.os.IBinder
7
+ import androidx.activity.ComponentActivity
8
+ import androidx.activity.result.ActivityResult
9
+ import androidx.activity.result.contract.ActivityResultContracts
10
+ import com.google.android.gms.auth.api.signin.GoogleSignIn
11
+ import com.google.android.gms.auth.api.signin.GoogleSignInAccount
12
+ import com.google.android.gms.auth.api.signin.GoogleSignInOptions
13
+ import java.security.InvalidParameterException
14
+ import javax.annotation.Nullable
15
+
16
+ class SignInWithGoogleActivity : ComponentActivity() {
17
+ override fun onCreate(savedInstanceState: Bundle?) {
18
+ super.onCreate(savedInstanceState)
19
+
20
+ val signInCompleteCallback =
21
+ intent.extras!!.getBinder(BINDER_KEY) as OnSignInComplete?
22
+
23
+ val serverClientId = intent.extras?.getString("serverClientId")
24
+ ?: throw InvalidParameterException("missing serverClientId parameter")
25
+
26
+ val activityResultLauncher =
27
+ registerForActivityResult<Intent, ActivityResult>(
28
+ ActivityResultContracts.StartActivityForResult()
29
+ ) { result: ActivityResult ->
30
+ val account =
31
+ GoogleSignIn.getSignedInAccountFromIntent(
32
+ result.data
33
+ ).result
34
+ signInCompleteCallback!!.onSignInComplete(account)
35
+ finish()
36
+ }
37
+
38
+ val googleSignInClient = GoogleSignIn.getClient(
39
+ this, GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
40
+ .requestServerAuthCode(serverClientId)
41
+ .requestEmail()
42
+ .build()
43
+ )
44
+ activityResultLauncher.launch(googleSignInClient.signInIntent)
45
+ }
46
+
47
+ /**
48
+ * Binder callback to provide to the sign in activity.
49
+ */
50
+ abstract
51
+ class OnSignInComplete : Binder(), IBinder {
52
+ /**
53
+ * Notifies that sign in flow completed.
54
+ *
55
+ * @param account the account signed in or `null` if there were issues signing in.
56
+ */
57
+ abstract fun onSignInComplete(@Nullable account: GoogleSignInAccount?)
58
+ }
59
+
60
+ companion object {
61
+ const val BINDER_KEY = "SignInWithGoogleActivity"
62
+ }
63
+ }
@@ -1,20 +1,29 @@
1
1
  package com.margelo.nitro.swe.iternio.reactnativeautoplay.template
2
2
 
3
+ import android.content.Intent
3
4
  import android.net.Uri
5
+ import android.os.Bundle
6
+ import androidx.annotation.Nullable
4
7
  import androidx.car.app.CarContext
8
+ import androidx.car.app.CarToast
9
+ import androidx.car.app.model.Action
5
10
  import androidx.car.app.model.ActionStrip
6
11
  import androidx.car.app.model.InputCallback
12
+ import androidx.car.app.model.ParkedOnlyOnClickListener
7
13
  import androidx.car.app.model.Template
8
14
  import androidx.car.app.model.signin.InputSignInMethod
9
15
  import androidx.car.app.model.signin.InputSignInMethod.INPUT_TYPE_DEFAULT
10
16
  import androidx.car.app.model.signin.InputSignInMethod.INPUT_TYPE_PASSWORD
11
17
  import androidx.car.app.model.signin.PinSignInMethod
18
+ import androidx.car.app.model.signin.ProviderSignInMethod
12
19
  import androidx.car.app.model.signin.QRCodeSignInMethod
13
20
  import androidx.car.app.model.signin.SignInTemplate
21
+ import com.google.android.gms.auth.api.signin.GoogleSignInAccount
14
22
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.KeyboardType
15
23
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.NitroAction
16
24
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.NitroActionType
17
25
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.SignInTemplateConfig
26
+ import com.margelo.nitro.swe.iternio.reactnativeautoplay.SignInWithGoogleActivity
18
27
  import com.margelo.nitro.swe.iternio.reactnativeautoplay.TextInputType
19
28
  import java.security.InvalidParameterException
20
29
 
@@ -55,6 +64,7 @@ class SignInTemplate(
55
64
  val qrSignIn = config.signInMethod?.asFirstOrNull()
56
65
  val pinSignIn = config.signInMethod?.asSecondOrNull()
57
66
  val inputSignIn = config.signInMethod?.asThirdOrNull()
67
+ val googleSignIn = config.signInMethod?.asFourthOrNull()
58
68
 
59
69
  val templateBuilder = when {
60
70
  qrSignIn != null -> {
@@ -94,6 +104,48 @@ class SignInTemplate(
94
104
  }.build())
95
105
  }
96
106
 
107
+ googleSignIn != null -> {
108
+ val signInAction = Action.Builder().apply {
109
+ setOnClickListener(ParkedOnlyOnClickListener.create {
110
+ val extras = Bundle(1)
111
+ extras.putBinder(
112
+ SignInWithGoogleActivity.BINDER_KEY,
113
+ object : SignInWithGoogleActivity.OnSignInComplete() {
114
+ override fun onSignInComplete(@Nullable account: GoogleSignInAccount?) {
115
+ if (account == null) {
116
+ CarToast.makeText(
117
+ context,
118
+ "Error signing in",
119
+ CarToast.LENGTH_LONG
120
+ ).show()
121
+ googleSignIn.callback("Error signing in", null)
122
+ } else {
123
+ googleSignIn.callback(
124
+ null,
125
+ com.margelo.nitro.swe.iternio.reactnativeautoplay.GoogleSignInAccount(
126
+ serverAuthCode = account.serverAuthCode,
127
+ email = account.email,
128
+ id = account.id,
129
+ displayName = account.displayName,
130
+ photoUrl = account.photoUrl.toString(),
131
+ idToken = account.idToken,
132
+ givenName = account.givenName,
133
+ familyName = account.familyName
134
+ )
135
+ )
136
+ }
137
+ }
138
+ })
139
+ extras.putString("serverClientId", googleSignIn.serverClientId)
140
+ context.startActivity(
141
+ Intent().setClass(context, SignInWithGoogleActivity::class.java)
142
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).putExtras(extras)
143
+ )
144
+ })
145
+ }.build()
146
+ SignInTemplate.Builder(ProviderSignInMethod(signInAction))
147
+ }
148
+
97
149
  else -> throw InvalidParameterException("missing SignInTemplate builder")
98
150
  }
99
151
 
@@ -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
  }
@@ -11,7 +11,7 @@ struct NavigationAlertWrapper {
11
11
  let config: NitroNavigationAlert
12
12
  }
13
13
 
14
- class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
14
+ class MapTemplate: AutoPlayHeaderProviding,
15
15
  CPMapTemplateDelegate
16
16
  {
17
17
  let template: CPMapTemplate
@@ -19,15 +19,8 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
19
19
 
20
20
  let screenDimensions: CGSize
21
21
 
22
- var barButtons: [NitroAction]? {
23
- get {
24
- return config.headerActions
25
- }
26
- set {
27
- config.headerActions = newValue
28
- invalidate()
29
- }
30
- }
22
+ var mapButtons: [NitroMapButton]?
23
+ var visibleTravelEstimate: VisibleTravelEstimate?
31
24
 
32
25
  override var autoDismissMs: Double? {
33
26
  return config.autoDismissMs
@@ -44,9 +37,18 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
44
37
  var currentTripId: String?
45
38
 
46
39
  var tripSelectorVisible = false
40
+ /**
41
+ this avoids a race condition when invalidating the template that causes an App Hang (main‑thread stall)
42
+ when using CPMapTemplate.isPanningInterfaceVisible
43
+ */
44
+ private var isPanningInterfaceVisible = false
47
45
 
48
46
  init(config: MapTemplateConfig) {
49
47
  self.config = config
48
+
49
+ mapButtons = config.mapButtons
50
+ visibleTravelEstimate = config.visibleTravelEstimate
51
+
50
52
  template = CPMapTemplate(id: config.id)
51
53
 
52
54
  if let initialProperties = SceneStore.getRootScene()?.initialProperties,
@@ -65,11 +67,12 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
65
67
 
66
68
  super.init()
67
69
 
70
+ barButtons = config.headerActions
68
71
  template.mapDelegate = self
69
72
  }
70
73
 
71
74
  func onPanButtonPress() {
72
- if template.isPanningInterfaceVisible {
75
+ if isPanningInterfaceVisible {
73
76
  template.dismissPanningInterface(animated: true)
74
77
  }
75
78
  else {
@@ -127,7 +130,7 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
127
130
  return
128
131
  }
129
132
 
130
- if template.isPanningInterfaceVisible {
133
+ if isPanningInterfaceVisible {
131
134
  // while panning interface is shown we only provide a back button on the header
132
135
  // and all map buttons except the pan button
133
136
  // reason is that you can have a max of 2 map buttons while panning interface is shown
@@ -139,7 +142,7 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
139
142
  }
140
143
 
141
144
  let mapButtons =
142
- config.mapButtons?.filter { button in
145
+ mapButtons?.filter { button in
143
146
  button.type != .pan
144
147
  } ?? []
145
148
 
@@ -148,9 +151,9 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
148
151
  return
149
152
  }
150
153
 
151
- setBarButtons(template: template, barButtons: config.headerActions)
154
+ setBarButtons(template: template, barButtons: barButtons)
152
155
 
153
- if let mapButtons = config.mapButtons {
156
+ if let mapButtons = mapButtons {
154
157
  template.mapButtons = parseMapButtons(mapButtons: mapButtons)
155
158
  }
156
159
  }
@@ -210,7 +213,7 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
210
213
  scale: CGFloat,
211
214
  velocity: CGFloat
212
215
  ) {
213
- if template.isPanningInterfaceVisible {
216
+ if isPanningInterfaceVisible {
214
217
  return
215
218
  }
216
219
 
@@ -226,11 +229,12 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
226
229
  }
227
230
 
228
231
  func mapTemplateDidShowPanningInterface(_ mapTemplate: CPMapTemplate) {
232
+ isPanningInterfaceVisible = true
229
233
  config.onDidChangePanningInterface?(true)
230
234
  invalidate()
231
235
  }
232
-
233
236
  func mapTemplateDidDismissPanningInterface(_ mapTemplate: CPMapTemplate) {
237
+ isPanningInterfaceVisible = false
234
238
  config.onDidChangePanningInterface?(false)
235
239
  invalidate()
236
240
  }
@@ -560,14 +564,14 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
560
564
  visibleTravelEstimate: VisibleTravelEstimate?
561
565
  ) {
562
566
  if let visibleTravelEstimate = visibleTravelEstimate {
563
- config.visibleTravelEstimate = visibleTravelEstimate
567
+ self.visibleTravelEstimate = visibleTravelEstimate
564
568
  }
565
569
 
566
570
  guard let trip = navigationSession?.trip else { return }
567
571
 
568
572
  let travelEstaimtes = trip.routeChoices.first?
569
573
  .travelEstimates
570
- if let estimates = config.visibleTravelEstimate == .first
574
+ if let estimates = self.visibleTravelEstimate == .first
571
575
  ? travelEstaimtes?.first : travelEstaimtes?.last
572
576
  {
573
577
  template.updateEstimates(estimates, for: trip)
@@ -733,7 +737,7 @@ class MapTemplate: AutoPlayTemplate, AutoPlayHeaderProviding,
733
737
  func startNavigation(trip: CPTrip) {
734
738
  let routeChoice = trip.routeChoices.first
735
739
 
736
- if let travelEstimates = config.visibleTravelEstimate == .first
740
+ if let travelEstimates = visibleTravelEstimate == .first
737
741
  ? routeChoice?.travelEstimates.first
738
742
  : routeChoice?.travelEstimates.last
739
743
  {