@santoshpk/react-native-carplay 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +119 -0
  2. package/android/.idea/compiler.xml +6 -0
  3. package/android/.idea/gradle.xml +17 -0
  4. package/android/.idea/jarRepositories.xml +25 -0
  5. package/android/.idea/misc.xml +10 -0
  6. package/android/.idea/vcs.xml +6 -0
  7. package/android/build.gradle +63 -0
  8. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  9. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  10. package/android/gradle.properties +20 -0
  11. package/android/gradlew +234 -0
  12. package/android/gradlew.bat +89 -0
  13. package/android/local.properties +8 -0
  14. package/android/src/main/AndroidManifest.xml +31 -0
  15. package/android/src/main/AndroidManifestNew.xml +31 -0
  16. package/android/src/main/java/org/birkir/carplay/CarPlayModule.kt +348 -0
  17. package/android/src/main/java/org/birkir/carplay/CarPlayPackage.kt +18 -0
  18. package/android/src/main/java/org/birkir/carplay/CarPlayService.kt +34 -0
  19. package/android/src/main/java/org/birkir/carplay/CarPlaySession.kt +114 -0
  20. package/android/src/main/java/org/birkir/carplay/parser/Ext.kt +11 -0
  21. package/android/src/main/java/org/birkir/carplay/parser/Parser.kt +18 -0
  22. package/android/src/main/java/org/birkir/carplay/parser/RCTGridTemplate.kt +28 -0
  23. package/android/src/main/java/org/birkir/carplay/parser/RCTListTemplate.kt +64 -0
  24. package/android/src/main/java/org/birkir/carplay/parser/RCTMapTemplate.kt +185 -0
  25. package/android/src/main/java/org/birkir/carplay/parser/RCTMessageTemplate.kt +36 -0
  26. package/android/src/main/java/org/birkir/carplay/parser/RCTPaneTemplate.kt +24 -0
  27. package/android/src/main/java/org/birkir/carplay/parser/RCTSearchTemplate.kt +41 -0
  28. package/android/src/main/java/org/birkir/carplay/parser/RCTTabTemplate.kt +52 -0
  29. package/android/src/main/java/org/birkir/carplay/parser/RCTTemplate.kt +434 -0
  30. package/android/src/main/java/org/birkir/carplay/parser/TemplateParser.kt +35 -0
  31. package/android/src/main/java/org/birkir/carplay/screens/CarScreen.kt +69 -0
  32. package/android/src/main/java/org/birkir/carplay/screens/CarScreenContext.kt +10 -0
  33. package/android/src/main/java/org/birkir/carplay/utils/EventEmitter.kt +174 -0
  34. package/android/src/main/java/org/birkir/carplay/utils/VirtualRenderer.kt +75 -0
  35. package/ios/RCTConvert+RNCarPlay.h +18 -0
  36. package/ios/RCTConvert+RNCarPlay.m +96 -0
  37. package/ios/RNCPStore.h +24 -0
  38. package/ios/RNCPStore.m +68 -0
  39. package/ios/RNCarPlay.h +29 -0
  40. package/ios/RNCarPlay.m +1839 -0
  41. package/ios/RNCarPlay.xcodeproj/project.pbxproj +300 -0
  42. package/lib/CarPlay.d.ts +196 -0
  43. package/lib/CarPlay.d.ts.map +1 -0
  44. package/lib/CarPlay.js +176 -0
  45. package/lib/CarPlay.js.map +1 -0
  46. package/lib/index.d.ts +44 -0
  47. package/lib/index.d.ts.map +1 -0
  48. package/lib/index.js +64 -0
  49. package/lib/index.js.map +1 -0
  50. package/lib/interfaces/Action.d.ts +13 -0
  51. package/lib/interfaces/Action.d.ts.map +1 -0
  52. package/lib/interfaces/Action.js +3 -0
  53. package/lib/interfaces/Action.js.map +1 -0
  54. package/lib/interfaces/AlertAction.d.ts +6 -0
  55. package/lib/interfaces/AlertAction.d.ts.map +1 -0
  56. package/lib/interfaces/AlertAction.js +3 -0
  57. package/lib/interfaces/AlertAction.js.map +1 -0
  58. package/lib/interfaces/BarButton.d.ts +39 -0
  59. package/lib/interfaces/BarButton.d.ts.map +1 -0
  60. package/lib/interfaces/BarButton.js +3 -0
  61. package/lib/interfaces/BarButton.js.map +1 -0
  62. package/lib/interfaces/CarColor.d.ts +2 -0
  63. package/lib/interfaces/CarColor.d.ts.map +1 -0
  64. package/lib/interfaces/CarColor.js +3 -0
  65. package/lib/interfaces/CarColor.js.map +1 -0
  66. package/lib/interfaces/GridButton.d.ts +24 -0
  67. package/lib/interfaces/GridButton.d.ts.map +1 -0
  68. package/lib/interfaces/GridButton.js +3 -0
  69. package/lib/interfaces/GridButton.js.map +1 -0
  70. package/lib/interfaces/Header.d.ts +15 -0
  71. package/lib/interfaces/Header.d.ts.map +1 -0
  72. package/lib/interfaces/Header.js +3 -0
  73. package/lib/interfaces/Header.js.map +1 -0
  74. package/lib/interfaces/ListItem.d.ts +61 -0
  75. package/lib/interfaces/ListItem.d.ts.map +1 -0
  76. package/lib/interfaces/ListItem.js +3 -0
  77. package/lib/interfaces/ListItem.js.map +1 -0
  78. package/lib/interfaces/ListItemUpdate.d.ts +15 -0
  79. package/lib/interfaces/ListItemUpdate.d.ts.map +1 -0
  80. package/lib/interfaces/ListItemUpdate.js +3 -0
  81. package/lib/interfaces/ListItemUpdate.js.map +1 -0
  82. package/lib/interfaces/ListSection.d.ts +21 -0
  83. package/lib/interfaces/ListSection.d.ts.map +1 -0
  84. package/lib/interfaces/ListSection.js +3 -0
  85. package/lib/interfaces/ListSection.js.map +1 -0
  86. package/lib/interfaces/Maneuver.d.ts +31 -0
  87. package/lib/interfaces/Maneuver.d.ts.map +1 -0
  88. package/lib/interfaces/Maneuver.js +3 -0
  89. package/lib/interfaces/Maneuver.js.map +1 -0
  90. package/lib/interfaces/MapButton.d.ts +27 -0
  91. package/lib/interfaces/MapButton.d.ts.map +1 -0
  92. package/lib/interfaces/MapButton.js +3 -0
  93. package/lib/interfaces/MapButton.js.map +1 -0
  94. package/lib/interfaces/NavigationAlert.d.ts +44 -0
  95. package/lib/interfaces/NavigationAlert.d.ts.map +1 -0
  96. package/lib/interfaces/NavigationAlert.js +10 -0
  97. package/lib/interfaces/NavigationAlert.js.map +1 -0
  98. package/lib/interfaces/NavigationInfo.d.ts +17 -0
  99. package/lib/interfaces/NavigationInfo.d.ts.map +1 -0
  100. package/lib/interfaces/NavigationInfo.js +3 -0
  101. package/lib/interfaces/NavigationInfo.js.map +1 -0
  102. package/lib/interfaces/NavigationStep.d.ts +17 -0
  103. package/lib/interfaces/NavigationStep.d.ts.map +1 -0
  104. package/lib/interfaces/NavigationStep.js +3 -0
  105. package/lib/interfaces/NavigationStep.js.map +1 -0
  106. package/lib/interfaces/Pane.d.ts +29 -0
  107. package/lib/interfaces/Pane.d.ts.map +1 -0
  108. package/lib/interfaces/Pane.js +3 -0
  109. package/lib/interfaces/Pane.js.map +1 -0
  110. package/lib/interfaces/PauseReason.d.ts +8 -0
  111. package/lib/interfaces/PauseReason.d.ts.map +1 -0
  112. package/lib/interfaces/PauseReason.js +12 -0
  113. package/lib/interfaces/PauseReason.js.map +1 -0
  114. package/lib/interfaces/Place.d.ts +11 -0
  115. package/lib/interfaces/Place.d.ts.map +1 -0
  116. package/lib/interfaces/Place.js +3 -0
  117. package/lib/interfaces/Place.js.map +1 -0
  118. package/lib/interfaces/TextConfiguration.d.ts +6 -0
  119. package/lib/interfaces/TextConfiguration.d.ts.map +1 -0
  120. package/lib/interfaces/TextConfiguration.js +3 -0
  121. package/lib/interfaces/TextConfiguration.js.map +1 -0
  122. package/lib/interfaces/TimeRemainingColor.d.ts +2 -0
  123. package/lib/interfaces/TimeRemainingColor.d.ts.map +1 -0
  124. package/lib/interfaces/TimeRemainingColor.js +3 -0
  125. package/lib/interfaces/TimeRemainingColor.js.map +1 -0
  126. package/lib/interfaces/TravelEstimates.d.ts +37 -0
  127. package/lib/interfaces/TravelEstimates.d.ts.map +1 -0
  128. package/lib/interfaces/TravelEstimates.js +3 -0
  129. package/lib/interfaces/TravelEstimates.js.map +1 -0
  130. package/lib/interfaces/VoiceControlState.d.ts +8 -0
  131. package/lib/interfaces/VoiceControlState.d.ts.map +1 -0
  132. package/lib/interfaces/VoiceControlState.js +3 -0
  133. package/lib/interfaces/VoiceControlState.js.map +1 -0
  134. package/lib/navigation/NavigationSession.d.ts +18 -0
  135. package/lib/navigation/NavigationSession.d.ts.map +1 -0
  136. package/lib/navigation/NavigationSession.js +51 -0
  137. package/lib/navigation/NavigationSession.js.map +1 -0
  138. package/lib/navigation/Trip.d.ts +22 -0
  139. package/lib/navigation/Trip.d.ts.map +1 -0
  140. package/lib/navigation/Trip.js +18 -0
  141. package/lib/navigation/Trip.js.map +1 -0
  142. package/lib/templates/ActionSheetTemplate.d.ts +18 -0
  143. package/lib/templates/ActionSheetTemplate.d.ts.map +1 -0
  144. package/lib/templates/ActionSheetTemplate.js +16 -0
  145. package/lib/templates/ActionSheetTemplate.js.map +1 -0
  146. package/lib/templates/AlertTemplate.d.ts +17 -0
  147. package/lib/templates/AlertTemplate.d.ts.map +1 -0
  148. package/lib/templates/AlertTemplate.js +16 -0
  149. package/lib/templates/AlertTemplate.js.map +1 -0
  150. package/lib/templates/ContactTemplate.d.ts +36 -0
  151. package/lib/templates/ContactTemplate.d.ts.map +1 -0
  152. package/lib/templates/ContactTemplate.js +16 -0
  153. package/lib/templates/ContactTemplate.js.map +1 -0
  154. package/lib/templates/GridTemplate.d.ts +38 -0
  155. package/lib/templates/GridTemplate.d.ts.map +1 -0
  156. package/lib/templates/GridTemplate.js +17 -0
  157. package/lib/templates/GridTemplate.js.map +1 -0
  158. package/lib/templates/InformationTemplate.d.ts +28 -0
  159. package/lib/templates/InformationTemplate.d.ts.map +1 -0
  160. package/lib/templates/InformationTemplate.js +28 -0
  161. package/lib/templates/InformationTemplate.js.map +1 -0
  162. package/lib/templates/ListTemplate.d.ts +112 -0
  163. package/lib/templates/ListTemplate.d.ts.map +1 -0
  164. package/lib/templates/ListTemplate.js +57 -0
  165. package/lib/templates/ListTemplate.js.map +1 -0
  166. package/lib/templates/MapTemplate.d.ts +171 -0
  167. package/lib/templates/MapTemplate.d.ts.map +1 -0
  168. package/lib/templates/MapTemplate.js +115 -0
  169. package/lib/templates/MapTemplate.js.map +1 -0
  170. package/lib/templates/NowPlayingTemplate.d.ts +31 -0
  171. package/lib/templates/NowPlayingTemplate.d.ts.map +1 -0
  172. package/lib/templates/NowPlayingTemplate.js +18 -0
  173. package/lib/templates/NowPlayingTemplate.js.map +1 -0
  174. package/lib/templates/PointOfInterestTemplate.d.ts +38 -0
  175. package/lib/templates/PointOfInterestTemplate.d.ts.map +1 -0
  176. package/lib/templates/PointOfInterestTemplate.js +18 -0
  177. package/lib/templates/PointOfInterestTemplate.js.map +1 -0
  178. package/lib/templates/SearchTemplate.d.ts +32 -0
  179. package/lib/templates/SearchTemplate.d.ts.map +1 -0
  180. package/lib/templates/SearchTemplate.js +41 -0
  181. package/lib/templates/SearchTemplate.js.map +1 -0
  182. package/lib/templates/TabBarTemplate.d.ts +27 -0
  183. package/lib/templates/TabBarTemplate.d.ts.map +1 -0
  184. package/lib/templates/TabBarTemplate.js +26 -0
  185. package/lib/templates/TabBarTemplate.js.map +1 -0
  186. package/lib/templates/Template.d.ts +83 -0
  187. package/lib/templates/Template.d.ts.map +1 -0
  188. package/lib/templates/Template.js +71 -0
  189. package/lib/templates/Template.js.map +1 -0
  190. package/lib/templates/VoiceControlTemplate.d.ts +18 -0
  191. package/lib/templates/VoiceControlTemplate.d.ts.map +1 -0
  192. package/lib/templates/VoiceControlTemplate.js +20 -0
  193. package/lib/templates/VoiceControlTemplate.js.map +1 -0
  194. package/lib/templates/android/AndroidNavigationBaseTemplate.d.ts +19 -0
  195. package/lib/templates/android/AndroidNavigationBaseTemplate.d.ts.map +1 -0
  196. package/lib/templates/android/AndroidNavigationBaseTemplate.js +29 -0
  197. package/lib/templates/android/AndroidNavigationBaseTemplate.js.map +1 -0
  198. package/lib/templates/android/MessageTemplate.d.ts +16 -0
  199. package/lib/templates/android/MessageTemplate.d.ts.map +1 -0
  200. package/lib/templates/android/MessageTemplate.js +11 -0
  201. package/lib/templates/android/MessageTemplate.js.map +1 -0
  202. package/lib/templates/android/NavigationTemplate.d.ts +44 -0
  203. package/lib/templates/android/NavigationTemplate.d.ts.map +1 -0
  204. package/lib/templates/android/NavigationTemplate.js +17 -0
  205. package/lib/templates/android/NavigationTemplate.js.map +1 -0
  206. package/lib/templates/android/PaneTemplate.d.ts +20 -0
  207. package/lib/templates/android/PaneTemplate.d.ts.map +1 -0
  208. package/lib/templates/android/PaneTemplate.js +17 -0
  209. package/lib/templates/android/PaneTemplate.js.map +1 -0
  210. package/lib/templates/android/PlaceListMapTemplate.d.ts +78 -0
  211. package/lib/templates/android/PlaceListMapTemplate.d.ts.map +1 -0
  212. package/lib/templates/android/PlaceListMapTemplate.js +25 -0
  213. package/lib/templates/android/PlaceListMapTemplate.js.map +1 -0
  214. package/lib/templates/android/PlaceListNavigationTemplate.d.ts +51 -0
  215. package/lib/templates/android/PlaceListNavigationTemplate.d.ts.map +1 -0
  216. package/lib/templates/android/PlaceListNavigationTemplate.js +20 -0
  217. package/lib/templates/android/PlaceListNavigationTemplate.js.map +1 -0
  218. package/lib/templates/android/RoutePreviewNavigationTemplate.d.ts +60 -0
  219. package/lib/templates/android/RoutePreviewNavigationTemplate.d.ts.map +1 -0
  220. package/lib/templates/android/RoutePreviewNavigationTemplate.js +23 -0
  221. package/lib/templates/android/RoutePreviewNavigationTemplate.js.map +1 -0
  222. package/lib/tsconfig.tsbuildinfo +1 -0
  223. package/package.json +49 -0
  224. package/react-native-carplay.podspec +21 -0
  225. package/src/CarPlay.ts +320 -0
  226. package/src/index.ts +50 -0
  227. package/src/interfaces/Action.ts +15 -0
  228. package/src/interfaces/AlertAction.ts +5 -0
  229. package/src/interfaces/BarButton.ts +41 -0
  230. package/src/interfaces/CarColor.ts +1 -0
  231. package/src/interfaces/GridButton.ts +25 -0
  232. package/src/interfaces/Header.ts +16 -0
  233. package/src/interfaces/ListItem.ts +61 -0
  234. package/src/interfaces/ListItemUpdate.ts +14 -0
  235. package/src/interfaces/ListSection.ts +21 -0
  236. package/src/interfaces/Maneuver.ts +30 -0
  237. package/src/interfaces/MapButton.ts +27 -0
  238. package/src/interfaces/NavigationAlert.ts +46 -0
  239. package/src/interfaces/NavigationInfo.ts +19 -0
  240. package/src/interfaces/NavigationStep.ts +17 -0
  241. package/src/interfaces/Pane.ts +29 -0
  242. package/src/interfaces/PauseReason.ts +7 -0
  243. package/src/interfaces/Place.ts +12 -0
  244. package/src/interfaces/TextConfiguration.ts +5 -0
  245. package/src/interfaces/TimeRemainingColor.ts +1 -0
  246. package/src/interfaces/TravelEstimates.ts +39 -0
  247. package/src/interfaces/VoiceControlState.ts +8 -0
  248. package/src/navigation/NavigationSession.ts +57 -0
  249. package/src/navigation/Trip.ts +36 -0
  250. package/src/templates/ActionSheetTemplate.ts +21 -0
  251. package/src/templates/AlertTemplate.ts +20 -0
  252. package/src/templates/ContactTemplate.ts +45 -0
  253. package/src/templates/GridTemplate.ts +45 -0
  254. package/src/templates/InformationTemplate.ts +42 -0
  255. package/src/templates/ListTemplate.ts +150 -0
  256. package/src/templates/MapTemplate.ts +231 -0
  257. package/src/templates/NowPlayingTemplate.ts +38 -0
  258. package/src/templates/PointOfInterestTemplate.ts +42 -0
  259. package/src/templates/SearchTemplate.ts +70 -0
  260. package/src/templates/TabBarTemplate.ts +56 -0
  261. package/src/templates/Template.ts +165 -0
  262. package/src/templates/VoiceControlTemplate.ts +25 -0
  263. package/src/templates/android/AndroidNavigationBaseTemplate.ts +46 -0
  264. package/src/templates/android/MessageTemplate.ts +19 -0
  265. package/src/templates/android/NavigationTemplate.ts +50 -0
  266. package/src/templates/android/PaneTemplate.ts +26 -0
  267. package/src/templates/android/PlaceListMapTemplate.ts +94 -0
  268. package/src/templates/android/PlaceListNavigationTemplate.ts +57 -0
  269. package/src/templates/android/RoutePreviewNavigationTemplate.ts +66 -0
