@amazon-devices/expo-notifications 2.0.9000000000-rn-83

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 (686) hide show
  1. package/.eslintrc.js +2 -0
  2. package/CHANGELOG.md +478 -0
  3. package/LICENSE +7 -0
  4. package/README.kepler.md +3 -0
  5. package/README.md +2003 -0
  6. package/THIRD_PARTY_NOTICES.txt +4 -0
  7. package/android/build.gradle +125 -0
  8. package/android/src/main/AndroidManifest.xml +39 -0
  9. package/android/src/main/java/expo/modules/notifications/Exceptions.kt +22 -0
  10. package/android/src/main/java/expo/modules/notifications/NotificationsPackage.java +34 -0
  11. package/android/src/main/java/expo/modules/notifications/Utils.kt +19 -0
  12. package/android/src/main/java/expo/modules/notifications/badge/BadgeHelper.kt +24 -0
  13. package/android/src/main/java/expo/modules/notifications/badge/BadgeModule.kt +22 -0
  14. package/android/src/main/java/expo/modules/notifications/notifications/ArgumentsNotificationContentBuilder.java +149 -0
  15. package/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java +203 -0
  16. package/android/src/main/java/expo/modules/notifications/notifications/NotificationManager.java +119 -0
  17. package/android/src/main/java/expo/modules/notifications/notifications/NotificationSerializer.java +202 -0
  18. package/android/src/main/java/expo/modules/notifications/notifications/RemoteMessageSerializer.java +104 -0
  19. package/android/src/main/java/expo/modules/notifications/notifications/SoundResolver.java +58 -0
  20. package/android/src/main/java/expo/modules/notifications/notifications/background/BackgroundRemoteNotificationTaskConsumer.java +123 -0
  21. package/android/src/main/java/expo/modules/notifications/notifications/background/ExpoBackgroundNotificationTasksModule.kt +33 -0
  22. package/android/src/main/java/expo/modules/notifications/notifications/categories/ExpoNotificationCategoriesModule.kt +149 -0
  23. package/android/src/main/java/expo/modules/notifications/notifications/categories/serializers/ExpoNotificationsCategoriesSerializer.java +67 -0
  24. package/android/src/main/java/expo/modules/notifications/notifications/categories/serializers/NotificationsCategoriesSerializer.java +11 -0
  25. package/android/src/main/java/expo/modules/notifications/notifications/channels/AbstractNotificationsChannelsProvider.java +81 -0
  26. package/android/src/main/java/expo/modules/notifications/notifications/channels/AndroidXNotificationsChannelsProvider.java +38 -0
  27. package/android/src/main/java/expo/modules/notifications/notifications/channels/InvalidVibrationPatternException.java +14 -0
  28. package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelGroupManagerModule.kt +70 -0
  29. package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelManagerModule.kt +83 -0
  30. package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationsChannelsProvider.java +13 -0
  31. package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/AndroidXNotificationsChannelGroupManager.java +67 -0
  32. package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/AndroidXNotificationsChannelManager.java +196 -0
  33. package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/NotificationsChannelGroupManager.java +28 -0
  34. package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/NotificationsChannelManager.java +28 -0
  35. package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/ExpoNotificationsChannelGroupSerializer.java +55 -0
  36. package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/ExpoNotificationsChannelSerializer.java +101 -0
  37. package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/NotificationsChannelGroupSerializer.java +20 -0
  38. package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/NotificationsChannelSerializer.java +35 -0
  39. package/android/src/main/java/expo/modules/notifications/notifications/emitting/NotificationsEmitter.kt +78 -0
  40. package/android/src/main/java/expo/modules/notifications/notifications/enums/AudioContentType.java +45 -0
  41. package/android/src/main/java/expo/modules/notifications/notifications/enums/AudioUsage.java +55 -0
  42. package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationImportance.java +48 -0
  43. package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationPriority.java +51 -0
  44. package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationVisibility.java +44 -0
  45. package/android/src/main/java/expo/modules/notifications/notifications/handling/NotificationsHandler.kt +127 -0
  46. package/android/src/main/java/expo/modules/notifications/notifications/handling/SingleNotificationHandlerTask.java +131 -0
  47. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationBuilder.java +35 -0
  48. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationListener.java +37 -0
  49. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationManager.java +22 -0
  50. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationPresentationEffect.java +11 -0
  51. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationPresentationEffectsManager.java +7 -0
  52. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationTrigger.java +19 -0
  53. package/android/src/main/java/expo/modules/notifications/notifications/interfaces/SchedulableNotificationTrigger.java +20 -0
  54. package/android/src/main/java/expo/modules/notifications/notifications/model/Notification.java +59 -0
  55. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationAction.java +63 -0
  56. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationBehavior.java +84 -0
  57. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationCategory.java +61 -0
  58. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java +356 -0
  59. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationRequest.java +66 -0
  60. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationResponse.java +60 -0
  61. package/android/src/main/java/expo/modules/notifications/notifications/model/TextInputNotificationAction.java +42 -0
  62. package/android/src/main/java/expo/modules/notifications/notifications/model/TextInputNotificationResponse.java +42 -0
  63. package/android/src/main/java/expo/modules/notifications/notifications/model/triggers/FirebaseNotificationTrigger.java +61 -0
  64. package/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationEffectsManager.java +63 -0
  65. package/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationModule.kt +113 -0
  66. package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/BaseNotificationBuilder.java +50 -0
  67. package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/CategoryAwareNotificationBuilder.java +80 -0
  68. package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ChannelAwareNotificationBuilder.java +135 -0
  69. package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java +295 -0
  70. package/android/src/main/java/expo/modules/notifications/notifications/presentation/effects/BaseNotificationEffect.java +53 -0
  71. package/android/src/main/java/expo/modules/notifications/notifications/scheduling/NotificationScheduler.kt +235 -0
  72. package/android/src/main/java/expo/modules/notifications/notifications/triggers/ChannelAwareTrigger.java +49 -0
  73. package/android/src/main/java/expo/modules/notifications/notifications/triggers/DailyTrigger.java +76 -0
  74. package/android/src/main/java/expo/modules/notifications/notifications/triggers/DateTrigger.java +64 -0
  75. package/android/src/main/java/expo/modules/notifications/notifications/triggers/TimeIntervalTrigger.java +87 -0
  76. package/android/src/main/java/expo/modules/notifications/notifications/triggers/WeeklyTrigger.java +85 -0
  77. package/android/src/main/java/expo/modules/notifications/notifications/triggers/YearlyTrigger.java +94 -0
  78. package/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt +124 -0
  79. package/android/src/main/java/expo/modules/notifications/serverregistration/InstallationId.java +134 -0
  80. package/android/src/main/java/expo/modules/notifications/serverregistration/RegistrationInfo.kt +24 -0
  81. package/android/src/main/java/expo/modules/notifications/serverregistration/ServerRegistrationModule.kt +32 -0
  82. package/android/src/main/java/expo/modules/notifications/service/ExpoFirebaseMessagingService.kt +15 -0
  83. package/android/src/main/java/expo/modules/notifications/service/NotificationForwarderActivity.kt +33 -0
  84. package/android/src/main/java/expo/modules/notifications/service/NotificationsService.kt +780 -0
  85. package/android/src/main/java/expo/modules/notifications/service/delegates/Base64Serialization.kt +33 -0
  86. package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoCategoriesDelegate.kt +21 -0
  87. package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoHandlingDelegate.kt +146 -0
  88. package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoPresentationDelegate.kt +193 -0
  89. package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoSchedulingDelegate.kt +117 -0
  90. package/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt +126 -0
  91. package/android/src/main/java/expo/modules/notifications/service/delegates/SharedPreferencesNotificationCategoriesStore.kt +106 -0
  92. package/android/src/main/java/expo/modules/notifications/service/delegates/SharedPreferencesNotificationsStore.kt +119 -0
  93. package/android/src/main/java/expo/modules/notifications/service/interfaces/CategoriesDelegate.kt +14 -0
  94. package/android/src/main/java/expo/modules/notifications/service/interfaces/FirebaseMessagingDelegate.kt +20 -0
  95. package/android/src/main/java/expo/modules/notifications/service/interfaces/HandlingDelegate.kt +10 -0
  96. package/android/src/main/java/expo/modules/notifications/service/interfaces/PresentationDelegate.kt +11 -0
  97. package/android/src/main/java/expo/modules/notifications/service/interfaces/SchedulingDelegate.kt +13 -0
  98. package/android/src/main/java/expo/modules/notifications/tokens/PushTokenManager.java +88 -0
  99. package/android/src/main/java/expo/modules/notifications/tokens/PushTokenModule.kt +91 -0
  100. package/android/src/main/java/expo/modules/notifications/tokens/interfaces/FirebaseTokenListener.java +16 -0
  101. package/android/src/main/java/expo/modules/notifications/tokens/interfaces/PushTokenListener.java +14 -0
  102. package/android/src/main/java/expo/modules/notifications/tokens/interfaces/PushTokenManager.java +22 -0
  103. package/android/src/main/res/values/strings.xml +4 -0
  104. package/app.plugin.js +1 -0
  105. package/build/BackgroundNotificationTasksModule.d.ts +4 -0
  106. package/build/BackgroundNotificationTasksModule.d.ts.map +1 -0
  107. package/build/BackgroundNotificationTasksModule.js +7 -0
  108. package/build/BackgroundNotificationTasksModule.js.map +1 -0
  109. package/build/BackgroundNotificationTasksModule.kepler.d.ts +3 -0
  110. package/build/BackgroundNotificationTasksModule.kepler.d.ts.map +1 -0
  111. package/build/BackgroundNotificationTasksModule.kepler.js +9 -0
  112. package/build/BackgroundNotificationTasksModule.kepler.js.map +1 -0
  113. package/build/BackgroundNotificationTasksModule.native.d.ts +4 -0
  114. package/build/BackgroundNotificationTasksModule.native.d.ts.map +1 -0
  115. package/build/BackgroundNotificationTasksModule.native.js +3 -0
  116. package/build/BackgroundNotificationTasksModule.native.js.map +1 -0
  117. package/build/BackgroundNotificationTasksModule.types.d.ts +11 -0
  118. package/build/BackgroundNotificationTasksModule.types.d.ts.map +1 -0
  119. package/build/BackgroundNotificationTasksModule.types.js +7 -0
  120. package/build/BackgroundNotificationTasksModule.types.js.map +1 -0
  121. package/build/BackgroundNotificationTasksModule.web.d.ts +6 -0
  122. package/build/BackgroundNotificationTasksModule.web.d.ts.map +1 -0
  123. package/build/BackgroundNotificationTasksModule.web.js +9 -0
  124. package/build/BackgroundNotificationTasksModule.web.js.map +1 -0
  125. package/build/BadgeModule.d.ts +4 -0
  126. package/build/BadgeModule.d.ts.map +1 -0
  127. package/build/BadgeModule.js +5 -0
  128. package/build/BadgeModule.js.map +1 -0
  129. package/build/BadgeModule.kepler.d.ts +3 -0
  130. package/build/BadgeModule.kepler.d.ts.map +1 -0
  131. package/build/BadgeModule.kepler.js +9 -0
  132. package/build/BadgeModule.kepler.js.map +1 -0
  133. package/build/BadgeModule.native.d.ts +4 -0
  134. package/build/BadgeModule.native.d.ts.map +1 -0
  135. package/build/BadgeModule.native.js +12 -0
  136. package/build/BadgeModule.native.js.map +1 -0
  137. package/build/BadgeModule.types.d.ts +10 -0
  138. package/build/BadgeModule.types.d.ts.map +1 -0
  139. package/build/BadgeModule.types.js +2 -0
  140. package/build/BadgeModule.types.js.map +1 -0
  141. package/build/BadgeModule.web.d.ts +4 -0
  142. package/build/BadgeModule.web.d.ts.map +1 -0
  143. package/build/BadgeModule.web.js +26 -0
  144. package/build/BadgeModule.web.js.map +1 -0
  145. package/build/DevicePushTokenAutoRegistration.fx.d.ts +15 -0
  146. package/build/DevicePushTokenAutoRegistration.fx.d.ts.map +1 -0
  147. package/build/DevicePushTokenAutoRegistration.fx.js +87 -0
  148. package/build/DevicePushTokenAutoRegistration.fx.js.map +1 -0
  149. package/build/NotificationCategoriesModule.d.ts +4 -0
  150. package/build/NotificationCategoriesModule.d.ts.map +1 -0
  151. package/build/NotificationCategoriesModule.js +13 -0
  152. package/build/NotificationCategoriesModule.js.map +1 -0
  153. package/build/NotificationCategoriesModule.kepler.d.ts +3 -0
  154. package/build/NotificationCategoriesModule.kepler.d.ts.map +1 -0
  155. package/build/NotificationCategoriesModule.kepler.js +10 -0
  156. package/build/NotificationCategoriesModule.kepler.js.map +1 -0
  157. package/build/NotificationCategoriesModule.native.d.ts +4 -0
  158. package/build/NotificationCategoriesModule.native.d.ts.map +1 -0
  159. package/build/NotificationCategoriesModule.native.js +3 -0
  160. package/build/NotificationCategoriesModule.native.js.map +1 -0
  161. package/build/NotificationCategoriesModule.types.d.ts +17 -0
  162. package/build/NotificationCategoriesModule.types.d.ts.map +1 -0
  163. package/build/NotificationCategoriesModule.types.js +2 -0
  164. package/build/NotificationCategoriesModule.types.js.map +1 -0
  165. package/build/NotificationCategoriesModule.web.d.ts +8 -0
  166. package/build/NotificationCategoriesModule.web.d.ts.map +1 -0
  167. package/build/NotificationCategoriesModule.web.js +12 -0
  168. package/build/NotificationCategoriesModule.web.js.map +1 -0
  169. package/build/NotificationChannelGroupManager.d.ts +4 -0
  170. package/build/NotificationChannelGroupManager.d.ts.map +1 -0
  171. package/build/NotificationChannelGroupManager.js +5 -0
  172. package/build/NotificationChannelGroupManager.js.map +1 -0
  173. package/build/NotificationChannelGroupManager.kepler.d.ts +3 -0
  174. package/build/NotificationChannelGroupManager.kepler.d.ts.map +1 -0
  175. package/build/NotificationChannelGroupManager.kepler.js +9 -0
  176. package/build/NotificationChannelGroupManager.kepler.js.map +1 -0
  177. package/build/NotificationChannelGroupManager.native.d.ts +4 -0
  178. package/build/NotificationChannelGroupManager.native.d.ts.map +1 -0
  179. package/build/NotificationChannelGroupManager.native.js +3 -0
  180. package/build/NotificationChannelGroupManager.native.js.map +1 -0
  181. package/build/NotificationChannelGroupManager.types.d.ts +28 -0
  182. package/build/NotificationChannelGroupManager.types.d.ts.map +1 -0
  183. package/build/NotificationChannelGroupManager.types.js +2 -0
  184. package/build/NotificationChannelGroupManager.types.js.map +1 -0
  185. package/build/NotificationChannelManager.d.ts +4 -0
  186. package/build/NotificationChannelManager.d.ts.map +1 -0
  187. package/build/NotificationChannelManager.js +5 -0
  188. package/build/NotificationChannelManager.js.map +1 -0
  189. package/build/NotificationChannelManager.kepler.d.ts +3 -0
  190. package/build/NotificationChannelManager.kepler.d.ts.map +1 -0
  191. package/build/NotificationChannelManager.kepler.js +9 -0
  192. package/build/NotificationChannelManager.kepler.js.map +1 -0
  193. package/build/NotificationChannelManager.native.d.ts +4 -0
  194. package/build/NotificationChannelManager.native.d.ts.map +1 -0
  195. package/build/NotificationChannelManager.native.js +3 -0
  196. package/build/NotificationChannelManager.native.js.map +1 -0
  197. package/build/NotificationChannelManager.types.d.ts +91 -0
  198. package/build/NotificationChannelManager.types.d.ts.map +1 -0
  199. package/build/NotificationChannelManager.types.js +53 -0
  200. package/build/NotificationChannelManager.types.js.map +1 -0
  201. package/build/NotificationPermissions.d.ts +56 -0
  202. package/build/NotificationPermissions.d.ts.map +1 -0
  203. package/build/NotificationPermissions.js +79 -0
  204. package/build/NotificationPermissions.js.map +1 -0
  205. package/build/NotificationPermissions.types.d.ts +94 -0
  206. package/build/NotificationPermissions.types.d.ts.map +1 -0
  207. package/build/NotificationPermissions.types.js +21 -0
  208. package/build/NotificationPermissions.types.js.map +1 -0
  209. package/build/NotificationPermissionsModule.d.ts +4 -0
  210. package/build/NotificationPermissionsModule.d.ts.map +1 -0
  211. package/build/NotificationPermissionsModule.js +67 -0
  212. package/build/NotificationPermissionsModule.js.map +1 -0
  213. package/build/NotificationPermissionsModule.kepler.d.ts +3 -0
  214. package/build/NotificationPermissionsModule.kepler.d.ts.map +1 -0
  215. package/build/NotificationPermissionsModule.kepler.js +9 -0
  216. package/build/NotificationPermissionsModule.kepler.js.map +1 -0
  217. package/build/NotificationPermissionsModule.native.d.ts +4 -0
  218. package/build/NotificationPermissionsModule.native.d.ts.map +1 -0
  219. package/build/NotificationPermissionsModule.native.js +3 -0
  220. package/build/NotificationPermissionsModule.native.js.map +1 -0
  221. package/build/NotificationPermissionsModule.types.d.ts +7 -0
  222. package/build/NotificationPermissionsModule.types.d.ts.map +1 -0
  223. package/build/NotificationPermissionsModule.types.js +2 -0
  224. package/build/NotificationPermissionsModule.types.js.map +1 -0
  225. package/build/NotificationPresenterModule.d.ts +4 -0
  226. package/build/NotificationPresenterModule.d.ts.map +1 -0
  227. package/build/NotificationPresenterModule.js +5 -0
  228. package/build/NotificationPresenterModule.js.map +1 -0
  229. package/build/NotificationPresenterModule.kepler.d.ts +4 -0
  230. package/build/NotificationPresenterModule.kepler.d.ts.map +1 -0
  231. package/build/NotificationPresenterModule.kepler.js +55 -0
  232. package/build/NotificationPresenterModule.kepler.js.map +1 -0
  233. package/build/NotificationPresenterModule.native.d.ts +4 -0
  234. package/build/NotificationPresenterModule.native.d.ts.map +1 -0
  235. package/build/NotificationPresenterModule.native.js +3 -0
  236. package/build/NotificationPresenterModule.native.js.map +1 -0
  237. package/build/NotificationPresenterModule.types.d.ts +9 -0
  238. package/build/NotificationPresenterModule.types.d.ts.map +1 -0
  239. package/build/NotificationPresenterModule.types.js +2 -0
  240. package/build/NotificationPresenterModule.types.js.map +1 -0
  241. package/build/NotificationScheduler.d.ts +4 -0
  242. package/build/NotificationScheduler.d.ts.map +1 -0
  243. package/build/NotificationScheduler.js +5 -0
  244. package/build/NotificationScheduler.js.map +1 -0
  245. package/build/NotificationScheduler.kepler.d.ts +4 -0
  246. package/build/NotificationScheduler.kepler.d.ts.map +1 -0
  247. package/build/NotificationScheduler.kepler.js +50 -0
  248. package/build/NotificationScheduler.kepler.js.map +1 -0
  249. package/build/NotificationScheduler.native.d.ts +4 -0
  250. package/build/NotificationScheduler.native.d.ts.map +1 -0
  251. package/build/NotificationScheduler.native.js +3 -0
  252. package/build/NotificationScheduler.native.js.map +1 -0
  253. package/build/NotificationScheduler.types.d.ts +65 -0
  254. package/build/NotificationScheduler.types.d.ts.map +1 -0
  255. package/build/NotificationScheduler.types.js +2 -0
  256. package/build/NotificationScheduler.types.js.map +1 -0
  257. package/build/Notifications.types.d.ts +666 -0
  258. package/build/Notifications.types.d.ts.map +1 -0
  259. package/build/Notifications.types.js +12 -0
  260. package/build/Notifications.types.js.map +1 -0
  261. package/build/NotificationsEmitter.d.ts +75 -0
  262. package/build/NotificationsEmitter.d.ts.map +1 -0
  263. package/build/NotificationsEmitter.js +95 -0
  264. package/build/NotificationsEmitter.js.map +1 -0
  265. package/build/NotificationsEmitterModule.d.ts +4 -0
  266. package/build/NotificationsEmitterModule.d.ts.map +1 -0
  267. package/build/NotificationsEmitterModule.js +12 -0
  268. package/build/NotificationsEmitterModule.js.map +1 -0
  269. package/build/NotificationsEmitterModule.kepler.d.ts +3 -0
  270. package/build/NotificationsEmitterModule.kepler.d.ts.map +1 -0
  271. package/build/NotificationsEmitterModule.kepler.js +9 -0
  272. package/build/NotificationsEmitterModule.kepler.js.map +1 -0
  273. package/build/NotificationsEmitterModule.native.d.ts +4 -0
  274. package/build/NotificationsEmitterModule.native.d.ts.map +1 -0
  275. package/build/NotificationsEmitterModule.native.js +3 -0
  276. package/build/NotificationsEmitterModule.native.js.map +1 -0
  277. package/build/NotificationsEmitterModule.types.d.ts +6 -0
  278. package/build/NotificationsEmitterModule.types.d.ts.map +1 -0
  279. package/build/NotificationsEmitterModule.types.js +2 -0
  280. package/build/NotificationsEmitterModule.types.js.map +1 -0
  281. package/build/NotificationsHandler.d.ts +60 -0
  282. package/build/NotificationsHandler.d.ts.map +1 -0
  283. package/build/NotificationsHandler.js +72 -0
  284. package/build/NotificationsHandler.js.map +1 -0
  285. package/build/NotificationsHandlerModule.d.ts +4 -0
  286. package/build/NotificationsHandlerModule.d.ts.map +1 -0
  287. package/build/NotificationsHandlerModule.js +12 -0
  288. package/build/NotificationsHandlerModule.js.map +1 -0
  289. package/build/NotificationsHandlerModule.kepler.d.ts +3 -0
  290. package/build/NotificationsHandlerModule.kepler.d.ts.map +1 -0
  291. package/build/NotificationsHandlerModule.kepler.js +9 -0
  292. package/build/NotificationsHandlerModule.kepler.js.map +1 -0
  293. package/build/NotificationsHandlerModule.native.d.ts +4 -0
  294. package/build/NotificationsHandlerModule.native.d.ts.map +1 -0
  295. package/build/NotificationsHandlerModule.native.js +3 -0
  296. package/build/NotificationsHandlerModule.native.js.map +1 -0
  297. package/build/NotificationsHandlerModule.types.d.ts +6 -0
  298. package/build/NotificationsHandlerModule.types.d.ts.map +1 -0
  299. package/build/NotificationsHandlerModule.types.js +2 -0
  300. package/build/NotificationsHandlerModule.types.js.map +1 -0
  301. package/build/PushTokenManager.d.ts +4 -0
  302. package/build/PushTokenManager.d.ts.map +1 -0
  303. package/build/PushTokenManager.js +12 -0
  304. package/build/PushTokenManager.js.map +1 -0
  305. package/build/PushTokenManager.kepler.d.ts +3 -0
  306. package/build/PushTokenManager.kepler.d.ts.map +1 -0
  307. package/build/PushTokenManager.kepler.js +9 -0
  308. package/build/PushTokenManager.kepler.js.map +1 -0
  309. package/build/PushTokenManager.native.d.ts +4 -0
  310. package/build/PushTokenManager.native.d.ts.map +1 -0
  311. package/build/PushTokenManager.native.js +3 -0
  312. package/build/PushTokenManager.native.js.map +1 -0
  313. package/build/PushTokenManager.types.d.ts +6 -0
  314. package/build/PushTokenManager.types.d.ts.map +1 -0
  315. package/build/PushTokenManager.types.js +2 -0
  316. package/build/PushTokenManager.types.js.map +1 -0
  317. package/build/ServerRegistrationModule.d.ts +4 -0
  318. package/build/ServerRegistrationModule.d.ts.map +1 -0
  319. package/build/ServerRegistrationModule.js +5 -0
  320. package/build/ServerRegistrationModule.js.map +1 -0
  321. package/build/ServerRegistrationModule.kepler.d.ts +3 -0
  322. package/build/ServerRegistrationModule.kepler.d.ts.map +1 -0
  323. package/build/ServerRegistrationModule.kepler.js +9 -0
  324. package/build/ServerRegistrationModule.kepler.js.map +1 -0
  325. package/build/ServerRegistrationModule.native.d.ts +4 -0
  326. package/build/ServerRegistrationModule.native.d.ts.map +1 -0
  327. package/build/ServerRegistrationModule.native.js +3 -0
  328. package/build/ServerRegistrationModule.native.js.map +1 -0
  329. package/build/ServerRegistrationModule.types.d.ts +7 -0
  330. package/build/ServerRegistrationModule.types.d.ts.map +1 -0
  331. package/build/ServerRegistrationModule.types.js +2 -0
  332. package/build/ServerRegistrationModule.types.js.map +1 -0
  333. package/build/ServerRegistrationModule.web.d.ts +4 -0
  334. package/build/ServerRegistrationModule.web.d.ts.map +1 -0
  335. package/build/ServerRegistrationModule.web.js +50 -0
  336. package/build/ServerRegistrationModule.web.js.map +1 -0
  337. package/build/TokenEmitter.d.ts +42 -0
  338. package/build/TokenEmitter.d.ts.map +1 -0
  339. package/build/TokenEmitter.js +44 -0
  340. package/build/TokenEmitter.js.map +1 -0
  341. package/build/Tokens.types.d.ts +99 -0
  342. package/build/Tokens.types.d.ts.map +1 -0
  343. package/build/Tokens.types.js +2 -0
  344. package/build/Tokens.types.js.map +1 -0
  345. package/build/cancelAllScheduledNotificationsAsync.d.ts +7 -0
  346. package/build/cancelAllScheduledNotificationsAsync.d.ts.map +1 -0
  347. package/build/cancelAllScheduledNotificationsAsync.js +14 -0
  348. package/build/cancelAllScheduledNotificationsAsync.js.map +1 -0
  349. package/build/cancelScheduledNotificationAsync.d.ts +22 -0
  350. package/build/cancelScheduledNotificationAsync.d.ts.map +1 -0
  351. package/build/cancelScheduledNotificationAsync.js +29 -0
  352. package/build/cancelScheduledNotificationAsync.js.map +1 -0
  353. package/build/deleteNotificationCategoryAsync.d.ts +11 -0
  354. package/build/deleteNotificationCategoryAsync.d.ts.map +1 -0
  355. package/build/deleteNotificationCategoryAsync.js +19 -0
  356. package/build/deleteNotificationCategoryAsync.js.map +1 -0
  357. package/build/deleteNotificationChannelAsync.android.d.ts +2 -0
  358. package/build/deleteNotificationChannelAsync.android.d.ts.map +1 -0
  359. package/build/deleteNotificationChannelAsync.android.js +9 -0
  360. package/build/deleteNotificationChannelAsync.android.js.map +1 -0
  361. package/build/deleteNotificationChannelAsync.d.ts +9 -0
  362. package/build/deleteNotificationChannelAsync.d.ts.map +1 -0
  363. package/build/deleteNotificationChannelAsync.js +11 -0
  364. package/build/deleteNotificationChannelAsync.js.map +1 -0
  365. package/build/deleteNotificationChannelGroupAsync.android.d.ts +2 -0
  366. package/build/deleteNotificationChannelGroupAsync.android.d.ts.map +1 -0
  367. package/build/deleteNotificationChannelGroupAsync.android.js +9 -0
  368. package/build/deleteNotificationChannelGroupAsync.android.js.map +1 -0
  369. package/build/deleteNotificationChannelGroupAsync.d.ts +9 -0
  370. package/build/deleteNotificationChannelGroupAsync.d.ts.map +1 -0
  371. package/build/deleteNotificationChannelGroupAsync.js +11 -0
  372. package/build/deleteNotificationChannelGroupAsync.js.map +1 -0
  373. package/build/dismissAllNotificationsAsync.d.ts +7 -0
  374. package/build/dismissAllNotificationsAsync.d.ts.map +1 -0
  375. package/build/dismissAllNotificationsAsync.js +14 -0
  376. package/build/dismissAllNotificationsAsync.js.map +1 -0
  377. package/build/dismissNotificationAsync.d.ts +8 -0
  378. package/build/dismissNotificationAsync.d.ts.map +1 -0
  379. package/build/dismissNotificationAsync.js +15 -0
  380. package/build/dismissNotificationAsync.js.map +1 -0
  381. package/build/getAllScheduledNotificationsAsync.d.ts +8 -0
  382. package/build/getAllScheduledNotificationsAsync.d.ts.map +1 -0
  383. package/build/getAllScheduledNotificationsAsync.js +14 -0
  384. package/build/getAllScheduledNotificationsAsync.js.map +1 -0
  385. package/build/getBadgeCountAsync.d.ts +8 -0
  386. package/build/getBadgeCountAsync.d.ts.map +1 -0
  387. package/build/getBadgeCountAsync.js +15 -0
  388. package/build/getBadgeCountAsync.js.map +1 -0
  389. package/build/getDevicePushTokenAsync.d.ts +8 -0
  390. package/build/getDevicePushTokenAsync.d.ts.map +1 -0
  391. package/build/getDevicePushTokenAsync.js +27 -0
  392. package/build/getDevicePushTokenAsync.js.map +1 -0
  393. package/build/getDevicePushTokenAsync.web.d.ts +3 -0
  394. package/build/getDevicePushTokenAsync.web.d.ts.map +1 -0
  395. package/build/getDevicePushTokenAsync.web.js +84 -0
  396. package/build/getDevicePushTokenAsync.web.js.map +1 -0
  397. package/build/getExpoPushTokenAsync.d.ts +40 -0
  398. package/build/getExpoPushTokenAsync.d.ts.map +1 -0
  399. package/build/getExpoPushTokenAsync.js +177 -0
  400. package/build/getExpoPushTokenAsync.js.map +1 -0
  401. package/build/getNextTriggerDateAsync.d.ts +26 -0
  402. package/build/getNextTriggerDateAsync.d.ts.map +1 -0
  403. package/build/getNextTriggerDateAsync.js +33 -0
  404. package/build/getNextTriggerDateAsync.js.map +1 -0
  405. package/build/getNotificationCategoriesAsync.d.ts +11 -0
  406. package/build/getNotificationCategoriesAsync.d.ts.map +1 -0
  407. package/build/getNotificationCategoriesAsync.js +18 -0
  408. package/build/getNotificationCategoriesAsync.js.map +1 -0
  409. package/build/getNotificationChannelAsync.android.d.ts +3 -0
  410. package/build/getNotificationChannelAsync.android.d.ts.map +1 -0
  411. package/build/getNotificationChannelAsync.android.js +9 -0
  412. package/build/getNotificationChannelAsync.android.js.map +1 -0
  413. package/build/getNotificationChannelAsync.d.ts +11 -0
  414. package/build/getNotificationChannelAsync.d.ts.map +1 -0
  415. package/build/getNotificationChannelAsync.js +13 -0
  416. package/build/getNotificationChannelAsync.js.map +1 -0
  417. package/build/getNotificationChannelGroupAsync.android.d.ts +3 -0
  418. package/build/getNotificationChannelGroupAsync.android.d.ts.map +1 -0
  419. package/build/getNotificationChannelGroupAsync.android.js +9 -0
  420. package/build/getNotificationChannelGroupAsync.android.js.map +1 -0
  421. package/build/getNotificationChannelGroupAsync.d.ts +12 -0
  422. package/build/getNotificationChannelGroupAsync.d.ts.map +1 -0
  423. package/build/getNotificationChannelGroupAsync.js +14 -0
  424. package/build/getNotificationChannelGroupAsync.js.map +1 -0
  425. package/build/getNotificationChannelGroupsAsync.android.d.ts +3 -0
  426. package/build/getNotificationChannelGroupsAsync.android.d.ts.map +1 -0
  427. package/build/getNotificationChannelGroupsAsync.android.js +9 -0
  428. package/build/getNotificationChannelGroupsAsync.android.js.map +1 -0
  429. package/build/getNotificationChannelGroupsAsync.d.ts +10 -0
  430. package/build/getNotificationChannelGroupsAsync.d.ts.map +1 -0
  431. package/build/getNotificationChannelGroupsAsync.js +12 -0
  432. package/build/getNotificationChannelGroupsAsync.js.map +1 -0
  433. package/build/getNotificationChannelsAsync.android.d.ts +3 -0
  434. package/build/getNotificationChannelsAsync.android.d.ts.map +1 -0
  435. package/build/getNotificationChannelsAsync.android.js +9 -0
  436. package/build/getNotificationChannelsAsync.android.js.map +1 -0
  437. package/build/getNotificationChannelsAsync.d.ts +10 -0
  438. package/build/getNotificationChannelsAsync.d.ts.map +1 -0
  439. package/build/getNotificationChannelsAsync.js +12 -0
  440. package/build/getNotificationChannelsAsync.js.map +1 -0
  441. package/build/getPresentedNotificationsAsync.d.ts +9 -0
  442. package/build/getPresentedNotificationsAsync.d.ts.map +1 -0
  443. package/build/getPresentedNotificationsAsync.js +15 -0
  444. package/build/getPresentedNotificationsAsync.js.map +1 -0
  445. package/build/index.d.ts +39 -0
  446. package/build/index.d.ts.map +1 -0
  447. package/build/index.js +39 -0
  448. package/build/index.js.map +1 -0
  449. package/build/kepler/NotificationContent.d.ts +43 -0
  450. package/build/kepler/NotificationContent.d.ts.map +1 -0
  451. package/build/kepler/NotificationContent.js +96 -0
  452. package/build/kepler/NotificationContent.js.map +1 -0
  453. package/build/kepler/index.d.ts +3 -0
  454. package/build/kepler/index.d.ts.map +1 -0
  455. package/build/kepler/index.js +15 -0
  456. package/build/kepler/index.js.map +1 -0
  457. package/build/kepler/native-notification-manager.d.ts +3 -0
  458. package/build/kepler/native-notification-manager.d.ts.map +1 -0
  459. package/build/kepler/native-notification-manager.js +10 -0
  460. package/build/kepler/native-notification-manager.js.map +1 -0
  461. package/build/kepler/types/NotificationManagerTypes.d.ts +373 -0
  462. package/build/kepler/types/NotificationManagerTypes.d.ts.map +1 -0
  463. package/build/kepler/types/NotificationManagerTypes.js +279 -0
  464. package/build/kepler/types/NotificationManagerTypes.js.map +1 -0
  465. package/build/kepler/types/index.d.ts +3 -0
  466. package/build/kepler/types/index.d.ts.map +1 -0
  467. package/build/kepler/types/index.js +15 -0
  468. package/build/kepler/types/index.js.map +1 -0
  469. package/build/presentNotificationAsync.d.ts +11 -0
  470. package/build/presentNotificationAsync.d.ts.map +1 -0
  471. package/build/presentNotificationAsync.js +22 -0
  472. package/build/presentNotificationAsync.js.map +1 -0
  473. package/build/registerTaskAsync.d.ts +29 -0
  474. package/build/registerTaskAsync.d.ts.map +1 -0
  475. package/build/registerTaskAsync.js +37 -0
  476. package/build/registerTaskAsync.js.map +1 -0
  477. package/build/scheduleNotificationAsync.d.ts +60 -0
  478. package/build/scheduleNotificationAsync.d.ts.map +1 -0
  479. package/build/scheduleNotificationAsync.js +261 -0
  480. package/build/scheduleNotificationAsync.js.map +1 -0
  481. package/build/setBadgeCountAsync.d.ts +19 -0
  482. package/build/setBadgeCountAsync.d.ts.map +1 -0
  483. package/build/setBadgeCountAsync.js +19 -0
  484. package/build/setBadgeCountAsync.js.map +1 -0
  485. package/build/setNotificationCategoryAsync.d.ts +15 -0
  486. package/build/setNotificationCategoryAsync.d.ts.map +1 -0
  487. package/build/setNotificationCategoryAsync.js +22 -0
  488. package/build/setNotificationCategoryAsync.js.map +1 -0
  489. package/build/setNotificationChannelAsync.android.d.ts +3 -0
  490. package/build/setNotificationChannelAsync.android.d.ts.map +1 -0
  491. package/build/setNotificationChannelAsync.android.js +9 -0
  492. package/build/setNotificationChannelAsync.android.js.map +1 -0
  493. package/build/setNotificationChannelAsync.d.ts +22 -0
  494. package/build/setNotificationChannelAsync.d.ts.map +1 -0
  495. package/build/setNotificationChannelAsync.js +24 -0
  496. package/build/setNotificationChannelAsync.js.map +1 -0
  497. package/build/setNotificationChannelGroupAsync.android.d.ts +3 -0
  498. package/build/setNotificationChannelGroupAsync.android.d.ts.map +1 -0
  499. package/build/setNotificationChannelGroupAsync.android.js +9 -0
  500. package/build/setNotificationChannelGroupAsync.android.js.map +1 -0
  501. package/build/setNotificationChannelGroupAsync.d.ts +12 -0
  502. package/build/setNotificationChannelGroupAsync.d.ts.map +1 -0
  503. package/build/setNotificationChannelGroupAsync.js +14 -0
  504. package/build/setNotificationChannelGroupAsync.js.map +1 -0
  505. package/build/unregisterForNotificationsAsync.d.ts +2 -0
  506. package/build/unregisterForNotificationsAsync.d.ts.map +1 -0
  507. package/build/unregisterForNotificationsAsync.js +10 -0
  508. package/build/unregisterForNotificationsAsync.js.map +1 -0
  509. package/build/unregisterTaskAsync.d.ts +7 -0
  510. package/build/unregisterTaskAsync.d.ts.map +1 -0
  511. package/build/unregisterTaskAsync.js +15 -0
  512. package/build/unregisterTaskAsync.js.map +1 -0
  513. package/build/useLastNotificationResponse.d.ts +38 -0
  514. package/build/useLastNotificationResponse.d.ts.map +1 -0
  515. package/build/useLastNotificationResponse.js +63 -0
  516. package/build/useLastNotificationResponse.js.map +1 -0
  517. package/build/utils/keplerUuidUtils.d.ts +5 -0
  518. package/build/utils/keplerUuidUtils.d.ts.map +1 -0
  519. package/build/utils/keplerUuidUtils.js +15 -0
  520. package/build/utils/keplerUuidUtils.js.map +1 -0
  521. package/build/utils/updateDevicePushTokenAsync.d.ts +3 -0
  522. package/build/utils/updateDevicePushTokenAsync.d.ts.map +1 -0
  523. package/build/utils/updateDevicePushTokenAsync.js +115 -0
  524. package/build/utils/updateDevicePushTokenAsync.js.map +1 -0
  525. package/expo-module.config.json +20 -0
  526. package/ios/EXNotifications/Building/EXNotificationBuilder.h +19 -0
  527. package/ios/EXNotifications/Building/EXNotificationBuilder.m +91 -0
  528. package/ios/EXNotifications/EXBadgeModule.h +11 -0
  529. package/ios/EXNotifications/EXBadgeModule.m +36 -0
  530. package/ios/EXNotifications/EXServerRegistrationModule.h +19 -0
  531. package/ios/EXNotifications/EXServerRegistrationModule.m +194 -0
  532. package/ios/EXNotifications/Notifications/Background/EXBackgroundNotificationTasksModule.h +16 -0
  533. package/ios/EXNotifications/Notifications/Background/EXBackgroundNotificationTasksModule.m +62 -0
  534. package/ios/EXNotifications/Notifications/Background/EXBackgroundRemoteNotificationConsumer.h +14 -0
  535. package/ios/EXNotifications/Notifications/Background/EXBackgroundRemoteNotificationConsumer.m +51 -0
  536. package/ios/EXNotifications/Notifications/Categories/EXNotificationCategoriesModule.h +25 -0
  537. package/ios/EXNotifications/Notifications/Categories/EXNotificationCategoriesModule.m +217 -0
  538. package/ios/EXNotifications/Notifications/EXNotificationCenterDelegate.h +29 -0
  539. package/ios/EXNotifications/Notifications/EXNotificationCenterDelegate.m +209 -0
  540. package/ios/EXNotifications/Notifications/EXNotificationSerializer.h +16 -0
  541. package/ios/EXNotifications/Notifications/EXNotificationSerializer.m +232 -0
  542. package/ios/EXNotifications/Notifications/EXNotificationsDelegate.h +27 -0
  543. package/ios/EXNotifications/Notifications/Emitter/EXNotificationsEmitter.h +17 -0
  544. package/ios/EXNotifications/Notifications/Emitter/EXNotificationsEmitter.m +114 -0
  545. package/ios/EXNotifications/Notifications/Handler/EXNotificationsHandlerModule.h +12 -0
  546. package/ios/EXNotifications/Notifications/Handler/EXNotificationsHandlerModule.m +109 -0
  547. package/ios/EXNotifications/Notifications/Handler/EXSingleNotificationHandlerTask.h +33 -0
  548. package/ios/EXNotifications/Notifications/Handler/EXSingleNotificationHandlerTask.m +124 -0
  549. package/ios/EXNotifications/Notifications/NSDictionary+EXNotificationsVerifyingClass.h +7 -0
  550. package/ios/EXNotifications/Notifications/NSDictionary+EXNotificationsVerifyingClass.m +19 -0
  551. package/ios/EXNotifications/Notifications/Presenting/EXNotificationPresentationModule.h +13 -0
  552. package/ios/EXNotifications/Notifications/Presenting/EXNotificationPresentationModule.m +124 -0
  553. package/ios/EXNotifications/Notifications/Scheduling/EXNotificationSchedulerModule.h +21 -0
  554. package/ios/EXNotifications/Notifications/Scheduling/EXNotificationSchedulerModule.m +263 -0
  555. package/ios/EXNotifications/Permissions/EXLegacyRemoteNotificationPermissionRequester.h +13 -0
  556. package/ios/EXNotifications/Permissions/EXLegacyRemoteNotificationPermissionRequester.m +135 -0
  557. package/ios/EXNotifications/Permissions/EXNotificationPermissionsModule.h +8 -0
  558. package/ios/EXNotifications/Permissions/EXNotificationPermissionsModule.m +67 -0
  559. package/ios/EXNotifications/Permissions/EXRemoteNotificationPermissionSingletonModule.h +29 -0
  560. package/ios/EXNotifications/Permissions/EXRemoteNotificationPermissionSingletonModule.m +68 -0
  561. package/ios/EXNotifications/Permissions/EXUserFacingNotificationsPermissionsRequester.h +15 -0
  562. package/ios/EXNotifications/Permissions/EXUserFacingNotificationsPermissionsRequester.m +202 -0
  563. package/ios/EXNotifications/PushToken/EXPushTokenListener.h +14 -0
  564. package/ios/EXNotifications/PushToken/EXPushTokenManager.h +24 -0
  565. package/ios/EXNotifications/PushToken/EXPushTokenManager.m +63 -0
  566. package/ios/EXNotifications/PushToken/EXPushTokenModule.h +9 -0
  567. package/ios/EXNotifications/PushToken/EXPushTokenModule.m +154 -0
  568. package/ios/EXNotifications.podspec +25 -0
  569. package/package.json +67 -0
  570. package/plugin/build/withNotifications.d.ts +28 -0
  571. package/plugin/build/withNotifications.js +12 -0
  572. package/plugin/build/withNotificationsAndroid.d.ts +42 -0
  573. package/plugin/build/withNotificationsAndroid.js +184 -0
  574. package/plugin/build/withNotificationsIOS.d.ts +14 -0
  575. package/plugin/build/withNotificationsIOS.js +58 -0
  576. package/plugin/jest.config.js +1 -0
  577. package/plugin/src/withNotifications.ts +40 -0
  578. package/plugin/src/withNotificationsAndroid.ts +239 -0
  579. package/plugin/src/withNotificationsIOS.ts +78 -0
  580. package/plugin/tsconfig.json +9 -0
  581. package/src/BackgroundNotificationTasksModule.kepler.ts +8 -0
  582. package/src/BackgroundNotificationTasksModule.native.ts +7 -0
  583. package/src/BackgroundNotificationTasksModule.ts +8 -0
  584. package/src/BackgroundNotificationTasksModule.types.ts +12 -0
  585. package/src/BackgroundNotificationTasksModule.web.ts +8 -0
  586. package/src/BadgeModule.kepler.ts +8 -0
  587. package/src/BadgeModule.native.ts +15 -0
  588. package/src/BadgeModule.ts +6 -0
  589. package/src/BadgeModule.types.ts +11 -0
  590. package/src/BadgeModule.web.ts +28 -0
  591. package/src/DevicePushTokenAutoRegistration.fx.ts +119 -0
  592. package/src/NotificationCategoriesModule.kepler.ts +10 -0
  593. package/src/NotificationCategoriesModule.native.ts +7 -0
  594. package/src/NotificationCategoriesModule.ts +15 -0
  595. package/src/NotificationCategoriesModule.types.ts +22 -0
  596. package/src/NotificationCategoriesModule.web.ts +17 -0
  597. package/src/NotificationChannelGroupManager.kepler.ts +8 -0
  598. package/src/NotificationChannelGroupManager.native.ts +7 -0
  599. package/src/NotificationChannelGroupManager.ts +6 -0
  600. package/src/NotificationChannelGroupManager.types.ts +34 -0
  601. package/src/NotificationChannelManager.kepler.ts +8 -0
  602. package/src/NotificationChannelManager.native.ts +5 -0
  603. package/src/NotificationChannelManager.ts +6 -0
  604. package/src/NotificationChannelManager.types.ts +115 -0
  605. package/src/NotificationPermissions.ts +91 -0
  606. package/src/NotificationPermissions.types.ts +102 -0
  607. package/src/NotificationPermissionsModule.kepler.ts +8 -0
  608. package/src/NotificationPermissionsModule.native.ts +7 -0
  609. package/src/NotificationPermissionsModule.ts +83 -0
  610. package/src/NotificationPermissionsModule.types.ts +13 -0
  611. package/src/NotificationPresenterModule.kepler.ts +67 -0
  612. package/src/NotificationPresenterModule.native.ts +5 -0
  613. package/src/NotificationPresenterModule.ts +6 -0
  614. package/src/NotificationPresenterModule.types.ts +13 -0
  615. package/src/NotificationScheduler.kepler.ts +63 -0
  616. package/src/NotificationScheduler.native.ts +5 -0
  617. package/src/NotificationScheduler.ts +6 -0
  618. package/src/NotificationScheduler.types.ts +89 -0
  619. package/src/Notifications.types.ts +722 -0
  620. package/src/NotificationsEmitter.ts +111 -0
  621. package/src/NotificationsEmitterModule.kepler.ts +8 -0
  622. package/src/NotificationsEmitterModule.native.ts +5 -0
  623. package/src/NotificationsEmitterModule.ts +17 -0
  624. package/src/NotificationsEmitterModule.types.ts +7 -0
  625. package/src/NotificationsHandler.ts +120 -0
  626. package/src/NotificationsHandlerModule.kepler.ts +8 -0
  627. package/src/NotificationsHandlerModule.native.ts +5 -0
  628. package/src/NotificationsHandlerModule.ts +17 -0
  629. package/src/NotificationsHandlerModule.types.ts +10 -0
  630. package/src/PushTokenManager.kepler.ts +8 -0
  631. package/src/PushTokenManager.native.ts +5 -0
  632. package/src/PushTokenManager.ts +17 -0
  633. package/src/PushTokenManager.types.ts +6 -0
  634. package/src/ServerRegistrationModule.kepler.ts +8 -0
  635. package/src/ServerRegistrationModule.native.ts +7 -0
  636. package/src/ServerRegistrationModule.ts +6 -0
  637. package/src/ServerRegistrationModule.types.ts +7 -0
  638. package/src/ServerRegistrationModule.web.ts +56 -0
  639. package/src/TokenEmitter.ts +56 -0
  640. package/src/Tokens.types.ts +110 -0
  641. package/src/cancelAllScheduledNotificationsAsync.ts +16 -0
  642. package/src/cancelScheduledNotificationAsync.ts +31 -0
  643. package/src/deleteNotificationCategoryAsync.ts +23 -0
  644. package/src/deleteNotificationChannelAsync.android.ts +11 -0
  645. package/src/deleteNotificationChannelAsync.ts +10 -0
  646. package/src/deleteNotificationChannelGroupAsync.android.ts +11 -0
  647. package/src/deleteNotificationChannelGroupAsync.ts +10 -0
  648. package/src/dismissAllNotificationsAsync.ts +16 -0
  649. package/src/dismissNotificationAsync.ts +19 -0
  650. package/src/getAllScheduledNotificationsAsync.ts +17 -0
  651. package/src/getBadgeCountAsync.ts +17 -0
  652. package/src/getDevicePushTokenAsync.ts +31 -0
  653. package/src/getDevicePushTokenAsync.web.ts +122 -0
  654. package/src/getExpoPushTokenAsync.ts +238 -0
  655. package/src/getNextTriggerDateAsync.ts +38 -0
  656. package/src/getNotificationCategoriesAsync.ts +21 -0
  657. package/src/getNotificationChannelAsync.android.ts +13 -0
  658. package/src/getNotificationChannelAsync.ts +16 -0
  659. package/src/getNotificationChannelGroupAsync.android.ts +14 -0
  660. package/src/getNotificationChannelGroupAsync.ts +17 -0
  661. package/src/getNotificationChannelGroupsAsync.android.ts +13 -0
  662. package/src/getNotificationChannelGroupsAsync.ts +15 -0
  663. package/src/getNotificationChannelsAsync.android.ts +11 -0
  664. package/src/getNotificationChannelsAsync.ts +13 -0
  665. package/src/getPresentedNotificationsAsync.ts +18 -0
  666. package/src/index.ts +38 -0
  667. package/src/kepler/NotificationContent.ts +119 -0
  668. package/src/kepler/index.ts +16 -0
  669. package/src/kepler/native-notification-manager.ts +10 -0
  670. package/src/kepler/types/NotificationManagerTypes.ts +508 -0
  671. package/src/kepler/types/index.ts +16 -0
  672. package/src/presentNotificationAsync.ts +32 -0
  673. package/src/registerTaskAsync.ts +39 -0
  674. package/src/scheduleNotificationAsync.ts +335 -0
  675. package/src/setBadgeCountAsync.ts +32 -0
  676. package/src/setNotificationCategoryAsync.ts +37 -0
  677. package/src/setNotificationChannelAsync.android.ts +15 -0
  678. package/src/setNotificationChannelAsync.ts +28 -0
  679. package/src/setNotificationChannelGroupAsync.android.ts +18 -0
  680. package/src/setNotificationChannelGroupAsync.ts +21 -0
  681. package/src/unregisterForNotificationsAsync.ts +11 -0
  682. package/src/unregisterTaskAsync.ts +17 -0
  683. package/src/useLastNotificationResponse.ts +70 -0
  684. package/src/utils/keplerUuidUtils.ts +29 -0
  685. package/src/utils/updateDevicePushTokenAsync.ts +147 -0
  686. package/tsconfig.json +9 -0
