@iternio/react-native-auto-play 0.1.18 → 0.2.0-alpha.14
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.
- package/README.md +161 -10
- package/android/build.gradle +15 -1
- package/android/gradle.properties +1 -1
- package/android/src/{main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoTelemetryObserver.kt → auto/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidTelemetryObserver.kt} +31 -76
- package/android/src/auto/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive.kt +25 -0
- package/android/src/automotive/AndroidManifest.xml +93 -0
- package/android/src/automotive/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidTelemetryObserver.kt +204 -0
- package/android/src/automotive/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotive.kt +185 -0
- package/android/src/main/AndroidManifest.xml +0 -10
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoScreen.kt +3 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoTelemetryHolder.kt +128 -18
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetry.kt +39 -3
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplate.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInWithGoogleActivity.kt +57 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/TelemetryObserver.kt +56 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/VirtualRenderer.kt +15 -10
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/AutomotivePermissionRequestTemplate.kt +103 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/GridTemplate.kt +0 -2
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/Parser.kt +8 -2
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/SignInTemplate.kt +214 -0
- package/android/src/main/res/drawable/google.xml +18 -0
- package/ios/extensions/CarPlayExtensions.swift +4 -2
- package/ios/extensions/NitroImageExtensions.swift +4 -4
- package/ios/hybrid/HybridAutoPlay.swift +32 -42
- package/ios/hybrid/HybridCluster.swift +4 -2
- package/ios/hybrid/HybridGridTemplate.swift +11 -11
- package/ios/hybrid/HybridInformationTemplate.swift +12 -13
- package/ios/hybrid/HybridListTemplate.swift +12 -13
- package/ios/hybrid/HybridMapTemplate.swift +13 -16
- package/ios/hybrid/HybridMessageTemplate.swift +7 -4
- package/ios/hybrid/HybridSearchTemplate.swift +12 -13
- package/ios/scenes/AutoPlayInterfaceController.swift +41 -13
- package/ios/scenes/AutoPlayScene.swift +2 -1
- package/ios/scenes/AutoPlaySceneViewController.swift +8 -2
- package/ios/scenes/DashboardSceneDelegate.swift +15 -7
- package/ios/scenes/HeadUnitSceneDelegate.swift +7 -5
- package/ios/scenes/WindowApplicationSceneDelegate.swift +1 -1
- package/ios/templates/AutoPlayTemplate.swift +25 -17
- package/ios/templates/GridTemplate.swift +36 -31
- package/ios/templates/InformationTemplate.swift +23 -24
- package/ios/templates/ListTemplate.swift +22 -24
- package/ios/templates/MapTemplate.swift +53 -47
- package/ios/templates/MessageTemplate.swift +8 -12
- package/ios/templates/Parser.swift +27 -11
- package/ios/templates/SearchTemplate.swift +26 -21
- package/ios/templates/TemplateStore.swift +17 -9
- package/ios/utils/RootModule.swift +19 -12
- package/ios/utils/SymbolFont.swift +2 -1
- package/ios/utils/ViewUtils.swift +2 -2
- package/lib/hooks/useAndroidAutoTelemetry.d.ts +34 -7
- package/lib/hooks/useAndroidAutoTelemetry.js +57 -26
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/specs/AndroidAutoTelemetry.nitro.d.ts +14 -1
- package/lib/specs/AndroidAutomotive.nitro.d.ts +33 -0
- package/lib/specs/AndroidAutomotive.nitro.js +13 -0
- package/lib/templates/Template.js +1 -1
- package/lib/types/SignInMethod.d.ts +18 -2
- package/lib/types/SignInMethod.js +1 -1
- package/lib/types/Telemetry.d.ts +31 -0
- package/lib/types/Telemetry.js +7 -0
- package/lib/types/Trip.d.ts +4 -0
- package/nitro.json +6 -0
- package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.cmake +6 -1
- package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.gradle +1 -1
- package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +31 -5
- package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.hpp +1 -1
- package/nitrogen/generated/android/c++/JActiveCarUxRestrictions.hpp +89 -0
- package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +4 -5
- package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +4 -5
- package/nitrogen/generated/android/c++/JAppFocusState.hpp +61 -0
- package/nitrogen/generated/android/c++/JAssetImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
- package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +61 -0
- package/nitrogen/generated/android/c++/JCarUxRestrictions.hpp +82 -0
- package/nitrogen/generated/android/c++/JClusterEventName.hpp +5 -6
- package/nitrogen/generated/android/c++/JColorScheme.hpp +3 -4
- package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
- package/nitrogen/generated/android/c++/JDistanceUnits.hpp +6 -7
- package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
- package/nitrogen/generated/android/c++/JEventName.hpp +3 -4
- package/nitrogen/generated/android/c++/JForkType.hpp +3 -4
- package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_ActiveCarUxRestrictions.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_AlertDismissalReason.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_AppFocusState.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_ColorScheme.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_Point.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_Point_double.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_Point_std__optional_Point_.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_SafeAreaInsets.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_VisibilityState.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_Location__std__optional_std__string_.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry_.hpp +87 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_bool_.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount_.hpp +79 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +11 -11
- package/nitrogen/generated/android/c++/JFunc_void_std__string_ColorScheme.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__string_ZoomEvent.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__string_bool.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +1 -1
- package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JGoogleSignIn.hpp +85 -0
- package/nitrogen/generated/android/c++/JGoogleSignInAccount.hpp +86 -0
- package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.cpp +49 -6
- package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.hpp +4 -2
- package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.cpp +120 -0
- package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.hpp +70 -0
- package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridClusterSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridClusterSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +8 -1
- package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +9 -1
- package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp +150 -0
- package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.hpp +67 -0
- package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
- package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JInputSignIn.hpp +103 -0
- package/nitrogen/generated/android/c++/JKeepType.hpp +4 -5
- package/nitrogen/generated/android/c++/JKeyboardType.hpp +64 -0
- package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
- package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
- package/nitrogen/generated/android/c++/JManeuverType.hpp +13 -14
- package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroActionType.hpp +4 -5
- package/nitrogen/generated/android/c++/JNitroAlignment.hpp +3 -4
- package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +6 -7
- package/nitrogen/generated/android/c++/JNitroColor.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroImage.cpp +1 -1
- package/nitrogen/generated/android/c++/JNitroImage.hpp +3 -3
- package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroManeuver.cpp +1 -1
- package/nitrogen/generated/android/c++/JNitroManeuver.hpp +7 -4
- package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +3 -4
- package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +4 -1
- package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroSectionType.hpp +3 -4
- package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JOffRampType.hpp +5 -6
- package/nitrogen/generated/android/c++/JOnRampType.hpp +9 -10
- package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +98 -0
- package/nitrogen/generated/android/c++/JPinSignIn.hpp +63 -0
- package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
- package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
- package/nitrogen/generated/android/c++/JQrSignIn.hpp +63 -0
- package/nitrogen/generated/android/c++/JRouteChoice.hpp +4 -1
- package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
- package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JSignInMethods.hpp +64 -0
- package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +222 -0
- package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JTelemetry.hpp +30 -4
- package/nitrogen/generated/android/c++/JTextInputType.hpp +58 -0
- package/nitrogen/generated/android/c++/JTrafficSide.hpp +3 -4
- package/nitrogen/generated/android/c++/JTravelEstimates.hpp +19 -4
- package/nitrogen/generated/android/c++/JTripConfig.hpp +4 -1
- package/nitrogen/generated/android/c++/JTripPoint.hpp +4 -1
- package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripsConfig.hpp +4 -1
- package/nitrogen/generated/android/c++/JTurnType.hpp +10 -11
- package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.cpp +34 -0
- package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.hpp +119 -0
- package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JVisibilityState.hpp +5 -6
- package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +3 -4
- package/nitrogen/generated/android/c++/JZoomEvent.hpp +3 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ActiveCarUxRestrictions.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertActionStyle.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AlertDismissalReason.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AppFocusState.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AutoText.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/BooleanTelemetryItem.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/CarUxRestrictions.kt +31 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ClusterEventName.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ColorScheme.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Distance.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DistanceUnits.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/DurationWithTimeZone.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/EventName.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ForkType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/{Func_void_std__optional_Telemetry__std__optional_std__string_.kt → Func_void_ActiveCarUxRestrictions.kt} +15 -15
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AlertDismissalReason.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AppFocusState.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ColorScheme.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_double.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_std__optional_Point_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_SafeAreaInsets.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_VisibilityState.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_bool.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Location__std__optional_std__string_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Telemetry_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_bool_.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_std__string__std__optional_GoogleSignInAccount_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string.kt +10 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ColorScheme.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ZoomEvent.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_bool.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_std__string.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GlyphImage.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GoogleSignIn.kt +51 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GoogleSignInAccount.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GridTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +8 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotiveSpec.kt +88 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ImageLane.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InformationTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/InputSignIn.kt +63 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeepType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/KeyboardType.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/LaneGuidance.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ListTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Location.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ManeuverType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MapTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MessageTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NavigationAlertAction.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAction.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroActionType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAlignment.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedString.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroAttributedStringImage.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroBaseMapTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroButtonStyle.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroColor.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroGridButton.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroImage.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroLoadingManeuver.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButton.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButtonType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMessageManeuver.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroNavigationAlert.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRoutingManeuver.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRow.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSection.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroSectionType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NumericTelemetryItem.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OffRampType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/OnRampType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PermissionRequestResult.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PinSignIn.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Point.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/PreferredImageLane.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/QrSignIn.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ReactNativeAutoPlayOnLoad.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/RouteChoice.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SafeAreaInsets.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SearchTemplateConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInMethods.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/SignInTemplateConfig.kt +78 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/StringTelemetryItem.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Telemetry.kt +22 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TextInputType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TrafficSide.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TravelEstimates.kt +12 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPoint.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripPreviewTextConfiguration.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripSelectorCallback.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TripsConfig.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/TurnType.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_GlyphImage_AssetImage.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_PreferredImageLane_ImageLane.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.kt +85 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VehicleTelemetryItem.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibilityState.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/VisibleTravelEstimate.kt +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ZoomEvent.kt +3 -1
- package/nitrogen/generated/ios/ReactNativeAutoPlay+autolinking.rb +2 -2
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +4 -4
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.mm +1 -1
- package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.swift +41 -64
- package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridAutoPlaySpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridCarPlayDashboardSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridClusterSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridMessageTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/AlertActionStyle.swift +1 -1
- package/nitrogen/generated/ios/swift/AlertDismissalReason.swift +1 -1
- package/nitrogen/generated/ios/swift/AssetImage.swift +13 -55
- package/nitrogen/generated/ios/swift/AutoText.swift +7 -37
- package/nitrogen/generated/ios/swift/ClusterEventName.swift +1 -1
- package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
- package/nitrogen/generated/ios/swift/Distance.swift +5 -17
- package/nitrogen/generated/ios/swift/DistanceUnits.swift +1 -1
- package/nitrogen/generated/ios/swift/DurationWithTimeZone.swift +5 -17
- package/nitrogen/generated/ios/swift/EventName.swift +1 -1
- package/nitrogen/generated/ios/swift/ForkType.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_AlertDismissalReason.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_ColorScheme.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_Point.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_Point_double.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_Point_std__optional_Point_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_SafeAreaInsets.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_VisibilityState.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_Location__std__optional_std__string_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__optional_bool_.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string_ColorScheme.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string_ZoomEvent.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string_bool.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +1 -1
- package/nitrogen/generated/ios/swift/GlyphImage.swift +9 -39
- package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +114 -255
- package/nitrogen/generated/ios/swift/HybridAutoPlaySpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridAutoPlaySpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridCarPlayDashboardSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridClusterSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridClusterSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridGridTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridGridTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridInformationTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridListTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridListTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridMapTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridMapTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridMessageTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec.swift +3 -3
- package/nitrogen/generated/ios/swift/HybridSearchTemplateSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/ImageLane.swift +17 -42
- package/nitrogen/generated/ios/swift/InformationTemplateConfig.swift +123 -276
- package/nitrogen/generated/ios/swift/KeepType.swift +1 -1
- package/nitrogen/generated/ios/swift/LaneGuidance.swift +17 -48
- package/nitrogen/generated/ios/swift/ListTemplateConfig.swift +121 -268
- package/nitrogen/generated/ios/swift/Location.swift +5 -17
- package/nitrogen/generated/ios/swift/ManeuverType.swift +1 -1
- package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +232 -499
- package/nitrogen/generated/ios/swift/MessageTemplateConfig.swift +144 -322
- package/nitrogen/generated/ios/swift/NavigationAlertAction.swift +12 -39
- package/nitrogen/generated/ios/swift/NitroAction.swift +55 -149
- package/nitrogen/generated/ios/swift/NitroActionType.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroAlignment.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroAttributedString.swift +12 -36
- package/nitrogen/generated/ios/swift/NitroAttributedStringImage.swift +17 -36
- package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +129 -267
- package/nitrogen/generated/ios/swift/NitroButtonStyle.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroCarPlayDashboardButton.swift +35 -93
- package/nitrogen/generated/ios/swift/NitroColor.swift +5 -17
- package/nitrogen/generated/ios/swift/NitroGridButton.swift +24 -52
- package/nitrogen/generated/ios/swift/NitroImage.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroLoadingManeuver.swift +3 -9
- package/nitrogen/generated/ios/swift/NitroManeuver.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroMapButton.swift +31 -65
- package/nitrogen/generated/ios/swift/NitroMapButtonType.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroMessageManeuver.swift +35 -78
- package/nitrogen/generated/ios/swift/NitroNavigationAlert.swift +64 -167
- package/nitrogen/generated/ios/swift/NitroRoutingManeuver.swift +91 -309
- package/nitrogen/generated/ios/swift/NitroRow.swift +75 -169
- package/nitrogen/generated/ios/swift/NitroSection.swift +14 -44
- package/nitrogen/generated/ios/swift/NitroSectionType.swift +1 -1
- package/nitrogen/generated/ios/swift/OffRampType.swift +1 -1
- package/nitrogen/generated/ios/swift/OnRampType.swift +1 -1
- package/nitrogen/generated/ios/swift/Point.swift +5 -17
- package/nitrogen/generated/ios/swift/PreferredImageLane.swift +21 -58
- package/nitrogen/generated/ios/swift/RouteChoice.swift +11 -65
- package/nitrogen/generated/ios/swift/SafeAreaInsets.swift +18 -54
- package/nitrogen/generated/ios/swift/SearchTemplateConfig.swift +144 -309
- package/nitrogen/generated/ios/swift/TrafficSide.swift +1 -1
- package/nitrogen/generated/ios/swift/TravelEstimates.swift +34 -32
- package/nitrogen/generated/ios/swift/TripConfig.swift +5 -17
- package/nitrogen/generated/ios/swift/TripPoint.swift +9 -33
- package/nitrogen/generated/ios/swift/TripPreviewTextConfiguration.swift +9 -33
- package/nitrogen/generated/ios/swift/TripSelectorCallback.swift +8 -17
- package/nitrogen/generated/ios/swift/TripsConfig.swift +5 -23
- package/nitrogen/generated/ios/swift/TurnType.swift +1 -1
- package/nitrogen/generated/ios/swift/Variant_GlyphImage_AssetImage.swift +1 -1
- package/nitrogen/generated/ios/swift/Variant_PreferredImageLane_ImageLane.swift +1 -1
- package/nitrogen/generated/ios/swift/VisibilityState.swift +1 -1
- package/nitrogen/generated/ios/swift/VisibleTravelEstimate.swift +1 -1
- package/nitrogen/generated/ios/swift/ZoomEvent.swift +1 -1
- package/nitrogen/generated/shared/c++/ActiveCarUxRestrictions.hpp +97 -0
- package/nitrogen/generated/shared/c++/AlertActionStyle.hpp +1 -1
- package/nitrogen/generated/shared/c++/AlertDismissalReason.hpp +1 -1
- package/nitrogen/generated/shared/c++/AppFocusState.hpp +87 -0
- package/nitrogen/generated/shared/c++/AssetImage.hpp +28 -20
- package/nitrogen/generated/shared/c++/AutoText.hpp +19 -11
- package/nitrogen/generated/shared/c++/BooleanTelemetryItem.hpp +87 -0
- package/nitrogen/generated/shared/c++/CarUxRestrictions.hpp +81 -0
- package/nitrogen/generated/shared/c++/ClusterEventName.hpp +1 -1
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
- package/nitrogen/generated/shared/c++/Distance.hpp +16 -8
- package/nitrogen/generated/shared/c++/DistanceUnits.hpp +1 -1
- package/nitrogen/generated/shared/c++/DurationWithTimeZone.hpp +16 -8
- package/nitrogen/generated/shared/c++/EventName.hpp +1 -1
- package/nitrogen/generated/shared/c++/ForkType.hpp +1 -1
- package/nitrogen/generated/shared/c++/GlyphImage.hpp +22 -14
- package/nitrogen/generated/shared/c++/GoogleSignIn.hpp +102 -0
- package/nitrogen/generated/shared/c++/GoogleSignInAccount.hpp +112 -0
- package/nitrogen/generated/shared/c++/GridTemplateConfig.hpp +43 -35
- package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridAndroidAutoTelemetrySpec.hpp +8 -2
- package/nitrogen/generated/shared/c++/HybridAndroidAutomotiveSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridAndroidAutomotiveSpec.hpp +71 -0
- package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridAutoPlaySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridCarPlayDashboardSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridClusterSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridClusterSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridGridTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridInformationTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridListTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridListTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridMessageTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSearchTemplateSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridSignInTemplateSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/ImageLane.hpp +16 -8
- package/nitrogen/generated/shared/c++/InformationTemplateConfig.hpp +46 -38
- package/nitrogen/generated/shared/c++/InputSignIn.hpp +121 -0
- package/nitrogen/generated/shared/c++/KeepType.hpp +1 -1
- package/nitrogen/generated/shared/c++/KeyboardType.hpp +64 -0
- package/nitrogen/generated/shared/c++/LaneGuidance.hpp +16 -8
- package/nitrogen/generated/shared/c++/ListTemplateConfig.hpp +43 -35
- package/nitrogen/generated/shared/c++/Location.hpp +16 -8
- package/nitrogen/generated/shared/c++/ManeuverType.hpp +1 -1
- package/nitrogen/generated/shared/c++/MapTemplateConfig.hpp +67 -59
- package/nitrogen/generated/shared/c++/MessageTemplateConfig.hpp +49 -41
- package/nitrogen/generated/shared/c++/NavigationAlertAction.hpp +19 -11
- package/nitrogen/generated/shared/c++/NitroAction.hpp +34 -26
- package/nitrogen/generated/shared/c++/NitroActionType.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroAlignment.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroAttributedString.hpp +16 -8
- package/nitrogen/generated/shared/c++/NitroAttributedStringImage.hpp +16 -8
- package/nitrogen/generated/shared/c++/NitroBaseMapTemplateConfig.hpp +37 -29
- package/nitrogen/generated/shared/c++/NitroButtonStyle.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroCarPlayDashboardButton.hpp +25 -17
- package/nitrogen/generated/shared/c++/NitroColor.hpp +16 -8
- package/nitrogen/generated/shared/c++/NitroGridButton.hpp +19 -11
- package/nitrogen/generated/shared/c++/NitroLoadingManeuver.hpp +13 -5
- package/nitrogen/generated/shared/c++/NitroMapButton.hpp +19 -11
- package/nitrogen/generated/shared/c++/NitroMapButtonType.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroMessageManeuver.hpp +22 -14
- package/nitrogen/generated/shared/c++/NitroNavigationAlert.hpp +40 -32
- package/nitrogen/generated/shared/c++/NitroRoutingManeuver.hpp +67 -59
- package/nitrogen/generated/shared/c++/NitroRow.hpp +34 -26
- package/nitrogen/generated/shared/c++/NitroSection.hpp +19 -11
- package/nitrogen/generated/shared/c++/NitroSectionType.hpp +1 -1
- package/nitrogen/generated/shared/c++/NumericTelemetryItem.hpp +16 -8
- package/nitrogen/generated/shared/c++/OffRampType.hpp +1 -1
- package/nitrogen/generated/shared/c++/OnRampType.hpp +1 -1
- package/nitrogen/generated/shared/c++/PermissionRequestResult.hpp +88 -0
- package/nitrogen/generated/shared/c++/PinSignIn.hpp +89 -0
- package/nitrogen/generated/shared/c++/Point.hpp +16 -8
- package/nitrogen/generated/shared/c++/PreferredImageLane.hpp +22 -14
- package/nitrogen/generated/shared/c++/QrSignIn.hpp +89 -0
- package/nitrogen/generated/shared/c++/RouteChoice.hpp +25 -17
- package/nitrogen/generated/shared/c++/SafeAreaInsets.hpp +25 -17
- package/nitrogen/generated/shared/c++/SearchTemplateConfig.hpp +52 -44
- package/nitrogen/generated/shared/c++/SignInMethods.hpp +64 -0
- package/nitrogen/generated/shared/c++/SignInTemplateConfig.hpp +149 -0
- package/nitrogen/generated/shared/c++/StringTelemetryItem.hpp +16 -8
- package/nitrogen/generated/shared/c++/Telemetry.hpp +56 -21
- package/nitrogen/generated/shared/c++/TextInputType.hpp +62 -0
- package/nitrogen/generated/shared/c++/TrafficSide.hpp +1 -1
- package/nitrogen/generated/shared/c++/TravelEstimates.hpp +25 -12
- package/nitrogen/generated/shared/c++/TripConfig.hpp +16 -8
- package/nitrogen/generated/shared/c++/TripPoint.hpp +22 -14
- package/nitrogen/generated/shared/c++/TripPreviewTextConfiguration.hpp +22 -14
- package/nitrogen/generated/shared/c++/TripSelectorCallback.hpp +13 -5
- package/nitrogen/generated/shared/c++/TripsConfig.hpp +16 -8
- package/nitrogen/generated/shared/c++/TurnType.hpp +1 -1
- package/nitrogen/generated/shared/c++/VehicleTelemetryItem.hpp +19 -11
- package/nitrogen/generated/shared/c++/VisibilityState.hpp +1 -1
- package/nitrogen/generated/shared/c++/VisibleTravelEstimate.hpp +1 -1
- package/nitrogen/generated/shared/c++/ZoomEvent.hpp +1 -1
- package/package.json +4 -3
- package/src/hooks/useAndroidAutoTelemetry.ts +111 -42
- package/src/index.ts +13 -0
- package/src/specs/AndroidAutoTelemetry.nitro.ts +19 -1
- package/src/specs/AndroidAutomotive.nitro.ts +37 -0
- package/src/specs/SignInTemplate.nitro.ts +10 -0
- package/src/templates/SignInTemplate.ts +117 -0
- package/src/templates/Template.ts +4 -1
- package/src/types/SignInMethod.ts +59 -0
- package/src/types/Telemetry.ts +33 -0
- package/src/types/Trip.ts +4 -0
- package/lib/hooks/useIsAutoPlayFocused.d.ts +0 -7
- package/lib/hooks/useIsAutoPlayFocused.js +0 -20
- package/lib/hybrid.d.ts +0 -2
- package/lib/hybrid.js +0 -2
- package/lib/specs/AutomotivePermissionRequestTemplate.d.ts +0 -11
- package/lib/specs/AutomotivePermissionRequestTemplate.js +0 -1
- package/lib/specs/AutomotivePermissionRequestTemplate.nitro.d.ts +0 -11
- package/lib/specs/AutomotivePermissionRequestTemplate.nitro.js +0 -1
- package/lib/templates/AutomotivePermissionRequestTemplate.d.ts +0 -23
- package/lib/templates/AutomotivePermissionRequestTemplate.js +0 -18
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry__std__optional_std__string_.hpp +0 -85
package/README.md
CHANGED
|
@@ -220,6 +220,89 @@ You can customize certain behaviors of the library on Android Auto by setting pr
|
|
|
220
220
|
```
|
|
221
221
|
The default values are `1000` for the delay and `500` for the duration.
|
|
222
222
|
|
|
223
|
+
### Android Automotive
|
|
224
|
+
|
|
225
|
+
This library also supports Android Automotive. To enable Android Automotive support, you need to configure a few properties in your Android project.
|
|
226
|
+
|
|
227
|
+
- **`minSdkVersion`**: The minimum API level for Android Automotive is 29. You must set `minSdkVersion` to at least `29`. For Android Auto, the minimum is `24`.
|
|
228
|
+
|
|
229
|
+
- **`isAutomotiveApp` flag**: You need to inform the library if this is an Automotive app by setting the `isAutomotiveApp` property to `true`. For Android Auto, it should be `false`.
|
|
230
|
+
|
|
231
|
+
You can set these properties directly in your `android/gradle.properties` file:
|
|
232
|
+
```properties
|
|
233
|
+
# For Android Automotive
|
|
234
|
+
minSdkVersion=29
|
|
235
|
+
isAutomotiveApp=true
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Alternatively, if you need to support different build variants (e.g., for both Android Auto and Android Automotive from the same codebase), using `react-native-config` is the recommended approach.
|
|
239
|
+
|
|
240
|
+
1. Install `react-native-config`:
|
|
241
|
+
```bash
|
|
242
|
+
yarn add react-native-config
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
2. Create different `.env` files for your variants. Create a default `.env` for Android Auto:
|
|
246
|
+
```
|
|
247
|
+
# .env (for Android Auto)
|
|
248
|
+
isAutomotiveApp=false
|
|
249
|
+
minSdkVersion=24
|
|
250
|
+
```
|
|
251
|
+
And an `.env.automotive` for Android Automotive:
|
|
252
|
+
```
|
|
253
|
+
# .env.automotive
|
|
254
|
+
minSdkVersion=29
|
|
255
|
+
isAutomotiveApp=true
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
3. In your `android/app/build.gradle`, apply the configuration from `react-native-config` based on your build flavors.
|
|
259
|
+
```groovy
|
|
260
|
+
// android/app/build.gradle
|
|
261
|
+
|
|
262
|
+
project.ext.envConfigFiles = [
|
|
263
|
+
automotive: ".env.automotive",
|
|
264
|
+
// other flavors...
|
|
265
|
+
]
|
|
266
|
+
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
|
|
267
|
+
|
|
268
|
+
if (project.ext.has("env")) {
|
|
269
|
+
rootProject.ext.minSdkVersion = project.ext.env.minSdkVersion
|
|
270
|
+
rootProject.ext.isAutomotiveApp = project.ext.env.isAutomotiveApp
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
Adjust to the build variants your app provides. Check the example app for details.
|
|
274
|
+
|
|
275
|
+
This approach allows you to dynamically set the required flags based on your build variant, which is demonstrated in the example app.
|
|
276
|
+
|
|
277
|
+
#### App launch on Android Automotive
|
|
278
|
+
|
|
279
|
+
Android Automotive requires you to remove your app activity since it invokes the libraries Android Auto service in a different way. Not doing so will bring up 2 app icons on the Android Automotive launcher.
|
|
280
|
+
To get rid of your default activity, do an automotive specific build variant and add this AndroidManifest.xml for that variant.
|
|
281
|
+
```xml
|
|
282
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
283
|
+
xmlns:tools="http://schemas.android.com/tools">
|
|
284
|
+
|
|
285
|
+
<application>
|
|
286
|
+
<activity
|
|
287
|
+
android:name=".MainActivity"
|
|
288
|
+
tools:node="remove" /> <!-- remove main activity -->
|
|
289
|
+
</application>
|
|
290
|
+
|
|
291
|
+
</manifest>
|
|
292
|
+
```
|
|
293
|
+
For details check the example app and its build variants.
|
|
294
|
+
|
|
295
|
+
#### Non-template Automotive app ####
|
|
296
|
+
|
|
297
|
+
The library can also be used for Android Automotive apps that do not make use of templates. In case you do a navigation app HybridAndroidAutomotive provides methods to monitor and request the app focus to let the system know your app is taking over the navigation focus.
|
|
298
|
+
Do not use app focus related functions on template applications as it fights with the navigation manager used on the map template.
|
|
299
|
+
|
|
300
|
+
#### A Note on Android Studio
|
|
301
|
+
|
|
302
|
+
When using build variants, Android Studio may not be aware of the selected variant during a Gradle sync. This can cause the IDE to show the incorrect implementation of native classes like `AndroidTelemetryObserver` (e.g., it might show the Android Auto version instead of the Automotive version).
|
|
303
|
+
|
|
304
|
+
To work around this and allow for debugging or enhancing the Android Automotive-specific implementation, you can temporarily set the automotive flags in your `gradle.properties` file or your default `.env` file before running a Gradle sync.
|
|
305
|
+
|
|
223
306
|
## Icons
|
|
224
307
|
The library is using [Material Symbols](https://fonts.google.com/icons) for iconography. The font is bundled with the library, so no extra setup is required. You can use these icons on both Android Auto and CarPlay.
|
|
225
308
|
|
|
@@ -374,7 +457,7 @@ Below is a concise overview of the most important props per template. Optional p
|
|
|
374
457
|
| `component` | `React.ComponentType<RootComponentInitialProps>` | ✅ | React component to render on the map surface. |
|
|
375
458
|
| `onStopNavigation` | `(template: MapTemplate) => void` | ✅ | Called when navigation is stopped by the system. |
|
|
376
459
|
| `headerActions` | `MapHeaderActions<MapTemplate>` | ❌ | Top action strip. See **Header Actions** below. |
|
|
377
|
-
| `mapButtons` | `MapButtons<MapTemplate>` | ❌ | 1–4 map buttons shown on the map. |
|
|
460
|
+
| `mapButtons` | `MapButtons<MapTemplate>` | ❌ | 1–4 map buttons shown on the map. To get working gestures on the MapTemplate running on Android Auto you have to add a `MapPanButton` |
|
|
378
461
|
| `visibleTravelEstimate` | `'first'` `'last'` | ❌ | Which travel estimate to display. |
|
|
379
462
|
| `onDidPan` / `onDidUpdateZoomGestureWithCenter` | callbacks | ❌ | Map gesture events. |
|
|
380
463
|
| `onAppearanceDidChange` | `(colorScheme) => void` | ❌ | Listen for light/dark mode changes. |
|
|
@@ -431,13 +514,39 @@ Below is a concise overview of the most important props per template. Optional p
|
|
|
431
514
|
| `headerActions` | `HeaderActionsAndroid<MessageTemplate>` | ❌ | Android-only header actions. |
|
|
432
515
|
| `mapConfig` | `BaseMapTemplateConfig<MessageTemplate>` | ❌ | Android map-with-content layout. |
|
|
433
516
|
|
|
517
|
+
#### SignInTemplateConfig (Android-only)
|
|
518
|
+
|
|
519
|
+
| Prop | Type | Required | Notes |
|
|
520
|
+
| --- | --- | --- | --- |
|
|
521
|
+
| `signInMethod` | `SignInMethod` | ✅ | The sign-in method configuration. Can be QRSignIn, PinSignIn, InputSignIn. |
|
|
522
|
+
| `title` | `string` | ❌ | Header title. |
|
|
523
|
+
| `additionalText` | `string` | ❌ | Additional descriptive text. |
|
|
524
|
+
| `instructions` | `string` | ❌ | Sign-in Instructions text. |
|
|
525
|
+
| `actions` | `ActionButton<SignInTemplate>[]` | ❌ | Up to 2 buttons. |
|
|
526
|
+
| `headerActions` | `SignInHeaderActions<SignInTemplate>` | ❌ | Header actions. See **Header Actions** below. |
|
|
527
|
+
|
|
528
|
+
**SignInMethod**
|
|
529
|
+
|
|
530
|
+
| Method | Type | Notes |
|
|
531
|
+
| --- | --- | --- |
|
|
532
|
+
| QR | `QrSignIn` | QR Code sign in |
|
|
533
|
+
| PIN | `PinSignIn` | PIN Code sign in (1–12 characters) |
|
|
534
|
+
| Input | `InputSignIn` | Text sign in, for example mail/username and password |
|
|
535
|
+
|
|
536
|
+
For InputSignIn the keyboard and input fields can be configured with following properties:
|
|
537
|
+
|
|
538
|
+
**KeyboardType enum:** `DEFAULT`, `EMAIL`, `PHONE`, `NUMBER`
|
|
539
|
+
|
|
540
|
+
**TextInputType enum:** `PASSWORD`, `DEFAULT`
|
|
541
|
+
|
|
542
|
+
|
|
434
543
|
### Header Actions (Important)
|
|
435
544
|
|
|
436
545
|
On Android, header actions may be omitted, although this is not recommended. If `headerActions` is `undefined`, the system automatically renders the app icon in the header. Because Android Auto enforces monochrome icons, this can result in a poor-looking button.
|
|
437
546
|
|
|
438
547
|
**Use these rules to avoid crashes:**
|
|
439
548
|
|
|
440
|
-
1. **For List/Grid/Information/Search/Message templates on Android**, always pass the structured object format (alignment is implicit via `startHeaderAction`/`endHeaderActions`):
|
|
549
|
+
1. **For List/Grid/Information/Search/Message/SignIn templates on Android**, always pass the structured object format (alignment is implicit via `startHeaderAction`/`endHeaderActions`):
|
|
441
550
|
|
|
442
551
|
```ts
|
|
443
552
|
const headerActions: HeaderActions<MyTemplate> = {
|
|
@@ -657,20 +766,39 @@ new ListTemplate({
|
|
|
657
766
|
- `useVoiceInput()`: Access voice input functionality - Android Auto only.
|
|
658
767
|
- `useSafeAreaInsets()`: Get safe area insets for any root component.
|
|
659
768
|
- `useFocusedEffect()`: A useEffect alternative that executes when the specified component is visible to the user - use any of the `AutoPlayModules` enum or a cluster uuid to sepcify the component the effect should listen for.
|
|
660
|
-
- `useAndroidAutoTelemetry()`: Access to car telemetry data on Android Auto.
|
|
769
|
+
- `useAndroidAutoTelemetry()`: Access to car telemetry data on Android Auto and Android Automotive.
|
|
661
770
|
```tsx
|
|
662
771
|
import {
|
|
663
772
|
useAndroidAutoTelemetry,
|
|
664
773
|
AndroidAutoTelemetryPermissions,
|
|
774
|
+
AndroidAutomotiveTelemetryPermissions,
|
|
665
775
|
} from '@iternio/react-native-auto-play';
|
|
776
|
+
import Config from 'react-native-config';
|
|
666
777
|
|
|
667
778
|
const MyComponent = () => {
|
|
668
779
|
const { telemetry, permissionsGranted, error } = useAndroidAutoTelemetry({
|
|
669
|
-
requiredPermissions:
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
780
|
+
requiredPermissions:
|
|
781
|
+
Config.isAutomotiveApp === 'true'
|
|
782
|
+
? [
|
|
783
|
+
AndroidAutomotiveTelemetryPermissions.Info,
|
|
784
|
+
AndroidAutomotiveTelemetryPermissions.Speed,
|
|
785
|
+
AndroidAutomotiveTelemetryPermissions.Energy,
|
|
786
|
+
AndroidAutomotiveTelemetryPermissions.ExteriorEnvironment,
|
|
787
|
+
AndroidAutomotiveTelemetryPermissions.EnergyPorts,
|
|
788
|
+
]
|
|
789
|
+
: [
|
|
790
|
+
AndroidAutoTelemetryPermissions.Speed,
|
|
791
|
+
AndroidAutoTelemetryPermissions.Energy,
|
|
792
|
+
AndroidAutoTelemetryPermissions.Odometer,
|
|
793
|
+
],
|
|
794
|
+
automotivePermissionRequest:
|
|
795
|
+
Config.isAutomotiveApp === 'true'
|
|
796
|
+
? {
|
|
797
|
+
cancelButtonText: 'Cancel',
|
|
798
|
+
grantButtonText: 'Grant',
|
|
799
|
+
message: 'Grant permission for vehicle telemetry access.',
|
|
800
|
+
}
|
|
801
|
+
: undefined,
|
|
674
802
|
});
|
|
675
803
|
|
|
676
804
|
if (!permissionsGranted) {
|
|
@@ -688,6 +816,14 @@ new ListTemplate({
|
|
|
688
816
|
<Text>Battery Level: {telemetry?.batteryLevel?.value}%</Text>
|
|
689
817
|
<Text>Range: {telemetry?.range?.value} km</Text>
|
|
690
818
|
<Text>Odometer: {telemetry?.odometer?.value} km</Text>
|
|
819
|
+
<Text>Selected Gear: {telemetry?.selectedGear?.value}</Text>
|
|
820
|
+
<Text>Outside Temperature: {telemetry?.envOutsideTemperature?.value}°C</Text>
|
|
821
|
+
<Text>EV Charge Port Connected: {String(telemetry?.evChargePortConnected?.value)}</Text>
|
|
822
|
+
<Text>EV Battery Charge Rate: {telemetry?.evBatteryInstantaneousChargeRate?.value} kW</Text>
|
|
823
|
+
<Text>Parking Brake On: {String(telemetry?.parkingBrakeOn?.value)}</Text>
|
|
824
|
+
<Text>Vehicle Name: {telemetry?.vehicle?.name?.value}</Text>
|
|
825
|
+
<Text>Vehicle Manufacturer: {telemetry?.vehicle?.manufacturer?.value}</Text>
|
|
826
|
+
<Text>Vehicle Year: {telemetry?.vehicle?.year?.value}</Text>
|
|
691
827
|
</View>
|
|
692
828
|
);
|
|
693
829
|
}
|
|
@@ -699,6 +835,15 @@ new ListTemplate({
|
|
|
699
835
|
- `range`: Range in km.
|
|
700
836
|
- `odometer`: Odometer in km.
|
|
701
837
|
- `vehicle`: Vehicle information (model name, model year, manufacturer).
|
|
838
|
+
- `selectedGear`: The currently selected gear, one of the `VehicleGear` enum:
|
|
839
|
+
- Neutral = 1
|
|
840
|
+
- Reverse = 2
|
|
841
|
+
- Park = 4
|
|
842
|
+
- Drive = 8
|
|
843
|
+
- `envOutsideTemperature`: The outside temperature in °C.
|
|
844
|
+
- `evChargePortConnected`: Whether the EV charge port is connected.
|
|
845
|
+
- `evBatteryInstantaneousChargeRate`: The instantaneous charge rate of the EV battery in kW.
|
|
846
|
+
- `parkingBrakeOn`: Whether the parking brake is on.
|
|
702
847
|
|
|
703
848
|
|
|
704
849
|
### Scenes
|
|
@@ -735,7 +880,7 @@ CarPlayDashboard.setButtons([
|
|
|
735
880
|
|
|
736
881
|
### iOS
|
|
737
882
|
|
|
738
|
-
- **Broken exceptions with `react-native-skia`**: When using `react-native-skia` up to version `2.4.
|
|
883
|
+
- **Broken exceptions with `react-native-skia`**: When using `react-native-skia` up to version `2.4.14`, exceptions on iOS are not reported correctly. This is fixed in newer versions of `react-native-skia`. For more details, see this [pull request](https://github.com/Shopify/react-native-skia/pull/3595) and [issue](https://github.com/Shopify/react-native-skia/issues/3635).
|
|
739
884
|
- **AppState on iOS**: The `AppState` module from React Native does not work correctly on iOS because this library uses scenes, which are not supported by the stock `AppState` module. This library provides a custom state listener that works for both Android and iOS. Use `HybridAutoPlay.addListenerRenderState` instead of `AppState`.
|
|
740
885
|
- **Timers stop on screen lock**: iOS stops all timers when the device's main screen is turned off. To ensure timers continue to run (which is often necessary for background tasks related to autoplay), a patch for `react-native` is required. A patch is included in the root `patches/` directory and can be applied using `patch-package`.
|
|
741
886
|
- **expo-splash-screen stuck on iOS**: The `expo-splash-screen` module is broken on iOS because it does not support scenes, which are used by this library. This can cause the splash screen to be stuck on either the mobile device or on CarPlay. To fix this, a patch for `expo-splash-screen` is included in the root `patches/` directory and can be applied using `patch-package`. After applying the patch, you can hide the splash screen for a specific scene by passing the module name to the `hide` or `hideAsync` function. The module name can be one of the values from the `AutoPlayModules` enum or the UUID of a cluster screen.
|
|
@@ -749,10 +894,16 @@ CarPlayDashboard.setButtons([
|
|
|
749
894
|
// Hide the splash screen for the CarPlay screen
|
|
750
895
|
hideAsync(AutoPlayModules.AutoPlayRoot);
|
|
751
896
|
```
|
|
897
|
+
### Android
|
|
898
|
+
- **Broken exceptions with `react-native`** up to version 0.79
|
|
899
|
+
When using react-native before 0.80.0 exceptions are broken and are reported as `Unknown runtime_error` or similar.
|
|
900
|
+
See [this issue](https://github.com/mrousavy/nitro/issues/382) for details.
|
|
901
|
+
- **@rnmapbox/maps** The map view/camera might take the primary screens scale factor into account when interacting with the map.
|
|
902
|
+
This might lead to broken gestures, in case you face this issue try to apply either the `Dimensions.get('window').scale` or `RootComponentInitialProps.window.scale` to your coordinates.
|
|
752
903
|
|
|
753
904
|
## Contributing
|
|
754
905
|
|
|
755
|
-
Contributions are welcome!
|
|
906
|
+
Contributions are welcome! Feel free to open up a [discussion](https://github.com/Iternio-Planning-AB/react-native-auto-play/discussions) or submit a pull request.
|
|
756
907
|
|
|
757
908
|
## License
|
|
758
909
|
|
package/android/build.gradle
CHANGED
|
@@ -124,8 +124,20 @@ android {
|
|
|
124
124
|
"${project.buildDir}/generated/source/codegen/java"
|
|
125
125
|
]
|
|
126
126
|
}
|
|
127
|
+
|
|
128
|
+
if (getExtOrDefault("isAutomotiveApp") == "true") {
|
|
129
|
+
java.srcDirs += 'src/automotive/java'
|
|
130
|
+
manifest.srcFile 'src/automotive/AndroidManifest.xml'
|
|
131
|
+
} else {
|
|
132
|
+
java.srcDirs += 'src/auto/java'
|
|
133
|
+
manifest.srcFile 'src/main/AndroidManifest.xml'
|
|
134
|
+
}
|
|
127
135
|
}
|
|
128
136
|
}
|
|
137
|
+
|
|
138
|
+
if (getExtOrDefault("isAutomotiveApp") == "true") {
|
|
139
|
+
useLibrary 'android.car'
|
|
140
|
+
}
|
|
129
141
|
}
|
|
130
142
|
|
|
131
143
|
repositories {
|
|
@@ -133,7 +145,6 @@ repositories {
|
|
|
133
145
|
google()
|
|
134
146
|
}
|
|
135
147
|
|
|
136
|
-
|
|
137
148
|
dependencies {
|
|
138
149
|
// For < 0.71, this will be from the local maven repo
|
|
139
150
|
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
@@ -151,5 +162,8 @@ dependencies {
|
|
|
151
162
|
println("☎️ Enjoy your nitro powered Android Auto app!")
|
|
152
163
|
implementation "androidx.car.app:app-projected:1.7.0"
|
|
153
164
|
}
|
|
165
|
+
|
|
166
|
+
implementation 'com.google.android.gms:play-services-base:18.10.0'
|
|
167
|
+
implementation 'com.google.android.gms:play-services-auth:21.5.0'
|
|
154
168
|
}
|
|
155
169
|
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
package com.margelo.nitro.swe.iternio.reactnativeautoplay
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import android.os.Handler
|
|
5
|
-
import android.os.Looper
|
|
6
|
-
import android.util.Log
|
|
7
3
|
import androidx.car.app.CarContext
|
|
8
4
|
import androidx.car.app.hardware.CarHardwareManager
|
|
9
5
|
import androidx.car.app.hardware.common.CarValue
|
|
@@ -15,23 +11,27 @@ import androidx.car.app.hardware.info.Speed
|
|
|
15
11
|
import androidx.car.app.versioning.CarAppApiLevels
|
|
16
12
|
import androidx.core.content.ContextCompat
|
|
17
13
|
|
|
18
|
-
object
|
|
19
|
-
private var telemetryCallbacks: MutableList<(telemetry: Telemetry?, error: String?) -> Unit> =
|
|
20
|
-
ArrayList();
|
|
21
|
-
|
|
22
|
-
private var isRunning = false
|
|
14
|
+
object AndroidTelemetryObserver : TelemetryObserver() {
|
|
23
15
|
private var carContext: CarContext? = null
|
|
24
16
|
|
|
25
|
-
private val
|
|
26
|
-
|
|
17
|
+
private val mModelListener = OnCarDataAvailableListener<Model> { model ->
|
|
18
|
+
val name = if (model.name.status == CarValue.STATUS_SUCCESS) {
|
|
19
|
+
model.name.value
|
|
20
|
+
} else null
|
|
21
|
+
|
|
22
|
+
val manufacturer = if (model.manufacturer.status == CarValue.STATUS_SUCCESS) {
|
|
23
|
+
model.manufacturer.value
|
|
24
|
+
} else null
|
|
25
|
+
|
|
26
|
+
val year = if (model.year.status == CarValue.STATUS_SUCCESS) {
|
|
27
|
+
model.year.value
|
|
28
|
+
} else null
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
telemetryHolder.updateVehicle(it)
|
|
30
|
+
telemetryHolder.updateVehicle(name, manufacturer, year)
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
tlm?.let {
|
|
32
|
+
telemetryHolder.toTelemetry()?.let {
|
|
33
33
|
telemetryCallbacks.forEach { callback ->
|
|
34
|
-
callback(
|
|
34
|
+
callback(it)
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -70,51 +70,13 @@ object AndroidAutoTelemetryObserver {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (tlm != null) {
|
|
78
|
-
telemetryCallbacks.forEach { callback ->
|
|
79
|
-
callback(tlm, null)
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
handler.postDelayed(this, BuildConfig.TELEMETRY_UPDATE_INTERVAL)
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
fun addListener(callback: (Telemetry?, String?) -> Unit): () -> Unit {
|
|
88
|
-
telemetryCallbacks.add(callback)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
// start is called every time a new listener is registered, so the single shot values are still requested and returned immediately
|
|
92
|
-
try {
|
|
93
|
-
startTelemetryObserver()
|
|
94
|
-
} catch (err: Exception) {
|
|
95
|
-
callback(null, err.message)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return {
|
|
100
|
-
telemetryCallbacks.remove(callback)
|
|
101
|
-
if (telemetryCallbacks.isEmpty()) {
|
|
102
|
-
stopTelemetryObserver()
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
fun startTelemetryObserver(
|
|
109
|
-
) {
|
|
110
|
-
val carContext =
|
|
111
|
-
AndroidAutoSession.Companion.getCarContext(AndroidAutoSession.Companion.ROOT_SESSION)
|
|
112
|
-
?: throw IllegalArgumentException(
|
|
113
|
-
"Car context not available, failed to start telemetry"
|
|
114
|
-
)
|
|
73
|
+
override fun startTelemetryObserver(): Boolean {
|
|
74
|
+
val carContext = AndroidAutoSession.getRootContext() ?: throw IllegalArgumentException(
|
|
75
|
+
"Car context not available, failed to start telemetry"
|
|
76
|
+
)
|
|
115
77
|
|
|
116
78
|
|
|
117
|
-
|
|
79
|
+
AndroidTelemetryObserver.carContext = carContext
|
|
118
80
|
if (carContext.carAppApiLevel < CarAppApiLevels.LEVEL_3) {
|
|
119
81
|
throw UnsupportedOperationException("Telemetry not supported for this API level ${carContext.carAppApiLevel}")
|
|
120
82
|
}
|
|
@@ -133,13 +95,10 @@ object AndroidAutoTelemetryObserver {
|
|
|
133
95
|
} catch (_: NullPointerException) {
|
|
134
96
|
}
|
|
135
97
|
|
|
136
|
-
if (
|
|
137
|
-
// we stop here to not re-register multiple listeners
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"Telemetry observer is already running"
|
|
141
|
-
)
|
|
142
|
-
return
|
|
98
|
+
if (isObserverRunning) {
|
|
99
|
+
// we stop here to not re-register multiple listeners
|
|
100
|
+
// only the single shot values can be requested multiple times by registering another tlm listener on RN side
|
|
101
|
+
return false
|
|
143
102
|
}
|
|
144
103
|
|
|
145
104
|
try {
|
|
@@ -160,19 +119,17 @@ object AndroidAutoTelemetryObserver {
|
|
|
160
119
|
} catch (_: NullPointerException) {
|
|
161
120
|
}
|
|
162
121
|
|
|
163
|
-
handler.post(emitter)
|
|
164
|
-
|
|
165
|
-
isRunning = true
|
|
166
122
|
|
|
167
|
-
|
|
123
|
+
isObserverRunning = true
|
|
124
|
+
return true
|
|
168
125
|
}
|
|
169
126
|
|
|
170
|
-
fun stopTelemetryObserver() {
|
|
171
|
-
if (!
|
|
127
|
+
override fun stopTelemetryObserver() {
|
|
128
|
+
if (!isObserverRunning) {
|
|
172
129
|
return
|
|
173
130
|
}
|
|
174
131
|
|
|
175
|
-
|
|
132
|
+
isObserverRunning = false
|
|
176
133
|
|
|
177
134
|
carContext?.let {
|
|
178
135
|
val carHardwareManager = it.getCarService(
|
|
@@ -195,7 +152,5 @@ object AndroidAutoTelemetryObserver {
|
|
|
195
152
|
} catch (_: SecurityException) {
|
|
196
153
|
}
|
|
197
154
|
}
|
|
198
|
-
|
|
199
|
-
handler.removeCallbacks(emitter)
|
|
200
155
|
}
|
|
201
|
-
}
|
|
156
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
2
|
+
|
|
3
|
+
<uses-feature
|
|
4
|
+
android:name="android.hardware.type.automotive"
|
|
5
|
+
android:required="true" />
|
|
6
|
+
|
|
7
|
+
<uses-feature
|
|
8
|
+
android:name="android.software.car.templates_host"
|
|
9
|
+
android:required="true" />
|
|
10
|
+
|
|
11
|
+
<uses-permission android:name="androidx.car.app.NAVIGATION_TEMPLATES" />
|
|
12
|
+
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES" />
|
|
13
|
+
<uses-permission android:name="androidx.car.app.ACCESS_SURFACE" />
|
|
14
|
+
|
|
15
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
16
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
17
|
+
|
|
18
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
19
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
|
|
20
|
+
|
|
21
|
+
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<!-- Android Automotive specific permissions -->
|
|
25
|
+
<uses-permission android:name="android.car.permission.CAR_ENERGY" />
|
|
26
|
+
<uses-permission android:name="android.car.permission.CAR_ENERGY_PORTS" />
|
|
27
|
+
<uses-permission android:name="android.car.permission.CAR_EXTERIOR_ENVIRONMENT" />
|
|
28
|
+
<uses-permission android:name="android.car.permission.CAR_IDENTIFICATION" />
|
|
29
|
+
<uses-permission android:name="android.car.permission.CAR_INFO" />
|
|
30
|
+
<uses-permission android:name="android.car.permission.CAR_POWERTRAIN" />
|
|
31
|
+
<uses-permission android:name="android.car.permission.CAR_SPEED" />
|
|
32
|
+
|
|
33
|
+
<application>
|
|
34
|
+
<activity
|
|
35
|
+
android:name="androidx.car.app.activity.CarAppActivity"
|
|
36
|
+
android:exported="true"
|
|
37
|
+
android:launchMode="singleTask"
|
|
38
|
+
android:theme="@android:style/Theme.DeviceDefault.NoActionBar">
|
|
39
|
+
|
|
40
|
+
<intent-filter>
|
|
41
|
+
<action android:name="android.intent.action.MAIN" />
|
|
42
|
+
|
|
43
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
|
44
|
+
<category android:name="android.intent.category.APP_MAPS" />
|
|
45
|
+
</intent-filter>
|
|
46
|
+
|
|
47
|
+
<intent-filter>
|
|
48
|
+
<action android:name="androidx.car.app.action.NAVIGATE" />
|
|
49
|
+
<category android:name="android.intent.category.DEFAULT" />
|
|
50
|
+
<data android:scheme="geo" />
|
|
51
|
+
</intent-filter>
|
|
52
|
+
|
|
53
|
+
<meta-data
|
|
54
|
+
android:name="distractionOptimized"
|
|
55
|
+
android:value="true" />
|
|
56
|
+
|
|
57
|
+
</activity>
|
|
58
|
+
|
|
59
|
+
<service
|
|
60
|
+
android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.AndroidAutoService"
|
|
61
|
+
android:exported="true"
|
|
62
|
+
android:foregroundServiceType="location">
|
|
63
|
+
<intent-filter>
|
|
64
|
+
<action android:name="androidx.car.app.CarAppService" />
|
|
65
|
+
|
|
66
|
+
<category android:name="androidx.car.app.category.NAVIGATION" />
|
|
67
|
+
<category android:name="androidx.car.app.category.FEATURE_CLUSTER" />
|
|
68
|
+
</intent-filter>
|
|
69
|
+
<intent-filter>
|
|
70
|
+
<action android:name="androidx.car.app.action.NAVIGATE" />
|
|
71
|
+
<category android:name="android.intent.category.DEFAULT" />
|
|
72
|
+
<data android:scheme="geo" />
|
|
73
|
+
</intent-filter>
|
|
74
|
+
</service>
|
|
75
|
+
|
|
76
|
+
<service android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.HeadlessTaskService" />
|
|
77
|
+
|
|
78
|
+
<activity android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.SignInWithGoogleActivity" />
|
|
79
|
+
|
|
80
|
+
<provider
|
|
81
|
+
android:name="com.margelo.nitro.swe.iternio.reactnativeautoplay.ActivityRenderStateProvider"
|
|
82
|
+
android:authorities="${applicationId}.ActivityRenderStateProvider"
|
|
83
|
+
android:exported="false" />
|
|
84
|
+
|
|
85
|
+
<meta-data
|
|
86
|
+
android:name="com.android.automotive"
|
|
87
|
+
android:resource="@xml/automotive_app_desc" />
|
|
88
|
+
<meta-data
|
|
89
|
+
android:name="androidx.car.app.minCarApiLevel"
|
|
90
|
+
android:value="1" />
|
|
91
|
+
</application>
|
|
92
|
+
|
|
93
|
+
</manifest>
|