@@ -0,0 +1,300 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 50;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ E344BCC72249585C006FD80D /* RNCarPlay.m in Sources */ = {isa = PBXBuildFile; fileRef = E344BBF222494D53006FD80D /* RNCarPlay.m */; };
11
+ E344BCC82249585C006FD80D /* RNCPStore.m in Sources */ = {isa = PBXBuildFile; fileRef = E344BBF422494D9D006FD80D /* RNCPStore.m */; };
12
+ E35223EB224BD4E500623F30 /* RCTConvert+RNCarPlay.m in Sources */ = {isa = PBXBuildFile; fileRef = E35223EA224BD4E500623F30 /* RCTConvert+RNCarPlay.m */; };
13
+ /* End PBXBuildFile section */
14
+
15
+ /* Begin PBXCopyFilesBuildPhase section */
16
+ E344BCBC22495851006FD80D /* CopyFiles */ = {
17
+ isa = PBXCopyFilesBuildPhase;
18
+ buildActionMask = 2147483647;
19
+ dstPath = "include/$(PRODUCT_NAME)";
20
+ dstSubfolderSpec = 16;
21
+ files = (
22
+ );
23
+ runOnlyForDeploymentPostprocessing = 0;
24
+ };
25
+ /* End PBXCopyFilesBuildPhase section */
26
+
27
+ /* Begin PBXFileReference section */
28
+ E344BBEA22494CBD006FD80D /* RNCarPlay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNCarPlay.h; sourceTree = "<group>"; };
29
+ E344BBF222494D53006FD80D /* RNCarPlay.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNCarPlay.m; sourceTree = "<group>"; };
30
+ E344BBF422494D9D006FD80D /* RNCPStore.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNCPStore.m; sourceTree = "<group>"; };
31
+ E344BBF622494DAC006FD80D /* RNCPStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNCPStore.h; sourceTree = "<group>"; };
32
+ E344BCBE22495851006FD80D /* libRNCarPlay.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNCarPlay.a; sourceTree = BUILT_PRODUCTS_DIR; };
33
+ E35223E9224BD4C400623F30 /* RCTConvert+RNCarPlay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RCTConvert+RNCarPlay.h"; sourceTree = "<group>"; };
34
+ E35223EA224BD4E500623F30 /* RCTConvert+RNCarPlay.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+RNCarPlay.m"; sourceTree = "<group>"; };
35
+ /* End PBXFileReference section */
36
+
37
+ /* Begin PBXFrameworksBuildPhase section */
38
+ E344BCBB22495851006FD80D /* Frameworks */ = {
39
+ isa = PBXFrameworksBuildPhase;
40
+ buildActionMask = 2147483647;
41
+ files = (
42
+ );
43
+ runOnlyForDeploymentPostprocessing = 0;
44
+ };
45
+ /* End PBXFrameworksBuildPhase section */
46
+
47
+ /* Begin PBXGroup section */
48
+ E344BBDD22494CBD006FD80D = {
49
+ isa = PBXGroup;
50
+ children = (
51
+ E35223EA224BD4E500623F30 /* RCTConvert+RNCarPlay.m */,
52
+ E35223E9224BD4C400623F30 /* RCTConvert+RNCarPlay.h */,
53
+ E344BBEA22494CBD006FD80D /* RNCarPlay.h */,
54
+ E344BBF222494D53006FD80D /* RNCarPlay.m */,
55
+ E344BBF622494DAC006FD80D /* RNCPStore.h */,
56
+ E344BBF422494D9D006FD80D /* RNCPStore.m */,
57
+ E344BBE822494CBD006FD80D /* Products */,
58
+ );
59
+ sourceTree = "<group>";
60
+ };
61
+ E344BBE822494CBD006FD80D /* Products */ = {
62
+ isa = PBXGroup;
63
+ children = (
64
+ E344BCBE22495851006FD80D /* libRNCarPlay.a */,
65
+ );
66
+ name = Products;
67
+ sourceTree = "<group>";
68
+ };
69
+ /* End PBXGroup section */
70
+
71
+ /* Begin PBXNativeTarget section */
72
+ E344BCBD22495851006FD80D /* RNCarPlay */ = {
73
+ isa = PBXNativeTarget;
74
+ buildConfigurationList = E344BCC422495851006FD80D /* Build configuration list for PBXNativeTarget "RNCarPlay" */;
75
+ buildPhases = (
76
+ E344BCBA22495851006FD80D /* Sources */,
77
+ E344BCBB22495851006FD80D /* Frameworks */,
78
+ E344BCBC22495851006FD80D /* CopyFiles */,
79
+ );
80
+ buildRules = (
81
+ );
82
+ dependencies = (
83
+ );
84
+ name = RNCarPlay;
85
+ productName = RNCarPlay;
86
+ productReference = E344BCBE22495851006FD80D /* libRNCarPlay.a */;
87
+ productType = "com.apple.product-type.library.static";
88
+ };
89
+ /* End PBXNativeTarget section */
90
+
91
+ /* Begin PBXProject section */
92
+ E344BBDE22494CBD006FD80D /* Project object */ = {
93
+ isa = PBXProject;
94
+ attributes = {
95
+ LastUpgradeCheck = 1010;
96
+ ORGANIZATIONNAME = "SOLID Mobile";
97
+ TargetAttributes = {
98
+ E344BCBD22495851006FD80D = {
99
+ CreatedOnToolsVersion = 10.1;
100
+ };
101
+ };
102
+ };
103
+ buildConfigurationList = E344BBE122494CBD006FD80D /* Build configuration list for PBXProject "RNCarPlay" */;
104
+ compatibilityVersion = "Xcode 9.3";
105
+ developmentRegion = en;
106
+ hasScannedForEncodings = 0;
107
+ knownRegions = (
108
+ en,
109
+ );
110
+ mainGroup = E344BBDD22494CBD006FD80D;
111
+ productRefGroup = E344BBE822494CBD006FD80D /* Products */;
112
+ projectDirPath = "";
113
+ projectRoot = "";
114
+ targets = (
115
+ E344BCBD22495851006FD80D /* RNCarPlay */,
116
+ );
117
+ };
118
+ /* End PBXProject section */
119
+
120
+ /* Begin PBXSourcesBuildPhase section */
121
+ E344BCBA22495851006FD80D /* Sources */ = {
122
+ isa = PBXSourcesBuildPhase;
123
+ buildActionMask = 2147483647;
124
+ files = (
125
+ E35223EB224BD4E500623F30 /* RCTConvert+RNCarPlay.m in Sources */,
126
+ E344BCC72249585C006FD80D /* RNCarPlay.m in Sources */,
127
+ E344BCC82249585C006FD80D /* RNCPStore.m in Sources */,
128
+ );
129
+ runOnlyForDeploymentPostprocessing = 0;
130
+ };
131
+ /* End PBXSourcesBuildPhase section */
132
+
133
+ /* Begin XCBuildConfiguration section */
134
+ E344BBED22494CBD006FD80D /* Debug */ = {
135
+ isa = XCBuildConfiguration;
136
+ buildSettings = {
137
+ ALWAYS_SEARCH_USER_PATHS = NO;
138
+ CLANG_ANALYZER_NONNULL = YES;
139
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
140
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
141
+ CLANG_CXX_LIBRARY = "libc++";
142
+ CLANG_ENABLE_MODULES = YES;
143
+ CLANG_ENABLE_OBJC_ARC = YES;
144
+ CLANG_ENABLE_OBJC_WEAK = YES;
145
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
146
+ CLANG_WARN_BOOL_CONVERSION = YES;
147
+ CLANG_WARN_COMMA = YES;
148
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
149
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
150
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
151
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
152
+ CLANG_WARN_EMPTY_BODY = YES;
153
+ CLANG_WARN_ENUM_CONVERSION = YES;
154
+ CLANG_WARN_INFINITE_RECURSION = YES;
155
+ CLANG_WARN_INT_CONVERSION = YES;
156
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
157
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
158
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
159
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
160
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
161
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
162
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
163
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
164
+ CLANG_WARN_UNREACHABLE_CODE = YES;
165
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
166
+ CODE_SIGN_IDENTITY = "iPhone Developer";
167
+ COPY_PHASE_STRIP = NO;
168
+ CURRENT_PROJECT_VERSION = 1;
169
+ DEBUG_INFORMATION_FORMAT = dwarf;
170
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
171
+ ENABLE_TESTABILITY = YES;
172
+ GCC_C_LANGUAGE_STANDARD = gnu11;
173
+ GCC_DYNAMIC_NO_PIC = NO;
174
+ GCC_NO_COMMON_BLOCKS = YES;
175
+ GCC_OPTIMIZATION_LEVEL = 0;
176
+ GCC_PREPROCESSOR_DEFINITIONS = (
177
+ "DEBUG=1",
178
+ "$(inherited)",
179
+ );
180
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
181
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
182
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
183
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
184
+ GCC_WARN_UNUSED_FUNCTION = YES;
185
+ GCC_WARN_UNUSED_VARIABLE = YES;
186
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
187
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
188
+ MTL_FAST_MATH = YES;
189
+ ONLY_ACTIVE_ARCH = YES;
190
+ SDKROOT = iphoneos;
191
+ VERSIONING_SYSTEM = "apple-generic";
192
+ VERSION_INFO_PREFIX = "";
193
+ };
194
+ name = Debug;
195
+ };
196
+ E344BBEE22494CBD006FD80D /* Release */ = {
197
+ isa = XCBuildConfiguration;
198
+ buildSettings = {
199
+ ALWAYS_SEARCH_USER_PATHS = NO;
200
+ CLANG_ANALYZER_NONNULL = YES;
201
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
202
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
203
+ CLANG_CXX_LIBRARY = "libc++";
204
+ CLANG_ENABLE_MODULES = YES;
205
+ CLANG_ENABLE_OBJC_ARC = YES;
206
+ CLANG_ENABLE_OBJC_WEAK = YES;
207
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
208
+ CLANG_WARN_BOOL_CONVERSION = YES;
209
+ CLANG_WARN_COMMA = YES;
210
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
211
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
212
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
213
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
214
+ CLANG_WARN_EMPTY_BODY = YES;
215
+ CLANG_WARN_ENUM_CONVERSION = YES;
216
+ CLANG_WARN_INFINITE_RECURSION = YES;
217
+ CLANG_WARN_INT_CONVERSION = YES;
218
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
219
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
220
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
221
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
222
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
223
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
224
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
225
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
226
+ CLANG_WARN_UNREACHABLE_CODE = YES;
227
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
228
+ CODE_SIGN_IDENTITY = "iPhone Developer";
229
+ COPY_PHASE_STRIP = NO;
230
+ CURRENT_PROJECT_VERSION = 1;
231
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
232
+ ENABLE_NS_ASSERTIONS = NO;
233
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
234
+ GCC_C_LANGUAGE_STANDARD = gnu11;
235
+ GCC_NO_COMMON_BLOCKS = YES;
236
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
237
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
238
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
239
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
240
+ GCC_WARN_UNUSED_FUNCTION = YES;
241
+ GCC_WARN_UNUSED_VARIABLE = YES;
242
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
243
+ MTL_ENABLE_DEBUG_INFO = NO;
244
+ MTL_FAST_MATH = YES;
245
+ SDKROOT = iphoneos;
246
+ VALIDATE_PRODUCT = YES;
247
+ VERSIONING_SYSTEM = "apple-generic";
248
+ VERSION_INFO_PREFIX = "";
249
+ };
250
+ name = Release;
251
+ };
252
+ E344BCC522495851006FD80D /* Debug */ = {
253
+ isa = XCBuildConfiguration;
254
+ buildSettings = {
255
+ CODE_SIGN_STYLE = Automatic;
256
+ DEVELOPMENT_TEAM = 5PD7JU2FJC;
257
+ OTHER_LDFLAGS = "-ObjC";
258
+ PRODUCT_NAME = "$(TARGET_NAME)";
259
+ SKIP_INSTALL = YES;
260
+ TARGETED_DEVICE_FAMILY = "1,2";
261
+ };
262
+ name = Debug;
263
+ };
264
+ E344BCC622495851006FD80D /* Release */ = {
265
+ isa = XCBuildConfiguration;
266
+ buildSettings = {
267
+ CODE_SIGN_STYLE = Automatic;
268
+ DEVELOPMENT_TEAM = 5PD7JU2FJC;
269
+ OTHER_LDFLAGS = "-ObjC";
270
+ PRODUCT_NAME = "$(TARGET_NAME)";
271
+ SKIP_INSTALL = YES;
272
+ TARGETED_DEVICE_FAMILY = "1,2";
273
+ };
274
+ name = Release;
275
+ };
276
+ /* End XCBuildConfiguration section */
277
+
278
+ /* Begin XCConfigurationList section */
279
+ E344BBE122494CBD006FD80D /* Build configuration list for PBXProject "RNCarPlay" */ = {
280
+ isa = XCConfigurationList;
281
+ buildConfigurations = (
282
+ E344BBED22494CBD006FD80D /* Debug */,
283
+ E344BBEE22494CBD006FD80D /* Release */,
284
+ );
285
+ defaultConfigurationIsVisible = 0;
286
+ defaultConfigurationName = Release;
287
+ };
288
+ E344BCC422495851006FD80D /* Build configuration list for PBXNativeTarget "RNCarPlay" */ = {
289
+ isa = XCConfigurationList;
290
+ buildConfigurations = (
291
+ E344BCC522495851006FD80D /* Debug */,
292
+ E344BCC622495851006FD80D /* Release */,
293
+ );
294
+ defaultConfigurationIsVisible = 0;
295
+ defaultConfigurationName = Release;
296
+ };
297
+ /* End XCConfigurationList section */
298
+ };
299
+ rootObject = E344BBDE22494CBD006FD80D /* Project object */;
300
+ }
@@ -0,0 +1,196 @@
1
+ import { ImageSourcePropType, NativeEventEmitter, NativeModule } from 'react-native';
2
+ import { ActionSheetTemplate } from './templates/ActionSheetTemplate';
3
+ import { AlertTemplate } from './templates/AlertTemplate';
4
+ import { ContactTemplate } from './templates/ContactTemplate';
5
+ import { GridTemplate } from './templates/GridTemplate';
6
+ import { InformationTemplate } from './templates/InformationTemplate';
7
+ import { ListTemplate } from './templates/ListTemplate';
8
+ import { NavigationTemplate } from './templates/android/NavigationTemplate';
9
+ import { PlaceListMapTemplate } from './templates/android/PlaceListMapTemplate';
10
+ import { PlaceListNavigationTemplate } from './templates/android/PlaceListNavigationTemplate';
11
+ import { RoutePreviewNavigationTemplate } from './templates/android/RoutePreviewNavigationTemplate';
12
+ import { MapTemplate } from './templates/MapTemplate';
13
+ import { PointOfInterestTemplate } from './templates/PointOfInterestTemplate';
14
+ import { SearchTemplate } from './templates/SearchTemplate';
15
+ import { TabBarTemplate } from './templates/TabBarTemplate';
16
+ import { VoiceControlTemplate } from './templates/VoiceControlTemplate';
17
+ import { NowPlayingTemplate } from './templates/NowPlayingTemplate';
18
+ import { Maneuver } from './interfaces/Maneuver';
19
+ import { TravelEstimates } from './interfaces/TravelEstimates';
20
+ import { PauseReason } from './interfaces/PauseReason';
21
+ import { TripConfig } from './navigation/Trip';
22
+ import { TimeRemainingColor } from './interfaces/TimeRemainingColor';
23
+ import { TextConfiguration } from './interfaces/TextConfiguration';
24
+ import { Action } from './interfaces/Action';
25
+ import { MessageTemplate } from './templates/android/MessageTemplate';
26
+ import { PaneTemplate } from './templates/android/PaneTemplate';
27
+ export interface InternalCarPlay extends NativeModule {
28
+ checkForConnection(): void;
29
+ setRootTemplate(templateId: string, animated: boolean): void;
30
+ pushTemplate(templateId: string, animated: boolean): void;
31
+ popToTemplate(templateId: string, animated: boolean): void;
32
+ popToRootTemplate(animated: boolean): void;
33
+ popTemplate(animated: boolean): void;
34
+ presentTemplate(templateId: string, animated: boolean): void;
35
+ dismissTemplate(animated: boolean): void;
36
+ enableNowPlaying(enabled: boolean): void;
37
+ openUrl(url: string): void;
38
+ updateManeuversNavigationSession(id: string, x: Maneuver[]): void;
39
+ updateTravelEstimatesNavigationSession(id: string, index: number, estimates: TravelEstimates): void;
40
+ cancelNavigationSession(id: string): void;
41
+ finishNavigationSession(id: string): void;
42
+ pauseNavigationSession(id: string, reason: PauseReason, description?: string): void;
43
+ createTrip(id: string, config: TripConfig): void;
44
+ updateInformationTemplateItems(id: string, config: unknown): void;
45
+ updateInformationTemplateActions(id: string, config: unknown): void;
46
+ createTemplate(id: string, config: unknown, callback?: unknown): void;
47
+ updateTemplate(id: string, config: unknown): void;
48
+ invalidate(id: string): void;
49
+ startNavigationSession(id: string, tripId: string): Promise<{
50
+ tripId: string;
51
+ navigationSessionId: string;
52
+ }>;
53
+ updateTravelEstimatesForTrip(id: string, tripId: string, travelEstimates: TravelEstimates, timeRemainingColor: TimeRemainingColor): void;
54
+ updateMapTemplateConfig(id: string, config: unknown): void;
55
+ updateMapTemplateMapButtons(id: string, config: unknown): void;
56
+ hideTripPreviews(id: string): void;
57
+ showTripPreviews(id: string, previews: string[], config: TextConfiguration): void;
58
+ showRouteChoicesPreviewForTrip(id: string, tripId: string, config: TextConfiguration): void;
59
+ presentNavigationAlert(id: string, config: unknown, animated: boolean): void;
60
+ dismissNavigationAlert(id: string, animated: boolean): void;
61
+ showPanningInterface(id: string, animated: boolean): void;
62
+ dismissPanningInterface(id: string, animated: boolean): void;
63
+ getMaximumListSectionCount(id: string): Promise<number>;
64
+ getMaximumListItemCount(id: string): Promise<number>;
65
+ reactToSelectedResult(status: boolean): void;
66
+ updateListTemplateSections(id: string, config: unknown): void;
67
+ updateListTemplateItem(id: string, config: unknown): void;
68
+ reactToUpdatedSearchText(items: unknown): void;
69
+ updateTabBarTemplates(id: string, config: unknown): void;
70
+ activateVoiceControlState(id: string, identifier: string): void;
71
+ reload(): void;
72
+ toast(message: string, duration: number): void;
73
+ alert(config: {
74
+ id: number;
75
+ title: string;
76
+ duration: number;
77
+ subtitle?: string;
78
+ icon?: ImageSourcePropType;
79
+ actions?: Action[];
80
+ }): void;
81
+ launchGoogleMaps(url: string): void;
82
+ }
83
+ export type PushableTemplates = MapTemplate | SearchTemplate | GridTemplate | PointOfInterestTemplate | ListTemplate | InformationTemplate | ContactTemplate | NowPlayingTemplate | NavigationTemplate | PlaceListMapTemplate | PlaceListNavigationTemplate | MessageTemplate | RoutePreviewNavigationTemplate | PaneTemplate;
84
+ export type PresentableTemplates = AlertTemplate | ActionSheetTemplate | VoiceControlTemplate;
85
+ export type WindowInformation = {
86
+ width: number;
87
+ height: number;
88
+ scale: number;
89
+ };
90
+ export type OnConnectCallback = (window: WindowInformation) => void;
91
+ export type OnDisconnectCallback = () => void;
92
+ /**
93
+ * A controller that manages all user interface elements appearing on your map displayed on the CarPlay screen.
94
+ */
95
+ export declare class CarPlayInterface {
96
+ /**
97
+ * React Native bridge to the CarPlay interface
98
+ */
99
+ bridge: InternalCarPlay;
100
+ /**
101
+ * Boolean to denote if carplay is currently connected.
102
+ */
103
+ connected: boolean;
104
+ window: WindowInformation | undefined;
105
+ /**
106
+ * CarPlay Event Emitter
107
+ */
108
+ emitter: NativeEventEmitter;
109
+ private onConnectCallbacks;
110
+ private onDisconnectCallbacks;
111
+ constructor();
112
+ /**
113
+ * Fired when CarPlay is connected to the device.
114
+ */
115
+ registerOnConnect: (callback: OnConnectCallback) => void;
116
+ unregisterOnConnect: (callback: OnConnectCallback) => void;
117
+ /**
118
+ * Fired when CarPlay is disconnected from the device.
119
+ */
120
+ registerOnDisconnect: (callback: OnDisconnectCallback) => void;
121
+ unregisterOnDisconnect: (callback: OnDisconnectCallback) => void;
122
+ /**
123
+ * Sets the root template, starting a new stack for the template navigation hierarchy.
124
+ * @param rootTemplate The root template. Replaces the current rootTemplate, if one exists.
125
+ * @param animated Set TRUE to animate the presentation of the root template; ignored if there isn't a current rootTemplate.
126
+ */
127
+ setRootTemplate(rootTemplate: PushableTemplates | TabBarTemplate, animated?: boolean): void;
128
+ /**
129
+ * Pushes a template onto the navigation stack and updates the display.
130
+ * @param templateToPush The template to push onto the navigation stack.
131
+ * @param animated Set TRUE to animate the presentation of the template.
132
+ */
133
+ pushTemplate(templateToPush: PushableTemplates, animated?: boolean): void;
134
+ /**
135
+ * Pops templates until the specified template is at the top of the navigation stack.
136
+ * @param targetTemplate The template that you want at the top of the stack. The template must be on the navigation stack before calling this method.
137
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
138
+ */
139
+ popToTemplate(targetTemplate: PushableTemplates, animated?: boolean): void;
140
+ /**
141
+ * Pops all templates on the stack—except the root template—and updates the display.
142
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
143
+ */
144
+ popToRootTemplate(animated?: boolean): void;
145
+ /**
146
+ * Pops the top template from the navigation stack and updates the display.
147
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
148
+ */
149
+ popTemplate(animated?: boolean): void;
150
+ /**
151
+ * presents a presentable template, alert / action / voice
152
+ * @param templateToPresent The presentable template to present
153
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
154
+ */
155
+ presentTemplate(templateToPresent: PresentableTemplates, animated?: boolean): void;
156
+ /**
157
+ * Dismisses the current presented template
158
+ * * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
159
+ */
160
+ dismissTemplate(animated?: boolean): void;
161
+ /**
162
+ * The current root template in the template navigation hierarchy.
163
+ * @todo Not implemented yet
164
+ */
165
+ get rootTemplate(): Promise<string>;
166
+ /**
167
+ * The top-most template in the navigation hierarchy stack.
168
+ * @todo Not implemented yet
169
+ */
170
+ get topTemplate(): Promise<string>;
171
+ /**
172
+ * Control now playing template state
173
+ * @param enable A Boolean value that indicates whether the system use now playing template.
174
+ */
175
+ enableNowPlaying(enable?: boolean): void;
176
+ /**
177
+ * Open a URL on the car device. **iOS only.**
178
+ *
179
+ * On iOS pass a maps URL, e.g. `http://maps.apple.com/?daddr=<lat>,<lng>&dirflg=d`.
180
+ * On Android use {@link launchGoogleMaps} instead.
181
+ *
182
+ * @param url The URL to open.
183
+ */
184
+ openUrl(url: string): void;
185
+ /**
186
+ * Launch Google Maps navigation on the car device. **Android only.**
187
+ *
188
+ * Pass a `geo:` URI, e.g. `geo:<lat>,<lng>`.
189
+ * On iOS use {@link openUrl} with an Apple Maps URL instead.
190
+ *
191
+ * @param url The `geo:` URI to navigate to.
192
+ */
193
+ launchGoogleMaps(url: string): void;
194
+ }
195
+ export declare const CarPlay: CarPlayInterface;
196
+ //# sourceMappingURL=CarPlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarPlay.d.ts","sourceRoot":"","sources":["../src/CarPlay.ts"],"names":[],"mappings":"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"}
package/lib/CarPlay.js ADDED
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarPlay = exports.CarPlayInterface = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const { RNCarPlay } = react_native_1.NativeModules;
6
+ /**
7
+ * A controller that manages all user interface elements appearing on your map displayed on the CarPlay screen.
8
+ */
9
+ class CarPlayInterface {
10
+ constructor() {
11
+ /**
12
+ * React Native bridge to the CarPlay interface
13
+ */
14
+ this.bridge = RNCarPlay;
15
+ /**
16
+ * Boolean to denote if carplay is currently connected.
17
+ */
18
+ this.connected = false;
19
+ /**
20
+ * CarPlay Event Emitter
21
+ */
22
+ this.emitter = new react_native_1.NativeEventEmitter(RNCarPlay);
23
+ this.onConnectCallbacks = new Set();
24
+ this.onDisconnectCallbacks = new Set();
25
+ /**
26
+ * Fired when CarPlay is connected to the device.
27
+ */
28
+ this.registerOnConnect = (callback) => {
29
+ this.onConnectCallbacks.add(callback);
30
+ };
31
+ this.unregisterOnConnect = (callback) => {
32
+ this.onConnectCallbacks.delete(callback);
33
+ };
34
+ /**
35
+ * Fired when CarPlay is disconnected from the device.
36
+ */
37
+ this.registerOnDisconnect = (callback) => {
38
+ this.onDisconnectCallbacks.add(callback);
39
+ };
40
+ this.unregisterOnDisconnect = (callback) => {
41
+ this.onDisconnectCallbacks.delete(callback);
42
+ };
43
+ this.emitter.addListener('didConnect', (window) => {
44
+ console.log('we are connected yes!');
45
+ this.connected = true;
46
+ this.window = window;
47
+ this.onConnectCallbacks.forEach(callback => {
48
+ callback(window);
49
+ });
50
+ });
51
+ this.emitter.addListener('didDisconnect', () => {
52
+ this.connected = false;
53
+ this.window = undefined;
54
+ this.onDisconnectCallbacks.forEach(callback => {
55
+ callback();
56
+ });
57
+ });
58
+ if (react_native_1.Platform.OS === 'android') {
59
+ this.emitter.addListener('didPressMenuItem', e => {
60
+ if (e?.title === 'Reload Android Auto') {
61
+ this.bridge.reload();
62
+ }
63
+ });
64
+ }
65
+ // check if already connected this will fire any 'didConnect' events
66
+ // if a connected is already present.
67
+ this.bridge.checkForConnection();
68
+ }
69
+ /**
70
+ * Sets the root template, starting a new stack for the template navigation hierarchy.
71
+ * @param rootTemplate The root template. Replaces the current rootTemplate, if one exists.
72
+ * @param animated Set TRUE to animate the presentation of the root template; ignored if there isn't a current rootTemplate.
73
+ */
74
+ setRootTemplate(rootTemplate, animated = true) {
75
+ return this.bridge.setRootTemplate(rootTemplate.id, animated);
76
+ }
77
+ /**
78
+ * Pushes a template onto the navigation stack and updates the display.
79
+ * @param templateToPush The template to push onto the navigation stack.
80
+ * @param animated Set TRUE to animate the presentation of the template.
81
+ */
82
+ pushTemplate(templateToPush, animated = true) {
83
+ return this.bridge.pushTemplate(templateToPush.id, animated);
84
+ }
85
+ /**
86
+ * Pops templates until the specified template is at the top of the navigation stack.
87
+ * @param targetTemplate The template that you want at the top of the stack. The template must be on the navigation stack before calling this method.
88
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
89
+ */
90
+ popToTemplate(targetTemplate, animated = true) {
91
+ return this.bridge.popToTemplate(targetTemplate.id, animated);
92
+ }
93
+ /**
94
+ * Pops all templates on the stack—except the root template—and updates the display.
95
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
96
+ */
97
+ popToRootTemplate(animated = true) {
98
+ return this.bridge.popToRootTemplate(animated);
99
+ }
100
+ /**
101
+ * Pops the top template from the navigation stack and updates the display.
102
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
103
+ */
104
+ popTemplate(animated = true) {
105
+ return this.bridge.popTemplate(animated);
106
+ }
107
+ /**
108
+ * presents a presentable template, alert / action / voice
109
+ * @param templateToPresent The presentable template to present
110
+ * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
111
+ */
112
+ presentTemplate(templateToPresent, animated = true) {
113
+ return this.bridge.presentTemplate(templateToPresent.id, animated);
114
+ }
115
+ /**
116
+ * Dismisses the current presented template
117
+ * * @param animated A Boolean value that indicates whether the system animates the display of transitioning templates.
118
+ */
119
+ dismissTemplate(animated = true) {
120
+ return this.bridge.dismissTemplate(animated);
121
+ }
122
+ /**
123
+ * The current root template in the template navigation hierarchy.
124
+ * @todo Not implemented yet
125
+ */
126
+ get rootTemplate() {
127
+ return Promise.resolve('');
128
+ }
129
+ /**
130
+ * The top-most template in the navigation hierarchy stack.
131
+ * @todo Not implemented yet
132
+ */
133
+ get topTemplate() {
134
+ return Promise.resolve('');
135
+ }
136
+ /**
137
+ * Control now playing template state
138
+ * @param enable A Boolean value that indicates whether the system use now playing template.
139
+ */
140
+ enableNowPlaying(enable = true) {
141
+ return this.bridge.enableNowPlaying(enable);
142
+ }
143
+ /**
144
+ * Open a URL on the car device. **iOS only.**
145
+ *
146
+ * On iOS pass a maps URL, e.g. `http://maps.apple.com/?daddr=<lat>,<lng>&dirflg=d`.
147
+ * On Android use {@link launchGoogleMaps} instead.
148
+ *
149
+ * @param url The URL to open.
150
+ */
151
+ openUrl(url) {
152
+ if (react_native_1.Platform.OS !== 'ios') {
153
+ console.warn('[CarPlay] openUrl is iOS-only. Use launchGoogleMaps on Android.');
154
+ return;
155
+ }
156
+ return this.bridge.openUrl(url);
157
+ }
158
+ /**
159
+ * Launch Google Maps navigation on the car device. **Android only.**
160
+ *
161
+ * Pass a `geo:` URI, e.g. `geo:<lat>,<lng>`.
162
+ * On iOS use {@link openUrl} with an Apple Maps URL instead.
163
+ *
164
+ * @param url The `geo:` URI to navigate to.
165
+ */
166
+ launchGoogleMaps(url) {
167
+ if (react_native_1.Platform.OS !== 'android') {
168
+ console.warn('[CarPlay] launchGoogleMaps is Android-only. Use openUrl on iOS.');
169
+ return;
170
+ }
171
+ return this.bridge.launchGoogleMaps(url);
172
+ }
173
+ }
174
+ exports.CarPlayInterface = CarPlayInterface;
175
+ exports.CarPlay = new CarPlayInterface();
176
+ //# sourceMappingURL=CarPlay.js.map