@@ -0,0 +1,106 @@
1
+ package expo.modules.notifications.service.delegates
2
+
3
+ import android.content.Context
4
+ import android.content.SharedPreferences
5
+ import expo.modules.notifications.notifications.model.NotificationCategory
6
+ import java.io.IOException
7
+
8
+ /**
9
+ * A fairly straightforward [SharedPreferences] wrapper to be used by [NotificationSchedulingHelper].
10
+ * Saves and reads notification category information (identifiers, actions, and options) to and from persistent storage.
11
+ *
12
+ * A notification category with identifier = 123abc will be persisted under key:
13
+ * [SharedPreferencesNotificationCategoriesStore.NOTIFICATION_CATEGORY_KEY_PREFIX]123abc
14
+ */
15
+ class SharedPreferencesNotificationCategoriesStore(context: Context) {
16
+ companion object {
17
+ private const val SHARED_PREFERENCES_NAME = "expo.modules.notifications.SharedPreferencesNotificationCategoriesStore"
18
+ private const val NOTIFICATION_CATEGORY_KEY_PREFIX = "notification_category-"
19
+ }
20
+
21
+ private val sharedPreferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
22
+
23
+ /**
24
+ * Fetches notification category info for given identifier.
25
+ *
26
+ * @param identifier Identifier of the category.
27
+ * @return Category information: actions and options.
28
+ * @throws JSONException Thrown if notification category could not be interpreted as a JSON object.
29
+ * @throws IOException Thrown if there is an error when fetching the category from storage.
30
+ * @throws ClassNotFoundException Thrown if there is an error when interpreting the category fetched from storage.
31
+ */
32
+ @Throws(IOException::class, ClassNotFoundException::class)
33
+ fun getNotificationCategory(identifier: String) =
34
+ sharedPreferences.getString(
35
+ preferencesNotificationCategoryKey(identifier),
36
+ null
37
+ )?.asBase64EncodedObject<NotificationCategory>()
38
+
39
+ /**
40
+ * Fetches all categories, ignoring invalid ones.
41
+ *
42
+ * Goes through all the [SharedPreferences] entries, interpreting only the ones conforming
43
+ * to the expected format.
44
+ *
45
+ * @return Map with identifiers as keys and category info as values
46
+ */
47
+ val allNotificationCategories: Collection<NotificationCategory>
48
+ get() =
49
+ sharedPreferences
50
+ .all
51
+ .filter { it.key.startsWith(NOTIFICATION_CATEGORY_KEY_PREFIX) }
52
+ .mapNotNull { (_, value) ->
53
+ return@mapNotNull try {
54
+ (value as String?)?.asBase64EncodedObject<NotificationCategory>()
55
+ } catch (e: ClassNotFoundException) {
56
+ // do nothing
57
+ null
58
+ } catch (e: IOException) {
59
+ // do nothing
60
+ null
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Saves given category in persistent storage.
66
+ *
67
+ * @param notificationCategory Notification category
68
+ * @throws IOException Thrown if there is an error while serializing the category
69
+ * @return The category that was just created, or null if it couldn't be created.
70
+ */
71
+ @Throws(IOException::class)
72
+ fun saveNotificationCategory(notificationCategory: NotificationCategory) =
73
+ sharedPreferences
74
+ .edit()
75
+ .putString(
76
+ preferencesNotificationCategoryKey(notificationCategory.identifier),
77
+ notificationCategory.encodedInBase64()
78
+ )
79
+ .commit()
80
+ .let { if (it) notificationCategory else null }
81
+
82
+ /**
83
+ * Removes notification category for the given identifier.
84
+ *
85
+ * @param identifier Category identifier
86
+ * @return Return true if category was deleted, false if not.
87
+ */
88
+ fun removeNotificationCategory(identifier: String): Boolean {
89
+ sharedPreferences.getString(
90
+ preferencesNotificationCategoryKey(identifier),
91
+ null
92
+ ).let { if (it == null) return false }
93
+
94
+ return sharedPreferences
95
+ .edit()
96
+ .remove(preferencesNotificationCategoryKey(identifier))
97
+ .commit()
98
+ }
99
+
100
+ /**
101
+ * @param identifier Category identifier
102
+ * @return Key under which the notification category will be persisted in storage.
103
+ */
104
+ private fun preferencesNotificationCategoryKey(identifier: String) =
105
+ NOTIFICATION_CATEGORY_KEY_PREFIX + identifier
106
+ }
@@ -0,0 +1,119 @@
1
+ package expo.modules.notifications.service.delegates
2
+
3
+ import android.content.Context
4
+ import android.content.SharedPreferences
5
+ import expo.modules.notifications.notifications.model.NotificationRequest
6
+ import java.io.IOException
7
+
8
+ /**
9
+ * A fairly straightforward [SharedPreferences] wrapper to be used by [NotificationSchedulingHelper].
10
+ * Saves and reads notifications (identifiers, requests and triggers) to and from the persistent storage.
11
+ *
12
+ * A notification request of identifier = 123abc, it will be persisted under key:
13
+ * [SharedPreferencesNotificationsStore.NOTIFICATION_REQUEST_KEY_PREFIX]123abc
14
+ */
15
+ class SharedPreferencesNotificationsStore(context: Context) {
16
+ companion object {
17
+ private const val SHARED_PREFERENCES_NAME = "expo.modules.notifications.SharedPreferencesNotificationsStore"
18
+ private const val NOTIFICATION_REQUEST_KEY_PREFIX = "notification_request-"
19
+ }
20
+
21
+ private val sharedPreferences: SharedPreferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
22
+
23
+ /**
24
+ * Fetches scheduled notification info for given identifier.
25
+ *
26
+ * @param identifier Identifier of the notification.
27
+ * @return Notification information: request and trigger.
28
+ * @throws JSONException Thrown if notification request could not have been interpreted as a JSON object.
29
+ * @throws IOException Thrown if there is an error when fetching trigger from the storage.
30
+ * @throws ClassNotFoundException Thrown if there is an error when interpreting trigger fetched from the storage.
31
+ */
32
+ @Throws(IOException::class, ClassNotFoundException::class)
33
+ fun getNotificationRequest(identifier: String) =
34
+ sharedPreferences.getString(
35
+ preferencesNotificationRequestKey(identifier),
36
+ null
37
+ )?.asBase64EncodedObject<NotificationRequest>()
38
+
39
+ /**
40
+ * Fetches all scheduled notifications, ignoring invalid ones.
41
+ *
42
+ * Goes through all the [SharedPreferences] entries, interpreting only the ones conforming
43
+ * to the expected format.
44
+ *
45
+ * @return Map with identifiers as keys and notification info as values
46
+ */
47
+ val allNotificationRequests: Collection<NotificationRequest>
48
+ get() =
49
+ sharedPreferences
50
+ .all
51
+ .filter { it.key.startsWith(NOTIFICATION_REQUEST_KEY_PREFIX) }
52
+ .mapNotNull { (_, value) ->
53
+ return@mapNotNull try {
54
+ (value as String?)?.asBase64EncodedObject<NotificationRequest>()
55
+ } catch (e: ClassNotFoundException) {
56
+ // do nothing
57
+ null
58
+ } catch (e: IOException) {
59
+ // do nothing
60
+ null
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Saves given notification in the persistent storage.
66
+ *
67
+ * @param notificationRequest Notification request
68
+ * @throws IOException Thrown if there is an error while serializing trigger
69
+ */
70
+ @Throws(IOException::class)
71
+ fun saveNotificationRequest(notificationRequest: NotificationRequest) =
72
+ sharedPreferences.edit()
73
+ .putString(
74
+ preferencesNotificationRequestKey(notificationRequest.identifier),
75
+ notificationRequest.encodedInBase64()
76
+ )
77
+ .apply()
78
+
79
+ /**
80
+ * Removes notification info for given identifier.
81
+ *
82
+ * @param identifier Notification identifier
83
+ */
84
+ fun removeNotificationRequest(identifier: String) =
85
+ removeNotificationRequest(sharedPreferences.edit(), identifier).apply()
86
+
87
+ /**
88
+ * Perform notification removal on provided [SharedPreferences.Editor] instance. Can be reused
89
+ * to batch deletion.
90
+ *
91
+ * @param editor Editor to apply changes onto
92
+ * @param identifier Notification identifier
93
+ * @return Returns a reference to the same Editor object, so you can
94
+ * chain put calls together.
95
+ */
96
+ private fun removeNotificationRequest(editor: SharedPreferences.Editor, identifier: String) =
97
+ editor.remove(preferencesNotificationRequestKey(identifier))
98
+
99
+ /**
100
+ * Removes all notification infos, returning removed IDs.
101
+ */
102
+ fun removeAllNotificationRequests(): Collection<String> =
103
+ with(sharedPreferences.edit()) {
104
+ allNotificationRequests.map {
105
+ removeNotificationRequest(this, it.identifier)
106
+ it.identifier
107
+ }.let {
108
+ this.apply()
109
+ it
110
+ }
111
+ }
112
+
113
+ /**
114
+ * @param identifier Notification identifier
115
+ * @return Key under which notification request will be persisted in the storage.
116
+ */
117
+ private fun preferencesNotificationRequestKey(identifier: String) =
118
+ NOTIFICATION_REQUEST_KEY_PREFIX + identifier
119
+ }
@@ -0,0 +1,14 @@
1
+ package expo.modules.notifications.service.interfaces
2
+
3
+ import expo.modules.notifications.notifications.model.NotificationCategory
4
+ import expo.modules.notifications.service.NotificationsService
5
+
6
+ /**
7
+ * A delegate to [NotificationsService] responsible for handling events
8
+ * related to [NotificationCategory]s.
9
+ */
10
+ interface CategoriesDelegate {
11
+ fun getCategories(): Collection<NotificationCategory>
12
+ fun setCategory(category: NotificationCategory): NotificationCategory?
13
+ fun deleteCategory(identifier: String): Boolean
14
+ }
@@ -0,0 +1,20 @@
1
+ package expo.modules.notifications.service.interfaces
2
+
3
+ import com.google.firebase.messaging.RemoteMessage
4
+ import expo.modules.notifications.service.NotificationsService
5
+
6
+ /**
7
+ * A delegate to [NotificationsService] responsible for handling Firebase events.
8
+ */
9
+ interface FirebaseMessagingDelegate {
10
+ /**
11
+ * Called on new token, dispatches it to [NotificationsService.sTokenListenersReferences].
12
+ *
13
+ * @param token New device push token.
14
+ */
15
+ fun onNewToken(token: String)
16
+
17
+ fun onMessageReceived(remoteMessage: RemoteMessage)
18
+
19
+ fun onDeletedMessages()
20
+ }
@@ -0,0 +1,10 @@
1
+ package expo.modules.notifications.service.interfaces
2
+
3
+ import expo.modules.notifications.notifications.model.Notification
4
+ import expo.modules.notifications.notifications.model.NotificationResponse
5
+
6
+ interface HandlingDelegate {
7
+ fun handleNotification(notification: Notification)
8
+ fun handleNotificationResponse(notificationResponse: NotificationResponse)
9
+ fun handleNotificationsDropped()
10
+ }
@@ -0,0 +1,11 @@
1
+ package expo.modules.notifications.service.interfaces
2
+
3
+ import expo.modules.notifications.notifications.model.Notification
4
+ import expo.modules.notifications.notifications.model.NotificationBehavior
5
+
6
+ interface PresentationDelegate {
7
+ fun presentNotification(notification: Notification, behavior: NotificationBehavior?)
8
+ fun getAllPresentedNotifications(): Collection<Notification>
9
+ fun dismissNotifications(identifiers: Collection<String>)
10
+ fun dismissAllNotifications()
11
+ }
@@ -0,0 +1,13 @@
1
+ package expo.modules.notifications.service.interfaces
2
+
3
+ import expo.modules.notifications.notifications.model.NotificationRequest
4
+
5
+ interface SchedulingDelegate {
6
+ fun setupScheduledNotifications()
7
+ fun getAllScheduledNotifications(): Collection<NotificationRequest>
8
+ fun getScheduledNotification(identifier: String): NotificationRequest?
9
+ fun scheduleNotification(request: NotificationRequest)
10
+ fun triggerNotification(identifier: String)
11
+ fun removeScheduledNotifications(identifiers: Collection<String>)
12
+ fun removeAllScheduledNotifications()
13
+ }
@@ -0,0 +1,88 @@
1
+ package expo.modules.notifications.tokens;
2
+
3
+ import expo.modules.core.interfaces.SingletonModule;
4
+
5
+ import java.lang.ref.WeakReference;
6
+ import java.util.WeakHashMap;
7
+
8
+ import expo.modules.notifications.service.NotificationsService;
9
+ import expo.modules.notifications.service.delegates.FirebaseMessagingDelegate;
10
+ import expo.modules.notifications.tokens.interfaces.FirebaseTokenListener;
11
+ import expo.modules.notifications.tokens.interfaces.PushTokenListener;
12
+
13
+ public class PushTokenManager implements SingletonModule, FirebaseTokenListener, expo.modules.notifications.tokens.interfaces.PushTokenManager {
14
+ private static final String SINGLETON_NAME = "PushTokenManager";
15
+
16
+ /**
17
+ * We store this value to be able to inform new listeners of last known token.
18
+ */
19
+ private String mLastToken;
20
+
21
+ /**
22
+ * A weak map of listeners -> reference. Used to check quickly whether given listener
23
+ * is already registered and to iterate over on new token.
24
+ */
25
+ private WeakHashMap<PushTokenListener, WeakReference<PushTokenListener>> mListenerReferenceMap;
26
+
27
+ public PushTokenManager() {
28
+ mListenerReferenceMap = new WeakHashMap<>();
29
+
30
+ // Registers this singleton instance in static FirebaseListenerService listeners collection.
31
+ // Since it doesn't hold strong reference to the object this should be safe.
32
+ FirebaseMessagingDelegate.addTokenListener(this);
33
+ }
34
+
35
+ @Override
36
+ public String getName() {
37
+ return SINGLETON_NAME;
38
+ }
39
+
40
+ /**
41
+ * Registers a {@link PushTokenListener} by adding a {@link WeakReference} to
42
+ * the {@link PushTokenManager#mListenerReferenceMap} map.
43
+ *
44
+ * @param listener Listener to be notified of new device push tokens.
45
+ */
46
+ @Override
47
+ public void addListener(PushTokenListener listener) {
48
+ // Check if the listener is already registered
49
+ if (!mListenerReferenceMap.containsKey(listener)) {
50
+ WeakReference<PushTokenListener> listenerReference = new WeakReference<>(listener);
51
+ mListenerReferenceMap.put(listener, listenerReference);
52
+ // Since it's a new listener and we know of a last valid value, let's let them know.
53
+ if (mLastToken != null) {
54
+ listener.onNewToken(mLastToken);
55
+ }
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Unregisters a {@link PushTokenListener} by removing the {@link WeakReference} to the listener
61
+ * from the {@link PushTokenManager#mListenerReferenceMap} map.
62
+ *
63
+ * @param listener Listener previously registered with {@link PushTokenManager#addListener(PushTokenListener)}.
64
+ */
65
+ @Override
66
+ public void removeListener(PushTokenListener listener) {
67
+ mListenerReferenceMap.remove(listener);
68
+ }
69
+
70
+ /**
71
+ * Used by {@link NotificationsService} to notify of new tokens.
72
+ * Calls {@link PushTokenListener#onNewToken(String)} on all values
73
+ * of {@link PushTokenManager#mListenerReferenceMap}.
74
+ *
75
+ * @param token New device push token.
76
+ */
77
+ @Override
78
+ public void onNewToken(String token) {
79
+ for (WeakReference<PushTokenListener> listenerReference : mListenerReferenceMap.values()) {
80
+ PushTokenListener listener = listenerReference.get();
81
+ if (listener != null) {
82
+ listener.onNewToken(token);
83
+ }
84
+ }
85
+
86
+ mLastToken = token;
87
+ }
88
+ }
@@ -0,0 +1,91 @@
1
+ package expo.modules.notifications.tokens
2
+
3
+ import android.os.Bundle
4
+ import com.google.firebase.messaging.FirebaseMessaging
5
+ import expo.modules.core.interfaces.services.EventEmitter
6
+ import expo.modules.kotlin.Promise
7
+ import expo.modules.kotlin.modules.Module
8
+ import expo.modules.kotlin.modules.ModuleDefinition
9
+ import expo.modules.notifications.ModuleNotFoundException
10
+ import expo.modules.notifications.tokens.interfaces.PushTokenListener
11
+ import expo.modules.notifications.tokens.interfaces.PushTokenManager
12
+
13
+ private const val NEW_TOKEN_EVENT_NAME = "onDevicePushToken"
14
+ private const val NEW_TOKEN_EVENT_TOKEN_KEY = "devicePushToken"
15
+ private const val REGISTRATION_FAIL_CODE = "E_REGISTRATION_FAILED"
16
+ private const val UNREGISTER_FOR_NOTIFICATIONS_FAIL_CODE = "E_UNREGISTER_FOR_NOTIFICATIONS_FAILED"
17
+
18
+ class PushTokenModule : Module(), PushTokenListener {
19
+ private lateinit var tokenManager: PushTokenManager
20
+ private var eventEmitter: EventEmitter? = null
21
+
22
+ override fun definition() = ModuleDefinition {
23
+ Name("ExpoPushTokenManager")
24
+
25
+ OnCreate {
26
+ eventEmitter = appContext.legacyModule()
27
+ ?: throw ModuleNotFoundException(EventEmitter::class)
28
+
29
+ // Register the module as a listener in PushTokenManager singleton module.
30
+ // Deregistration happens in onDestroy callback.
31
+ tokenManager = requireNotNull(
32
+ appContext.legacyModuleRegistry.getSingletonModule("PushTokenManager", PushTokenManager::class.java)
33
+ )
34
+ tokenManager.addListener(this@PushTokenModule)
35
+ }
36
+
37
+ OnDestroy {
38
+ tokenManager.removeListener(this@PushTokenModule)
39
+ }
40
+
41
+ /**
42
+ * Fetches Firebase push token and resolves the promise.
43
+ *
44
+ * @param promise Promise to be resolved with the token.
45
+ */
46
+ AsyncFunction("getDevicePushTokenAsync") { promise: Promise ->
47
+ FirebaseMessaging.getInstance().token
48
+ .addOnCompleteListener { task ->
49
+ if (!task.isSuccessful) {
50
+ val exception = task.exception
51
+ promise.reject(REGISTRATION_FAIL_CODE, "Fetching the token failed: ${exception?.message ?: "unknown"}", exception)
52
+ return@addOnCompleteListener
53
+ }
54
+ val token = task.result
55
+ if (token == null) {
56
+ promise.reject(REGISTRATION_FAIL_CODE, "Fetching the token failed. Invalid token.", null)
57
+ return@addOnCompleteListener
58
+ }
59
+
60
+ promise.resolve(token)
61
+ onNewToken(token)
62
+ }
63
+ }
64
+
65
+ AsyncFunction("unregisterForNotificationsAsync") { promise: Promise ->
66
+ FirebaseMessaging.getInstance().deleteToken()
67
+ .addOnCompleteListener { task ->
68
+ if (!task.isSuccessful) {
69
+ val exception = task.exception
70
+ promise.reject(UNREGISTER_FOR_NOTIFICATIONS_FAIL_CODE, "Unregistering for notifications failed: ${exception?.message ?: "unknown"}", exception)
71
+ return@addOnCompleteListener
72
+ }
73
+ promise.resolve(null)
74
+ }
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Callback called when [PushTokenManager] gets notified of a new token.
80
+ * Emits a [NEW_TOKEN_EVENT_NAME] event.
81
+ *
82
+ * @param token New push token.
83
+ */
84
+ override fun onNewToken(token: String) {
85
+ eventEmitter?.let {
86
+ val eventBody = Bundle()
87
+ eventBody.putString(NEW_TOKEN_EVENT_TOKEN_KEY, token)
88
+ it.emit(NEW_TOKEN_EVENT_NAME, eventBody)
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,16 @@
1
+ package expo.modules.notifications.tokens.interfaces;
2
+
3
+ import expo.modules.notifications.service.NotificationsService;
4
+
5
+ /**
6
+ * Interface used to register in {@link NotificationsService}
7
+ * and be notified of new device push tokens.
8
+ */
9
+ public interface FirebaseTokenListener {
10
+ /**
11
+ * Callback called when new push token is generated.
12
+ *
13
+ * @param token New push token
14
+ */
15
+ void onNewToken(String token);
16
+ }
@@ -0,0 +1,14 @@
1
+ package expo.modules.notifications.tokens.interfaces;
2
+
3
+ /**
4
+ * Interface used to register in {@link PushTokenManager}
5
+ * and be notified of new device push tokens.
6
+ */
7
+ public interface PushTokenListener {
8
+ /**
9
+ * Callback called when new push token is generated.
10
+ *
11
+ * @param token New push token
12
+ */
13
+ void onNewToken(String token);
14
+ }
@@ -0,0 +1,22 @@
1
+ package expo.modules.notifications.tokens.interfaces;
2
+
3
+ /**
4
+ * Interface of a singleton module responsible
5
+ * for dispatching new push token information to listeners.
6
+ */
7
+ public interface PushTokenManager {
8
+ /**
9
+ * Registers a {@link PushTokenListener}.
10
+ *
11
+ * @param listener Listener to be notified of new device push tokens.
12
+ */
13
+ void addListener(PushTokenListener listener);
14
+
15
+ /**
16
+ * Unregisters a {@link PushTokenListener}.
17
+ *
18
+ * @param listener Listener previously registered
19
+ * with {@link PushTokenManager#addListener(PushTokenListener)}.
20
+ */
21
+ void removeListener(PushTokenListener listener);
22
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+ <string name="expo_notifications_fallback_channel_name">Miscellaneous</string>
4
+ </resources>
package/app.plugin.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./plugin/build/withNotifications');
@@ -0,0 +1,4 @@
1
+ import { BackgroundNotificationTasksModule } from './BackgroundNotificationTasksModule.types';
2
+ declare const _default: BackgroundNotificationTasksModule;
3
+ export default _default;
4
+ //# sourceMappingURL=BackgroundNotificationTasksModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.d.ts","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;wBAOzF,iCAAiC;AALtC,wBAKuC"}
@@ -0,0 +1,7 @@
1
+ export default {
2
+ addListener: () => { },
3
+ removeListeners: () => { },
4
+ registerTaskAsync: async () => null,
5
+ unregisterTaskAsync: async () => null,
6
+ };
7
+ //# sourceMappingURL=BackgroundNotificationTasksModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.js","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;IACrB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IACnC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;CACD,CAAC","sourcesContent":["import { BackgroundNotificationTasksModule } from './BackgroundNotificationTasksModule.types';\n\nexport default {\n addListener: () => {},\n removeListeners: () => {},\n registerTaskAsync: async () => null,\n unregisterTaskAsync: async () => null,\n} as BackgroundNotificationTasksModule;\n"]}
@@ -0,0 +1,3 @@
1
+ declare const _default: {};
2
+ export default _default;
3
+ //# sourceMappingURL=BackgroundNotificationTasksModule.kepler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.kepler.d.ts","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.kepler.ts"],"names":[],"mappings":";AAOA,wBAAkB"}
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Copyright (c) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * PROPRIETARY/CONFIDENTIAL
5
+ *
6
+ * Use is subject to license terms.
7
+ */
8
+ export default {};
9
+ //# sourceMappingURL=BackgroundNotificationTasksModule.kepler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.kepler.js","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.kepler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAe,EAAE,CAAC","sourcesContent":["/*\n * Copyright (c) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * PROPRIETARY/CONFIDENTIAL\n *\n * Use is subject to license terms.\n */\nexport default {};\n"]}
@@ -0,0 +1,4 @@
1
+ import { BackgroundNotificationTasksModule } from './BackgroundNotificationTasksModule.types';
2
+ declare const _default: BackgroundNotificationTasksModule;
3
+ export default _default;
4
+ //# sourceMappingURL=BackgroundNotificationTasksModule.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.native.d.ts","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.native.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;;AAE9F,wBAEE"}
@@ -0,0 +1,3 @@
1
+ import { requireNativeModule } from 'expo-modules-core';
2
+ export default requireNativeModule('ExpoBackgroundNotificationTasksModule');
3
+ //# sourceMappingURL=BackgroundNotificationTasksModule.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.native.js","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,eAAe,mBAAmB,CAChC,uCAAuC,CACxC,CAAC","sourcesContent":["import { requireNativeModule } from 'expo-modules-core';\n\nimport { BackgroundNotificationTasksModule } from './BackgroundNotificationTasksModule.types';\n\nexport default requireNativeModule<BackgroundNotificationTasksModule>(\n 'ExpoBackgroundNotificationTasksModule'\n);\n"]}
@@ -0,0 +1,11 @@
1
+ import { ProxyNativeModule } from 'expo-modules-core';
2
+ export interface BackgroundNotificationTasksModule extends ProxyNativeModule {
3
+ registerTaskAsync: (taskName: string) => Promise<null>;
4
+ unregisterTaskAsync: (taskName: string) => Promise<null>;
5
+ }
6
+ export declare enum BackgroundNotificationResult {
7
+ NoData = 1,
8
+ NewData = 2,
9
+ Failed = 3
10
+ }
11
+ //# sourceMappingURL=BackgroundNotificationTasksModule.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.types.d.ts","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,iCAAkC,SAAQ,iBAAiB;IAC1E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,oBAAY,4BAA4B;IACtC,MAAM,IAAI;IACV,OAAO,IAAI;IACX,MAAM,IAAI;CACX"}
@@ -0,0 +1,7 @@
1
+ export var BackgroundNotificationResult;
2
+ (function (BackgroundNotificationResult) {
3
+ BackgroundNotificationResult[BackgroundNotificationResult["NoData"] = 1] = "NoData";
4
+ BackgroundNotificationResult[BackgroundNotificationResult["NewData"] = 2] = "NewData";
5
+ BackgroundNotificationResult[BackgroundNotificationResult["Failed"] = 3] = "Failed";
6
+ })(BackgroundNotificationResult || (BackgroundNotificationResult = {}));
7
+ //# sourceMappingURL=BackgroundNotificationTasksModule.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.types.js","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,mFAAU,CAAA;IACV,qFAAW,CAAA;IACX,mFAAU,CAAA;AACZ,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,QAIvC","sourcesContent":["import { ProxyNativeModule } from 'expo-modules-core';\n\nexport interface BackgroundNotificationTasksModule extends ProxyNativeModule {\n registerTaskAsync: (taskName: string) => Promise<null>;\n unregisterTaskAsync: (taskName: string) => Promise<null>;\n}\n\nexport enum BackgroundNotificationResult {\n NoData = 1,\n NewData = 2,\n Failed = 3,\n}\n"]}
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ registerTaskAsync(taskName: string): Promise<null>;
3
+ unregisterTaskAsync(taskName: string): Promise<null>;
4
+ };
5
+ export default _default;
6
+ //# sourceMappingURL=BackgroundNotificationTasksModule.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundNotificationTasksModule.web.d.ts","sourceRoot":"","sources":["../src/BackgroundNotificationTasksModule.web.ts"],"names":[],"mappings":";gCACoC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;kCAGpB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;;AAJ5D,wBAOE"}