@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,84 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+ import android.os.Parcelable;
5
+
6
+ import expo.modules.core.Promise;
7
+ import expo.modules.core.arguments.ReadableArguments;
8
+
9
+ import androidx.annotation.Nullable;
10
+ import expo.modules.notifications.notifications.enums.NotificationPriority;
11
+ import expo.modules.notifications.notifications.handling.NotificationsHandler;
12
+
13
+ /**
14
+ * A POJO representing behavior with which the notification should be presented.
15
+ * <p>
16
+ * Used in {@link NotificationsHandler#handleNotificationAsync(String, ReadableArguments, Promise)}.
17
+ */
18
+ public class NotificationBehavior implements Parcelable {
19
+ private final boolean mShouldShowAlert;
20
+ private final boolean mShouldPlaySound;
21
+ private final boolean mShouldSetBadge;
22
+
23
+ @Nullable
24
+ private final String mPriorityOverride;
25
+
26
+ public NotificationBehavior(boolean shouldShowAlert, boolean shouldPlaySound, boolean shouldSetBadge, @Nullable String priorityOverride) {
27
+ mShouldShowAlert = shouldShowAlert;
28
+ mShouldPlaySound = shouldPlaySound;
29
+ mShouldSetBadge = shouldSetBadge;
30
+ mPriorityOverride = priorityOverride;
31
+ }
32
+
33
+ private NotificationBehavior(Parcel in) {
34
+ mShouldShowAlert = in.readByte() != 0;
35
+ mShouldPlaySound = in.readByte() != 0;
36
+ mShouldSetBadge = in.readByte() != 0;
37
+ mPriorityOverride = in.readString();
38
+ }
39
+
40
+ @Override
41
+ public void writeToParcel(Parcel dest, int flags) {
42
+ dest.writeByte((byte) (mShouldShowAlert ? 1 : 0));
43
+ dest.writeByte((byte) (mShouldPlaySound ? 1 : 0));
44
+ dest.writeByte((byte) (mShouldSetBadge ? 1 : 0));
45
+ dest.writeString(mPriorityOverride);
46
+ }
47
+
48
+ @Override
49
+ public int describeContents() {
50
+ return 0;
51
+ }
52
+
53
+ public static final Creator<NotificationBehavior> CREATOR = new Creator<NotificationBehavior>() {
54
+ @Override
55
+ public NotificationBehavior createFromParcel(Parcel in) {
56
+ return new NotificationBehavior(in);
57
+ }
58
+
59
+ @Override
60
+ public NotificationBehavior[] newArray(int size) {
61
+ return new NotificationBehavior[size];
62
+ }
63
+ };
64
+
65
+ @Nullable
66
+ public NotificationPriority getPriorityOverride() {
67
+ if (mPriorityOverride == null) {
68
+ return null;
69
+ }
70
+ return NotificationPriority.fromEnumValue(mPriorityOverride);
71
+ }
72
+
73
+ public boolean shouldShowAlert() {
74
+ return mShouldShowAlert;
75
+ }
76
+
77
+ public boolean shouldPlaySound() {
78
+ return mShouldPlaySound;
79
+ }
80
+
81
+ public boolean shouldSetBadge() {
82
+ return mShouldSetBadge;
83
+ }
84
+ }
@@ -0,0 +1,61 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+ import android.os.Parcelable;
5
+
6
+ import java.io.Serializable;
7
+ import java.util.Collections;
8
+ import java.util.List;
9
+
10
+ /**
11
+ * A class representing a collection of notification actions.
12
+ */
13
+ public class NotificationCategory implements Parcelable, Serializable {
14
+ private final String mIdentifier;
15
+ private final List<NotificationAction> mActions;
16
+
17
+ public NotificationCategory(String identifier, List<NotificationAction> actions) {
18
+ mIdentifier = identifier;
19
+ mActions = actions;
20
+ }
21
+
22
+ private NotificationCategory(Parcel in) {
23
+ mIdentifier = in.readString();
24
+ mActions = in.readArrayList(NotificationAction.class.getClassLoader());
25
+ }
26
+
27
+ @Override
28
+ public void writeToParcel(Parcel dest, int flags) {
29
+ dest.writeString(mIdentifier);
30
+ dest.writeList(mActions);
31
+ }
32
+
33
+ @Override
34
+ public int describeContents() {
35
+ return 0;
36
+ }
37
+
38
+ public static final Creator<NotificationCategory> CREATOR = new Creator<NotificationCategory>() {
39
+ @Override
40
+ public NotificationCategory createFromParcel(Parcel in) {
41
+ return new NotificationCategory(in);
42
+ }
43
+
44
+ @Override
45
+ public NotificationCategory[] newArray(int size) {
46
+ return new NotificationCategory[size];
47
+ }
48
+ };
49
+
50
+ public String getIdentifier() {
51
+ return mIdentifier;
52
+ }
53
+
54
+ public List<NotificationAction> getActions() {
55
+ if (mActions == null) {
56
+ return Collections.emptyList();
57
+ }
58
+ return mActions;
59
+ }
60
+
61
+ }
@@ -0,0 +1,356 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.net.Uri;
4
+ import android.os.Parcel;
5
+ import android.os.Parcelable;
6
+
7
+ import org.json.JSONException;
8
+ import org.json.JSONObject;
9
+
10
+ import java.io.IOException;
11
+ import java.io.ObjectStreamException;
12
+ import java.io.Serializable;
13
+
14
+ import androidx.annotation.Nullable;
15
+
16
+ import expo.modules.notifications.notifications.enums.NotificationPriority;
17
+
18
+ /**
19
+ * A POJO representing a notification content: title, message, body, etc. Instances
20
+ * should be created using {@link NotificationContent.Builder}.
21
+ */
22
+ public class NotificationContent implements Parcelable, Serializable {
23
+ private String mTitle;
24
+ private String mText;
25
+ private String mSubtitle;
26
+ private Number mBadgeCount;
27
+ private boolean mShouldPlayDefaultSound;
28
+ private Uri mSound;
29
+ private boolean mShouldUseDefaultVibrationPattern;
30
+ private long[] mVibrationPattern;
31
+ private JSONObject mBody;
32
+ private NotificationPriority mPriority;
33
+ private Number mColor;
34
+ private boolean mAutoDismiss;
35
+ private String mCategoryId;
36
+ private boolean mSticky;
37
+
38
+ protected NotificationContent() {
39
+ }
40
+
41
+ public static final Creator<NotificationContent> CREATOR = new Creator<NotificationContent>() {
42
+ @Override
43
+ public NotificationContent createFromParcel(Parcel in) {
44
+ return new NotificationContent(in);
45
+ }
46
+
47
+ @Override
48
+ public NotificationContent[] newArray(int size) {
49
+ return new NotificationContent[size];
50
+ }
51
+ };
52
+
53
+ @Nullable
54
+ public String getTitle() {
55
+ return mTitle;
56
+ }
57
+
58
+ @Nullable
59
+ public String getText() {
60
+ return mText;
61
+ }
62
+
63
+ @Nullable
64
+ public String getSubtitle() {
65
+ return mSubtitle;
66
+ }
67
+
68
+ @Nullable
69
+ public Number getBadgeCount() {
70
+ return mBadgeCount;
71
+ }
72
+
73
+ public boolean shouldPlayDefaultSound() {
74
+ return mShouldPlayDefaultSound;
75
+ }
76
+
77
+ @Nullable
78
+ public Uri getSound() {
79
+ return mSound;
80
+ }
81
+
82
+ public boolean shouldUseDefaultVibrationPattern() {
83
+ return mShouldUseDefaultVibrationPattern;
84
+ }
85
+
86
+ @Nullable
87
+ public long[] getVibrationPattern() {
88
+ return mVibrationPattern;
89
+ }
90
+
91
+ @Nullable
92
+ public JSONObject getBody() {
93
+ return mBody;
94
+ }
95
+
96
+ @Nullable
97
+ public NotificationPriority getPriority() {
98
+ return mPriority;
99
+ }
100
+
101
+ @Nullable
102
+ public Number getColor() {
103
+ return mColor;
104
+ }
105
+
106
+ public boolean isAutoDismiss() {
107
+ return mAutoDismiss;
108
+ }
109
+
110
+ public String getCategoryId() {
111
+ return mCategoryId;
112
+ }
113
+
114
+ public boolean isSticky() {
115
+ return mSticky;
116
+ }
117
+
118
+ @Override
119
+ public int describeContents() {
120
+ return 0;
121
+ }
122
+
123
+ protected NotificationContent(Parcel in) {
124
+ mTitle = in.readString();
125
+ mText = in.readString();
126
+ mSubtitle = in.readString();
127
+ mBadgeCount = (Number) in.readSerializable();
128
+ mShouldPlayDefaultSound = in.readByte() != 0;
129
+ mSound = in.readParcelable(getClass().getClassLoader());
130
+ mShouldUseDefaultVibrationPattern = in.readByte() != 0;
131
+ mVibrationPattern = in.createLongArray();
132
+ try {
133
+ mBody = new JSONObject(in.readString());
134
+ } catch (JSONException | NullPointerException e) {
135
+ // do nothing
136
+ }
137
+ Number priorityNumber = (Number) in.readSerializable();
138
+ if (priorityNumber != null) {
139
+ mPriority = NotificationPriority.fromNativeValue(priorityNumber.intValue());
140
+ }
141
+ mColor = (Number) in.readSerializable();
142
+ mAutoDismiss = in.readByte() == 1;
143
+ mCategoryId = in.readString();
144
+ mSticky = in.readByte() == 1;
145
+ }
146
+
147
+ @Override
148
+ public void writeToParcel(Parcel dest, int flags) {
149
+ dest.writeString(mTitle);
150
+ dest.writeString(mText);
151
+ dest.writeString(mSubtitle);
152
+ dest.writeSerializable(mBadgeCount);
153
+ dest.writeByte((byte) (mShouldPlayDefaultSound ? 1 : 0));
154
+ dest.writeParcelable(mSound, 0);
155
+ dest.writeByte((byte) (mShouldUseDefaultVibrationPattern ? 1 : 0));
156
+ dest.writeLongArray(mVibrationPattern);
157
+ dest.writeString(mBody != null ? mBody.toString() : null);
158
+ dest.writeSerializable(mPriority != null ? mPriority.getNativeValue() : null);
159
+ dest.writeSerializable(mColor);
160
+ dest.writeByte((byte) (mAutoDismiss ? 1 : 0));
161
+ dest.writeString(mCategoryId);
162
+ dest.writeByte((byte) (mSticky ? 1 : 0));
163
+ }
164
+
165
+ // EXPONOTIFCONTENT02
166
+ private static final long serialVersionUID = 397666843266836802L;
167
+
168
+ private void writeObject(java.io.ObjectOutputStream out) throws IOException {
169
+ out.writeObject(mTitle);
170
+ out.writeObject(mText);
171
+ out.writeObject(mSubtitle);
172
+ out.writeObject(mBadgeCount);
173
+ out.writeByte(mShouldPlayDefaultSound ? 1 : 0);
174
+ out.writeObject(mSound == null ? null : mSound.toString());
175
+ out.writeByte(mShouldUseDefaultVibrationPattern ? 1 : 0);
176
+ if (mVibrationPattern == null) {
177
+ out.writeInt(-1);
178
+ } else {
179
+ out.writeInt(mVibrationPattern.length);
180
+ for (long duration : mVibrationPattern) {
181
+ out.writeLong(duration);
182
+ }
183
+ }
184
+ out.writeObject(mBody != null ? mBody.toString() : null);
185
+ out.writeObject(mPriority != null ? mPriority.getNativeValue() : null);
186
+ out.writeObject(mColor);
187
+ out.writeByte(mAutoDismiss ? 1 : 0);
188
+ out.writeObject(mCategoryId != null ? mCategoryId.toString() : null);
189
+ out.writeByte(mSticky ? 1 : 0);
190
+ }
191
+
192
+ private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
193
+ mTitle = (String) in.readObject();
194
+ mText = (String) in.readObject();
195
+ mSubtitle = (String) in.readObject();
196
+ mBadgeCount = (Number) in.readObject();
197
+ mShouldPlayDefaultSound = in.readByte() == 1;
198
+ String soundUri = (String) in.readObject();
199
+ if (soundUri == null) {
200
+ mSound = null;
201
+ } else {
202
+ mSound = Uri.parse(soundUri);
203
+ }
204
+ mShouldUseDefaultVibrationPattern = in.readByte() == 1;
205
+ int vibrationPatternLength = in.readInt();
206
+ if (vibrationPatternLength < 0) {
207
+ mVibrationPattern = null;
208
+ } else {
209
+ mVibrationPattern = new long[vibrationPatternLength];
210
+ for (int i = 0; i < vibrationPatternLength; i++) {
211
+ mVibrationPattern[i] = in.readLong();
212
+ }
213
+ }
214
+ String bodyString = (String) in.readObject();
215
+ if (bodyString == null) {
216
+ mBody = null;
217
+ } else {
218
+ try {
219
+ mBody = new JSONObject(bodyString);
220
+ } catch (JSONException | NullPointerException e) {
221
+ // do nothing
222
+ }
223
+ }
224
+ Number priorityNumber = (Number) in.readObject();
225
+ if (priorityNumber != null) {
226
+ mPriority = NotificationPriority.fromNativeValue(priorityNumber.intValue());
227
+ }
228
+ mColor = (Number) in.readObject();
229
+ mAutoDismiss = in.readByte() == 1;
230
+ String categoryIdString = (String) in.readObject();
231
+ if (categoryIdString == null) {
232
+ mCategoryId = null;
233
+ } else {
234
+ mCategoryId = new String(categoryIdString);
235
+ }
236
+ mSticky = in.readByte() == 1;
237
+ }
238
+
239
+ private void readObjectNoData() throws ObjectStreamException {
240
+ }
241
+
242
+ public static class Builder {
243
+ private String mTitle;
244
+ private String mText;
245
+ private String mSubtitle;
246
+ private Number mBadgeCount;
247
+ private boolean mShouldPlayDefaultSound;
248
+ private Uri mSound;
249
+ private boolean mShouldUseDefaultVibrationPattern;
250
+ private long[] mVibrationPattern;
251
+ private JSONObject mBody;
252
+ private NotificationPriority mPriority;
253
+ private Number mColor;
254
+ private boolean mAutoDismiss;
255
+ private String mCategoryId;
256
+ private boolean mSticky;
257
+
258
+ public Builder() {
259
+ useDefaultSound();
260
+ useDefaultVibrationPattern();
261
+ }
262
+
263
+ public Builder setTitle(String title) {
264
+ mTitle = title;
265
+ return this;
266
+ }
267
+
268
+ public Builder setSubtitle(String subtitle) {
269
+ mSubtitle = subtitle;
270
+ return this;
271
+ }
272
+
273
+ public Builder setText(String text) {
274
+ mText = text;
275
+ return this;
276
+ }
277
+
278
+ public Builder setBody(JSONObject body) {
279
+ mBody = body;
280
+ return this;
281
+ }
282
+
283
+ public Builder setPriority(NotificationPriority priority) {
284
+ mPriority = priority;
285
+ return this;
286
+ }
287
+
288
+ public Builder setBadgeCount(Number badgeCount) {
289
+ mBadgeCount = badgeCount;
290
+ return this;
291
+ }
292
+
293
+ public Builder useDefaultVibrationPattern() {
294
+ mShouldUseDefaultVibrationPattern = true;
295
+ mVibrationPattern = null;
296
+ return this;
297
+ }
298
+
299
+ public Builder setVibrationPattern(long[] vibrationPattern) {
300
+ mShouldUseDefaultVibrationPattern = false;
301
+ mVibrationPattern = vibrationPattern;
302
+ return this;
303
+ }
304
+
305
+ public Builder useDefaultSound() {
306
+ mShouldPlayDefaultSound = true;
307
+ mSound = null;
308
+ return this;
309
+ }
310
+
311
+ public Builder setSound(Uri sound) {
312
+ mShouldPlayDefaultSound = false;
313
+ mSound = sound;
314
+ return this;
315
+ }
316
+
317
+ public Builder setColor(Number color) {
318
+ mColor = color;
319
+ return this;
320
+ }
321
+
322
+ public Builder setAutoDismiss(boolean autoDismiss) {
323
+ mAutoDismiss = autoDismiss;
324
+ return this;
325
+ }
326
+
327
+ public Builder setCategoryId(String categoryId) {
328
+ mCategoryId = categoryId;
329
+ return this;
330
+ }
331
+
332
+ public Builder setSticky(boolean sticky) {
333
+ mSticky = sticky;
334
+ return this;
335
+ }
336
+
337
+ public NotificationContent build() {
338
+ NotificationContent content = new NotificationContent();
339
+ content.mTitle = mTitle;
340
+ content.mSubtitle = mSubtitle;
341
+ content.mText = mText;
342
+ content.mBadgeCount = mBadgeCount;
343
+ content.mShouldUseDefaultVibrationPattern = mShouldUseDefaultVibrationPattern;
344
+ content.mVibrationPattern = mVibrationPattern;
345
+ content.mShouldPlayDefaultSound = mShouldPlayDefaultSound;
346
+ content.mSound = mSound;
347
+ content.mBody = mBody;
348
+ content.mPriority = mPriority;
349
+ content.mColor = mColor;
350
+ content.mAutoDismiss = mAutoDismiss;
351
+ content.mCategoryId = mCategoryId;
352
+ content.mSticky = mSticky;
353
+ return content;
354
+ }
355
+ }
356
+ }
@@ -0,0 +1,66 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+ import android.os.Parcelable;
5
+
6
+ import java.io.Serializable;
7
+
8
+ import expo.modules.notifications.notifications.interfaces.NotificationTrigger;
9
+
10
+ /**
11
+ * A class representing notification request. A notification request has some content {@link #mContent},
12
+ * is triggered by some {@link #mTrigger} and is identifiable by {@link #mIdentifier}.
13
+ */
14
+ public class NotificationRequest implements Parcelable, Serializable {
15
+ private String mIdentifier;
16
+ private NotificationContent mContent;
17
+ private NotificationTrigger mTrigger;
18
+
19
+ public NotificationRequest(String identifier, NotificationContent content, NotificationTrigger trigger) {
20
+ mIdentifier = identifier;
21
+ mContent = content;
22
+ mTrigger = trigger;
23
+ }
24
+
25
+ public NotificationContent getContent() {
26
+ return mContent;
27
+ }
28
+
29
+ public String getIdentifier() {
30
+ return mIdentifier;
31
+ }
32
+
33
+ public NotificationTrigger getTrigger() {
34
+ return mTrigger;
35
+ }
36
+
37
+ protected NotificationRequest(Parcel in) {
38
+ mIdentifier = in.readString();
39
+ mContent = in.readParcelable(getClass().getClassLoader());
40
+ mTrigger = in.readParcelable(getClass().getClassLoader());
41
+ }
42
+
43
+ public static final Creator<NotificationRequest> CREATOR = new Creator<NotificationRequest>() {
44
+ @Override
45
+ public NotificationRequest createFromParcel(Parcel in) {
46
+ return new NotificationRequest(in);
47
+ }
48
+
49
+ @Override
50
+ public NotificationRequest[] newArray(int size) {
51
+ return new NotificationRequest[size];
52
+ }
53
+ };
54
+
55
+ @Override
56
+ public int describeContents() {
57
+ return 0;
58
+ }
59
+
60
+ @Override
61
+ public void writeToParcel(Parcel dest, int flags) {
62
+ dest.writeString(mIdentifier);
63
+ dest.writeParcelable(mContent, 0);
64
+ dest.writeParcelable(mTrigger, 0);
65
+ }
66
+ }
@@ -0,0 +1,60 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+ import android.os.Parcelable;
5
+
6
+ /**
7
+ * A POJO representing user's response to a notification. It may be a default action,
8
+ * i.e. a tap on the notification ({@link #DEFAULT_ACTION_IDENTIFIER}).
9
+ */
10
+ public class NotificationResponse implements Parcelable {
11
+ public static final String DEFAULT_ACTION_IDENTIFIER = "expo.modules.notifications.actions.DEFAULT";
12
+
13
+ private NotificationAction mAction;
14
+ private Notification mNotification;
15
+
16
+ public NotificationResponse(NotificationAction action, Notification notification) {
17
+ mAction = action;
18
+ mNotification = notification;
19
+ }
20
+
21
+ public NotificationAction getAction() {
22
+ return mAction;
23
+ }
24
+
25
+ public String getActionIdentifier() {
26
+ return mAction.getIdentifier();
27
+ }
28
+
29
+ public Notification getNotification() {
30
+ return mNotification;
31
+ }
32
+
33
+ public static final Creator<NotificationResponse> CREATOR = new Creator<NotificationResponse>() {
34
+ @Override
35
+ public NotificationResponse createFromParcel(Parcel in) {
36
+ return new NotificationResponse(in);
37
+ }
38
+
39
+ @Override
40
+ public NotificationResponse[] newArray(int size) {
41
+ return new NotificationResponse[size];
42
+ }
43
+ };
44
+
45
+ @Override
46
+ public int describeContents() {
47
+ return 0;
48
+ }
49
+
50
+ protected NotificationResponse(Parcel in) {
51
+ mAction = in.readParcelable(getClass().getClassLoader());
52
+ mNotification = in.readParcelable(getClass().getClassLoader());
53
+ }
54
+
55
+ @Override
56
+ public void writeToParcel(Parcel dest, int flags) {
57
+ dest.writeParcelable(mAction, 0);
58
+ dest.writeParcelable(mNotification, 0);
59
+ }
60
+ }
@@ -0,0 +1,42 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+
5
+ /**
6
+ * A class representing a single direct reply notification action.
7
+ */
8
+ public class TextInputNotificationAction extends NotificationAction {
9
+ private final String mPlaceholder;
10
+
11
+ public TextInputNotificationAction(String identifier, String title, boolean opensAppToForeground, String placeholder) {
12
+ super(identifier, title, opensAppToForeground);
13
+ mPlaceholder = placeholder;
14
+ }
15
+
16
+ private TextInputNotificationAction(Parcel in) {
17
+ super(in);
18
+ mPlaceholder = in.readString();
19
+ }
20
+
21
+ @Override
22
+ public void writeToParcel(Parcel dest, int flags) {
23
+ super.writeToParcel(dest, flags);
24
+ dest.writeString(mPlaceholder);
25
+ }
26
+
27
+ public static final Creator<TextInputNotificationAction> CREATOR = new Creator<TextInputNotificationAction>() {
28
+ @Override
29
+ public TextInputNotificationAction createFromParcel(Parcel in) {
30
+ return new TextInputNotificationAction(in);
31
+ }
32
+
33
+ @Override
34
+ public TextInputNotificationAction[] newArray(int size) {
35
+ return new TextInputNotificationAction[size];
36
+ }
37
+ };
38
+
39
+ public String getPlaceholder() {
40
+ return mPlaceholder;
41
+ }
42
+ }
@@ -0,0 +1,42 @@
1
+ package expo.modules.notifications.notifications.model;
2
+
3
+ import android.os.Parcel;
4
+
5
+ /**
6
+ * A POJO representing user's response to a text input notification action
7
+ */
8
+ public class TextInputNotificationResponse extends NotificationResponse {
9
+ private String mUserText;
10
+
11
+ public TextInputNotificationResponse(NotificationAction action, Notification notification, String userText) {
12
+ super(action, notification);
13
+ mUserText = userText;
14
+ }
15
+
16
+ public String getUserText() {
17
+ return mUserText;
18
+ }
19
+
20
+ public static final Creator<TextInputNotificationResponse> CREATOR = new Creator<TextInputNotificationResponse>() {
21
+ @Override
22
+ public TextInputNotificationResponse createFromParcel(Parcel in) {
23
+ return new TextInputNotificationResponse(in);
24
+ }
25
+
26
+ @Override
27
+ public TextInputNotificationResponse[] newArray(int size) {
28
+ return new TextInputNotificationResponse[size];
29
+ }
30
+ };
31
+
32
+ protected TextInputNotificationResponse(Parcel in) {
33
+ super(in);
34
+ mUserText = in.readString();
35
+ }
36
+
37
+ @Override
38
+ public void writeToParcel(Parcel dest, int flags) {
39
+ super.writeToParcel(dest, flags);
40
+ dest.writeString(mUserText);
41
+ }
42
+ }