@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.
- package/.eslintrc.js +2 -0
- package/CHANGELOG.md +478 -0
- package/LICENSE +7 -0
- package/README.kepler.md +3 -0
- package/README.md +2003 -0
- package/THIRD_PARTY_NOTICES.txt +4 -0
- package/android/build.gradle +125 -0
- package/android/src/main/AndroidManifest.xml +39 -0
- package/android/src/main/java/expo/modules/notifications/Exceptions.kt +22 -0
- package/android/src/main/java/expo/modules/notifications/NotificationsPackage.java +34 -0
- package/android/src/main/java/expo/modules/notifications/Utils.kt +19 -0
- package/android/src/main/java/expo/modules/notifications/badge/BadgeHelper.kt +24 -0
- package/android/src/main/java/expo/modules/notifications/badge/BadgeModule.kt +22 -0
- package/android/src/main/java/expo/modules/notifications/notifications/ArgumentsNotificationContentBuilder.java +149 -0
- package/android/src/main/java/expo/modules/notifications/notifications/JSONNotificationContentBuilder.java +203 -0
- package/android/src/main/java/expo/modules/notifications/notifications/NotificationManager.java +119 -0
- package/android/src/main/java/expo/modules/notifications/notifications/NotificationSerializer.java +202 -0
- package/android/src/main/java/expo/modules/notifications/notifications/RemoteMessageSerializer.java +104 -0
- package/android/src/main/java/expo/modules/notifications/notifications/SoundResolver.java +58 -0
- package/android/src/main/java/expo/modules/notifications/notifications/background/BackgroundRemoteNotificationTaskConsumer.java +123 -0
- package/android/src/main/java/expo/modules/notifications/notifications/background/ExpoBackgroundNotificationTasksModule.kt +33 -0
- package/android/src/main/java/expo/modules/notifications/notifications/categories/ExpoNotificationCategoriesModule.kt +149 -0
- package/android/src/main/java/expo/modules/notifications/notifications/categories/serializers/ExpoNotificationsCategoriesSerializer.java +67 -0
- package/android/src/main/java/expo/modules/notifications/notifications/categories/serializers/NotificationsCategoriesSerializer.java +11 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/AbstractNotificationsChannelsProvider.java +81 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/AndroidXNotificationsChannelsProvider.java +38 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/InvalidVibrationPatternException.java +14 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelGroupManagerModule.kt +70 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelManagerModule.kt +83 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationsChannelsProvider.java +13 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/AndroidXNotificationsChannelGroupManager.java +67 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/AndroidXNotificationsChannelManager.java +196 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/NotificationsChannelGroupManager.java +28 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/managers/NotificationsChannelManager.java +28 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/ExpoNotificationsChannelGroupSerializer.java +55 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/ExpoNotificationsChannelSerializer.java +101 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/NotificationsChannelGroupSerializer.java +20 -0
- package/android/src/main/java/expo/modules/notifications/notifications/channels/serializers/NotificationsChannelSerializer.java +35 -0
- package/android/src/main/java/expo/modules/notifications/notifications/emitting/NotificationsEmitter.kt +78 -0
- package/android/src/main/java/expo/modules/notifications/notifications/enums/AudioContentType.java +45 -0
- package/android/src/main/java/expo/modules/notifications/notifications/enums/AudioUsage.java +55 -0
- package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationImportance.java +48 -0
- package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationPriority.java +51 -0
- package/android/src/main/java/expo/modules/notifications/notifications/enums/NotificationVisibility.java +44 -0
- package/android/src/main/java/expo/modules/notifications/notifications/handling/NotificationsHandler.kt +127 -0
- package/android/src/main/java/expo/modules/notifications/notifications/handling/SingleNotificationHandlerTask.java +131 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationBuilder.java +35 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationListener.java +37 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationManager.java +22 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationPresentationEffect.java +11 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationPresentationEffectsManager.java +7 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/NotificationTrigger.java +19 -0
- package/android/src/main/java/expo/modules/notifications/notifications/interfaces/SchedulableNotificationTrigger.java +20 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/Notification.java +59 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationAction.java +63 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationBehavior.java +84 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationCategory.java +61 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java +356 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationRequest.java +66 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationResponse.java +60 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/TextInputNotificationAction.java +42 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/TextInputNotificationResponse.java +42 -0
- package/android/src/main/java/expo/modules/notifications/notifications/model/triggers/FirebaseNotificationTrigger.java +61 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationEffectsManager.java +63 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationModule.kt +113 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/BaseNotificationBuilder.java +50 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/CategoryAwareNotificationBuilder.java +80 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ChannelAwareNotificationBuilder.java +135 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java +295 -0
- package/android/src/main/java/expo/modules/notifications/notifications/presentation/effects/BaseNotificationEffect.java +53 -0
- package/android/src/main/java/expo/modules/notifications/notifications/scheduling/NotificationScheduler.kt +235 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/ChannelAwareTrigger.java +49 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/DailyTrigger.java +76 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/DateTrigger.java +64 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/TimeIntervalTrigger.java +87 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/WeeklyTrigger.java +85 -0
- package/android/src/main/java/expo/modules/notifications/notifications/triggers/YearlyTrigger.java +94 -0
- package/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt +124 -0
- package/android/src/main/java/expo/modules/notifications/serverregistration/InstallationId.java +134 -0
- package/android/src/main/java/expo/modules/notifications/serverregistration/RegistrationInfo.kt +24 -0
- package/android/src/main/java/expo/modules/notifications/serverregistration/ServerRegistrationModule.kt +32 -0
- package/android/src/main/java/expo/modules/notifications/service/ExpoFirebaseMessagingService.kt +15 -0
- package/android/src/main/java/expo/modules/notifications/service/NotificationForwarderActivity.kt +33 -0
- package/android/src/main/java/expo/modules/notifications/service/NotificationsService.kt +780 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/Base64Serialization.kt +33 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoCategoriesDelegate.kt +21 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoHandlingDelegate.kt +146 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoPresentationDelegate.kt +193 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/ExpoSchedulingDelegate.kt +117 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt +126 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/SharedPreferencesNotificationCategoriesStore.kt +106 -0
- package/android/src/main/java/expo/modules/notifications/service/delegates/SharedPreferencesNotificationsStore.kt +119 -0
- package/android/src/main/java/expo/modules/notifications/service/interfaces/CategoriesDelegate.kt +14 -0
- package/android/src/main/java/expo/modules/notifications/service/interfaces/FirebaseMessagingDelegate.kt +20 -0
- package/android/src/main/java/expo/modules/notifications/service/interfaces/HandlingDelegate.kt +10 -0
- package/android/src/main/java/expo/modules/notifications/service/interfaces/PresentationDelegate.kt +11 -0
- package/android/src/main/java/expo/modules/notifications/service/interfaces/SchedulingDelegate.kt +13 -0
- package/android/src/main/java/expo/modules/notifications/tokens/PushTokenManager.java +88 -0
- package/android/src/main/java/expo/modules/notifications/tokens/PushTokenModule.kt +91 -0
- package/android/src/main/java/expo/modules/notifications/tokens/interfaces/FirebaseTokenListener.java +16 -0
- package/android/src/main/java/expo/modules/notifications/tokens/interfaces/PushTokenListener.java +14 -0
- package/android/src/main/java/expo/modules/notifications/tokens/interfaces/PushTokenManager.java +22 -0
- package/android/src/main/res/values/strings.xml +4 -0
- package/app.plugin.js +1 -0
- package/build/BackgroundNotificationTasksModule.d.ts +4 -0
- package/build/BackgroundNotificationTasksModule.d.ts.map +1 -0
- package/build/BackgroundNotificationTasksModule.js +7 -0
- package/build/BackgroundNotificationTasksModule.js.map +1 -0
- package/build/BackgroundNotificationTasksModule.kepler.d.ts +3 -0
- package/build/BackgroundNotificationTasksModule.kepler.d.ts.map +1 -0
- package/build/BackgroundNotificationTasksModule.kepler.js +9 -0
- package/build/BackgroundNotificationTasksModule.kepler.js.map +1 -0
- package/build/BackgroundNotificationTasksModule.native.d.ts +4 -0
- package/build/BackgroundNotificationTasksModule.native.d.ts.map +1 -0
- package/build/BackgroundNotificationTasksModule.native.js +3 -0
- package/build/BackgroundNotificationTasksModule.native.js.map +1 -0
- package/build/BackgroundNotificationTasksModule.types.d.ts +11 -0
- package/build/BackgroundNotificationTasksModule.types.d.ts.map +1 -0
- package/build/BackgroundNotificationTasksModule.types.js +7 -0
- package/build/BackgroundNotificationTasksModule.types.js.map +1 -0
- package/build/BackgroundNotificationTasksModule.web.d.ts +6 -0
- package/build/BackgroundNotificationTasksModule.web.d.ts.map +1 -0
- package/build/BackgroundNotificationTasksModule.web.js +9 -0
- package/build/BackgroundNotificationTasksModule.web.js.map +1 -0
- package/build/BadgeModule.d.ts +4 -0
- package/build/BadgeModule.d.ts.map +1 -0
- package/build/BadgeModule.js +5 -0
- package/build/BadgeModule.js.map +1 -0
- package/build/BadgeModule.kepler.d.ts +3 -0
- package/build/BadgeModule.kepler.d.ts.map +1 -0
- package/build/BadgeModule.kepler.js +9 -0
- package/build/BadgeModule.kepler.js.map +1 -0
- package/build/BadgeModule.native.d.ts +4 -0
- package/build/BadgeModule.native.d.ts.map +1 -0
- package/build/BadgeModule.native.js +12 -0
- package/build/BadgeModule.native.js.map +1 -0
- package/build/BadgeModule.types.d.ts +10 -0
- package/build/BadgeModule.types.d.ts.map +1 -0
- package/build/BadgeModule.types.js +2 -0
- package/build/BadgeModule.types.js.map +1 -0
- package/build/BadgeModule.web.d.ts +4 -0
- package/build/BadgeModule.web.d.ts.map +1 -0
- package/build/BadgeModule.web.js +26 -0
- package/build/BadgeModule.web.js.map +1 -0
- package/build/DevicePushTokenAutoRegistration.fx.d.ts +15 -0
- package/build/DevicePushTokenAutoRegistration.fx.d.ts.map +1 -0
- package/build/DevicePushTokenAutoRegistration.fx.js +87 -0
- package/build/DevicePushTokenAutoRegistration.fx.js.map +1 -0
- package/build/NotificationCategoriesModule.d.ts +4 -0
- package/build/NotificationCategoriesModule.d.ts.map +1 -0
- package/build/NotificationCategoriesModule.js +13 -0
- package/build/NotificationCategoriesModule.js.map +1 -0
- package/build/NotificationCategoriesModule.kepler.d.ts +3 -0
- package/build/NotificationCategoriesModule.kepler.d.ts.map +1 -0
- package/build/NotificationCategoriesModule.kepler.js +10 -0
- package/build/NotificationCategoriesModule.kepler.js.map +1 -0
- package/build/NotificationCategoriesModule.native.d.ts +4 -0
- package/build/NotificationCategoriesModule.native.d.ts.map +1 -0
- package/build/NotificationCategoriesModule.native.js +3 -0
- package/build/NotificationCategoriesModule.native.js.map +1 -0
- package/build/NotificationCategoriesModule.types.d.ts +17 -0
- package/build/NotificationCategoriesModule.types.d.ts.map +1 -0
- package/build/NotificationCategoriesModule.types.js +2 -0
- package/build/NotificationCategoriesModule.types.js.map +1 -0
- package/build/NotificationCategoriesModule.web.d.ts +8 -0
- package/build/NotificationCategoriesModule.web.d.ts.map +1 -0
- package/build/NotificationCategoriesModule.web.js +12 -0
- package/build/NotificationCategoriesModule.web.js.map +1 -0
- package/build/NotificationChannelGroupManager.d.ts +4 -0
- package/build/NotificationChannelGroupManager.d.ts.map +1 -0
- package/build/NotificationChannelGroupManager.js +5 -0
- package/build/NotificationChannelGroupManager.js.map +1 -0
- package/build/NotificationChannelGroupManager.kepler.d.ts +3 -0
- package/build/NotificationChannelGroupManager.kepler.d.ts.map +1 -0
- package/build/NotificationChannelGroupManager.kepler.js +9 -0
- package/build/NotificationChannelGroupManager.kepler.js.map +1 -0
- package/build/NotificationChannelGroupManager.native.d.ts +4 -0
- package/build/NotificationChannelGroupManager.native.d.ts.map +1 -0
- package/build/NotificationChannelGroupManager.native.js +3 -0
- package/build/NotificationChannelGroupManager.native.js.map +1 -0
- package/build/NotificationChannelGroupManager.types.d.ts +28 -0
- package/build/NotificationChannelGroupManager.types.d.ts.map +1 -0
- package/build/NotificationChannelGroupManager.types.js +2 -0
- package/build/NotificationChannelGroupManager.types.js.map +1 -0
- package/build/NotificationChannelManager.d.ts +4 -0
- package/build/NotificationChannelManager.d.ts.map +1 -0
- package/build/NotificationChannelManager.js +5 -0
- package/build/NotificationChannelManager.js.map +1 -0
- package/build/NotificationChannelManager.kepler.d.ts +3 -0
- package/build/NotificationChannelManager.kepler.d.ts.map +1 -0
- package/build/NotificationChannelManager.kepler.js +9 -0
- package/build/NotificationChannelManager.kepler.js.map +1 -0
- package/build/NotificationChannelManager.native.d.ts +4 -0
- package/build/NotificationChannelManager.native.d.ts.map +1 -0
- package/build/NotificationChannelManager.native.js +3 -0
- package/build/NotificationChannelManager.native.js.map +1 -0
- package/build/NotificationChannelManager.types.d.ts +91 -0
- package/build/NotificationChannelManager.types.d.ts.map +1 -0
- package/build/NotificationChannelManager.types.js +53 -0
- package/build/NotificationChannelManager.types.js.map +1 -0
- package/build/NotificationPermissions.d.ts +56 -0
- package/build/NotificationPermissions.d.ts.map +1 -0
- package/build/NotificationPermissions.js +79 -0
- package/build/NotificationPermissions.js.map +1 -0
- package/build/NotificationPermissions.types.d.ts +94 -0
- package/build/NotificationPermissions.types.d.ts.map +1 -0
- package/build/NotificationPermissions.types.js +21 -0
- package/build/NotificationPermissions.types.js.map +1 -0
- package/build/NotificationPermissionsModule.d.ts +4 -0
- package/build/NotificationPermissionsModule.d.ts.map +1 -0
- package/build/NotificationPermissionsModule.js +67 -0
- package/build/NotificationPermissionsModule.js.map +1 -0
- package/build/NotificationPermissionsModule.kepler.d.ts +3 -0
- package/build/NotificationPermissionsModule.kepler.d.ts.map +1 -0
- package/build/NotificationPermissionsModule.kepler.js +9 -0
- package/build/NotificationPermissionsModule.kepler.js.map +1 -0
- package/build/NotificationPermissionsModule.native.d.ts +4 -0
- package/build/NotificationPermissionsModule.native.d.ts.map +1 -0
- package/build/NotificationPermissionsModule.native.js +3 -0
- package/build/NotificationPermissionsModule.native.js.map +1 -0
- package/build/NotificationPermissionsModule.types.d.ts +7 -0
- package/build/NotificationPermissionsModule.types.d.ts.map +1 -0
- package/build/NotificationPermissionsModule.types.js +2 -0
- package/build/NotificationPermissionsModule.types.js.map +1 -0
- package/build/NotificationPresenterModule.d.ts +4 -0
- package/build/NotificationPresenterModule.d.ts.map +1 -0
- package/build/NotificationPresenterModule.js +5 -0
- package/build/NotificationPresenterModule.js.map +1 -0
- package/build/NotificationPresenterModule.kepler.d.ts +4 -0
- package/build/NotificationPresenterModule.kepler.d.ts.map +1 -0
- package/build/NotificationPresenterModule.kepler.js +55 -0
- package/build/NotificationPresenterModule.kepler.js.map +1 -0
- package/build/NotificationPresenterModule.native.d.ts +4 -0
- package/build/NotificationPresenterModule.native.d.ts.map +1 -0
- package/build/NotificationPresenterModule.native.js +3 -0
- package/build/NotificationPresenterModule.native.js.map +1 -0
- package/build/NotificationPresenterModule.types.d.ts +9 -0
- package/build/NotificationPresenterModule.types.d.ts.map +1 -0
- package/build/NotificationPresenterModule.types.js +2 -0
- package/build/NotificationPresenterModule.types.js.map +1 -0
- package/build/NotificationScheduler.d.ts +4 -0
- package/build/NotificationScheduler.d.ts.map +1 -0
- package/build/NotificationScheduler.js +5 -0
- package/build/NotificationScheduler.js.map +1 -0
- package/build/NotificationScheduler.kepler.d.ts +4 -0
- package/build/NotificationScheduler.kepler.d.ts.map +1 -0
- package/build/NotificationScheduler.kepler.js +50 -0
- package/build/NotificationScheduler.kepler.js.map +1 -0
- package/build/NotificationScheduler.native.d.ts +4 -0
- package/build/NotificationScheduler.native.d.ts.map +1 -0
- package/build/NotificationScheduler.native.js +3 -0
- package/build/NotificationScheduler.native.js.map +1 -0
- package/build/NotificationScheduler.types.d.ts +65 -0
- package/build/NotificationScheduler.types.d.ts.map +1 -0
- package/build/NotificationScheduler.types.js +2 -0
- package/build/NotificationScheduler.types.js.map +1 -0
- package/build/Notifications.types.d.ts +666 -0
- package/build/Notifications.types.d.ts.map +1 -0
- package/build/Notifications.types.js +12 -0
- package/build/Notifications.types.js.map +1 -0
- package/build/NotificationsEmitter.d.ts +75 -0
- package/build/NotificationsEmitter.d.ts.map +1 -0
- package/build/NotificationsEmitter.js +95 -0
- package/build/NotificationsEmitter.js.map +1 -0
- package/build/NotificationsEmitterModule.d.ts +4 -0
- package/build/NotificationsEmitterModule.d.ts.map +1 -0
- package/build/NotificationsEmitterModule.js +12 -0
- package/build/NotificationsEmitterModule.js.map +1 -0
- package/build/NotificationsEmitterModule.kepler.d.ts +3 -0
- package/build/NotificationsEmitterModule.kepler.d.ts.map +1 -0
- package/build/NotificationsEmitterModule.kepler.js +9 -0
- package/build/NotificationsEmitterModule.kepler.js.map +1 -0
- package/build/NotificationsEmitterModule.native.d.ts +4 -0
- package/build/NotificationsEmitterModule.native.d.ts.map +1 -0
- package/build/NotificationsEmitterModule.native.js +3 -0
- package/build/NotificationsEmitterModule.native.js.map +1 -0
- package/build/NotificationsEmitterModule.types.d.ts +6 -0
- package/build/NotificationsEmitterModule.types.d.ts.map +1 -0
- package/build/NotificationsEmitterModule.types.js +2 -0
- package/build/NotificationsEmitterModule.types.js.map +1 -0
- package/build/NotificationsHandler.d.ts +60 -0
- package/build/NotificationsHandler.d.ts.map +1 -0
- package/build/NotificationsHandler.js +72 -0
- package/build/NotificationsHandler.js.map +1 -0
- package/build/NotificationsHandlerModule.d.ts +4 -0
- package/build/NotificationsHandlerModule.d.ts.map +1 -0
- package/build/NotificationsHandlerModule.js +12 -0
- package/build/NotificationsHandlerModule.js.map +1 -0
- package/build/NotificationsHandlerModule.kepler.d.ts +3 -0
- package/build/NotificationsHandlerModule.kepler.d.ts.map +1 -0
- package/build/NotificationsHandlerModule.kepler.js +9 -0
- package/build/NotificationsHandlerModule.kepler.js.map +1 -0
- package/build/NotificationsHandlerModule.native.d.ts +4 -0
- package/build/NotificationsHandlerModule.native.d.ts.map +1 -0
- package/build/NotificationsHandlerModule.native.js +3 -0
- package/build/NotificationsHandlerModule.native.js.map +1 -0
- package/build/NotificationsHandlerModule.types.d.ts +6 -0
- package/build/NotificationsHandlerModule.types.d.ts.map +1 -0
- package/build/NotificationsHandlerModule.types.js +2 -0
- package/build/NotificationsHandlerModule.types.js.map +1 -0
- package/build/PushTokenManager.d.ts +4 -0
- package/build/PushTokenManager.d.ts.map +1 -0
- package/build/PushTokenManager.js +12 -0
- package/build/PushTokenManager.js.map +1 -0
- package/build/PushTokenManager.kepler.d.ts +3 -0
- package/build/PushTokenManager.kepler.d.ts.map +1 -0
- package/build/PushTokenManager.kepler.js +9 -0
- package/build/PushTokenManager.kepler.js.map +1 -0
- package/build/PushTokenManager.native.d.ts +4 -0
- package/build/PushTokenManager.native.d.ts.map +1 -0
- package/build/PushTokenManager.native.js +3 -0
- package/build/PushTokenManager.native.js.map +1 -0
- package/build/PushTokenManager.types.d.ts +6 -0
- package/build/PushTokenManager.types.d.ts.map +1 -0
- package/build/PushTokenManager.types.js +2 -0
- package/build/PushTokenManager.types.js.map +1 -0
- package/build/ServerRegistrationModule.d.ts +4 -0
- package/build/ServerRegistrationModule.d.ts.map +1 -0
- package/build/ServerRegistrationModule.js +5 -0
- package/build/ServerRegistrationModule.js.map +1 -0
- package/build/ServerRegistrationModule.kepler.d.ts +3 -0
- package/build/ServerRegistrationModule.kepler.d.ts.map +1 -0
- package/build/ServerRegistrationModule.kepler.js +9 -0
- package/build/ServerRegistrationModule.kepler.js.map +1 -0
- package/build/ServerRegistrationModule.native.d.ts +4 -0
- package/build/ServerRegistrationModule.native.d.ts.map +1 -0
- package/build/ServerRegistrationModule.native.js +3 -0
- package/build/ServerRegistrationModule.native.js.map +1 -0
- package/build/ServerRegistrationModule.types.d.ts +7 -0
- package/build/ServerRegistrationModule.types.d.ts.map +1 -0
- package/build/ServerRegistrationModule.types.js +2 -0
- package/build/ServerRegistrationModule.types.js.map +1 -0
- package/build/ServerRegistrationModule.web.d.ts +4 -0
- package/build/ServerRegistrationModule.web.d.ts.map +1 -0
- package/build/ServerRegistrationModule.web.js +50 -0
- package/build/ServerRegistrationModule.web.js.map +1 -0
- package/build/TokenEmitter.d.ts +42 -0
- package/build/TokenEmitter.d.ts.map +1 -0
- package/build/TokenEmitter.js +44 -0
- package/build/TokenEmitter.js.map +1 -0
- package/build/Tokens.types.d.ts +99 -0
- package/build/Tokens.types.d.ts.map +1 -0
- package/build/Tokens.types.js +2 -0
- package/build/Tokens.types.js.map +1 -0
- package/build/cancelAllScheduledNotificationsAsync.d.ts +7 -0
- package/build/cancelAllScheduledNotificationsAsync.d.ts.map +1 -0
- package/build/cancelAllScheduledNotificationsAsync.js +14 -0
- package/build/cancelAllScheduledNotificationsAsync.js.map +1 -0
- package/build/cancelScheduledNotificationAsync.d.ts +22 -0
- package/build/cancelScheduledNotificationAsync.d.ts.map +1 -0
- package/build/cancelScheduledNotificationAsync.js +29 -0
- package/build/cancelScheduledNotificationAsync.js.map +1 -0
- package/build/deleteNotificationCategoryAsync.d.ts +11 -0
- package/build/deleteNotificationCategoryAsync.d.ts.map +1 -0
- package/build/deleteNotificationCategoryAsync.js +19 -0
- package/build/deleteNotificationCategoryAsync.js.map +1 -0
- package/build/deleteNotificationChannelAsync.android.d.ts +2 -0
- package/build/deleteNotificationChannelAsync.android.d.ts.map +1 -0
- package/build/deleteNotificationChannelAsync.android.js +9 -0
- package/build/deleteNotificationChannelAsync.android.js.map +1 -0
- package/build/deleteNotificationChannelAsync.d.ts +9 -0
- package/build/deleteNotificationChannelAsync.d.ts.map +1 -0
- package/build/deleteNotificationChannelAsync.js +11 -0
- package/build/deleteNotificationChannelAsync.js.map +1 -0
- package/build/deleteNotificationChannelGroupAsync.android.d.ts +2 -0
- package/build/deleteNotificationChannelGroupAsync.android.d.ts.map +1 -0
- package/build/deleteNotificationChannelGroupAsync.android.js +9 -0
- package/build/deleteNotificationChannelGroupAsync.android.js.map +1 -0
- package/build/deleteNotificationChannelGroupAsync.d.ts +9 -0
- package/build/deleteNotificationChannelGroupAsync.d.ts.map +1 -0
- package/build/deleteNotificationChannelGroupAsync.js +11 -0
- package/build/deleteNotificationChannelGroupAsync.js.map +1 -0
- package/build/dismissAllNotificationsAsync.d.ts +7 -0
- package/build/dismissAllNotificationsAsync.d.ts.map +1 -0
- package/build/dismissAllNotificationsAsync.js +14 -0
- package/build/dismissAllNotificationsAsync.js.map +1 -0
- package/build/dismissNotificationAsync.d.ts +8 -0
- package/build/dismissNotificationAsync.d.ts.map +1 -0
- package/build/dismissNotificationAsync.js +15 -0
- package/build/dismissNotificationAsync.js.map +1 -0
- package/build/getAllScheduledNotificationsAsync.d.ts +8 -0
- package/build/getAllScheduledNotificationsAsync.d.ts.map +1 -0
- package/build/getAllScheduledNotificationsAsync.js +14 -0
- package/build/getAllScheduledNotificationsAsync.js.map +1 -0
- package/build/getBadgeCountAsync.d.ts +8 -0
- package/build/getBadgeCountAsync.d.ts.map +1 -0
- package/build/getBadgeCountAsync.js +15 -0
- package/build/getBadgeCountAsync.js.map +1 -0
- package/build/getDevicePushTokenAsync.d.ts +8 -0
- package/build/getDevicePushTokenAsync.d.ts.map +1 -0
- package/build/getDevicePushTokenAsync.js +27 -0
- package/build/getDevicePushTokenAsync.js.map +1 -0
- package/build/getDevicePushTokenAsync.web.d.ts +3 -0
- package/build/getDevicePushTokenAsync.web.d.ts.map +1 -0
- package/build/getDevicePushTokenAsync.web.js +84 -0
- package/build/getDevicePushTokenAsync.web.js.map +1 -0
- package/build/getExpoPushTokenAsync.d.ts +40 -0
- package/build/getExpoPushTokenAsync.d.ts.map +1 -0
- package/build/getExpoPushTokenAsync.js +177 -0
- package/build/getExpoPushTokenAsync.js.map +1 -0
- package/build/getNextTriggerDateAsync.d.ts +26 -0
- package/build/getNextTriggerDateAsync.d.ts.map +1 -0
- package/build/getNextTriggerDateAsync.js +33 -0
- package/build/getNextTriggerDateAsync.js.map +1 -0
- package/build/getNotificationCategoriesAsync.d.ts +11 -0
- package/build/getNotificationCategoriesAsync.d.ts.map +1 -0
- package/build/getNotificationCategoriesAsync.js +18 -0
- package/build/getNotificationCategoriesAsync.js.map +1 -0
- package/build/getNotificationChannelAsync.android.d.ts +3 -0
- package/build/getNotificationChannelAsync.android.d.ts.map +1 -0
- package/build/getNotificationChannelAsync.android.js +9 -0
- package/build/getNotificationChannelAsync.android.js.map +1 -0
- package/build/getNotificationChannelAsync.d.ts +11 -0
- package/build/getNotificationChannelAsync.d.ts.map +1 -0
- package/build/getNotificationChannelAsync.js +13 -0
- package/build/getNotificationChannelAsync.js.map +1 -0
- package/build/getNotificationChannelGroupAsync.android.d.ts +3 -0
- package/build/getNotificationChannelGroupAsync.android.d.ts.map +1 -0
- package/build/getNotificationChannelGroupAsync.android.js +9 -0
- package/build/getNotificationChannelGroupAsync.android.js.map +1 -0
- package/build/getNotificationChannelGroupAsync.d.ts +12 -0
- package/build/getNotificationChannelGroupAsync.d.ts.map +1 -0
- package/build/getNotificationChannelGroupAsync.js +14 -0
- package/build/getNotificationChannelGroupAsync.js.map +1 -0
- package/build/getNotificationChannelGroupsAsync.android.d.ts +3 -0
- package/build/getNotificationChannelGroupsAsync.android.d.ts.map +1 -0
- package/build/getNotificationChannelGroupsAsync.android.js +9 -0
- package/build/getNotificationChannelGroupsAsync.android.js.map +1 -0
- package/build/getNotificationChannelGroupsAsync.d.ts +10 -0
- package/build/getNotificationChannelGroupsAsync.d.ts.map +1 -0
- package/build/getNotificationChannelGroupsAsync.js +12 -0
- package/build/getNotificationChannelGroupsAsync.js.map +1 -0
- package/build/getNotificationChannelsAsync.android.d.ts +3 -0
- package/build/getNotificationChannelsAsync.android.d.ts.map +1 -0
- package/build/getNotificationChannelsAsync.android.js +9 -0
- package/build/getNotificationChannelsAsync.android.js.map +1 -0
- package/build/getNotificationChannelsAsync.d.ts +10 -0
- package/build/getNotificationChannelsAsync.d.ts.map +1 -0
- package/build/getNotificationChannelsAsync.js +12 -0
- package/build/getNotificationChannelsAsync.js.map +1 -0
- package/build/getPresentedNotificationsAsync.d.ts +9 -0
- package/build/getPresentedNotificationsAsync.d.ts.map +1 -0
- package/build/getPresentedNotificationsAsync.js +15 -0
- package/build/getPresentedNotificationsAsync.js.map +1 -0
- package/build/index.d.ts +39 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +39 -0
- package/build/index.js.map +1 -0
- package/build/kepler/NotificationContent.d.ts +43 -0
- package/build/kepler/NotificationContent.d.ts.map +1 -0
- package/build/kepler/NotificationContent.js +96 -0
- package/build/kepler/NotificationContent.js.map +1 -0
- package/build/kepler/index.d.ts +3 -0
- package/build/kepler/index.d.ts.map +1 -0
- package/build/kepler/index.js +15 -0
- package/build/kepler/index.js.map +1 -0
- package/build/kepler/native-notification-manager.d.ts +3 -0
- package/build/kepler/native-notification-manager.d.ts.map +1 -0
- package/build/kepler/native-notification-manager.js +10 -0
- package/build/kepler/native-notification-manager.js.map +1 -0
- package/build/kepler/types/NotificationManagerTypes.d.ts +373 -0
- package/build/kepler/types/NotificationManagerTypes.d.ts.map +1 -0
- package/build/kepler/types/NotificationManagerTypes.js +279 -0
- package/build/kepler/types/NotificationManagerTypes.js.map +1 -0
- package/build/kepler/types/index.d.ts +3 -0
- package/build/kepler/types/index.d.ts.map +1 -0
- package/build/kepler/types/index.js +15 -0
- package/build/kepler/types/index.js.map +1 -0
- package/build/presentNotificationAsync.d.ts +11 -0
- package/build/presentNotificationAsync.d.ts.map +1 -0
- package/build/presentNotificationAsync.js +22 -0
- package/build/presentNotificationAsync.js.map +1 -0
- package/build/registerTaskAsync.d.ts +29 -0
- package/build/registerTaskAsync.d.ts.map +1 -0
- package/build/registerTaskAsync.js +37 -0
- package/build/registerTaskAsync.js.map +1 -0
- package/build/scheduleNotificationAsync.d.ts +60 -0
- package/build/scheduleNotificationAsync.d.ts.map +1 -0
- package/build/scheduleNotificationAsync.js +261 -0
- package/build/scheduleNotificationAsync.js.map +1 -0
- package/build/setBadgeCountAsync.d.ts +19 -0
- package/build/setBadgeCountAsync.d.ts.map +1 -0
- package/build/setBadgeCountAsync.js +19 -0
- package/build/setBadgeCountAsync.js.map +1 -0
- package/build/setNotificationCategoryAsync.d.ts +15 -0
- package/build/setNotificationCategoryAsync.d.ts.map +1 -0
- package/build/setNotificationCategoryAsync.js +22 -0
- package/build/setNotificationCategoryAsync.js.map +1 -0
- package/build/setNotificationChannelAsync.android.d.ts +3 -0
- package/build/setNotificationChannelAsync.android.d.ts.map +1 -0
- package/build/setNotificationChannelAsync.android.js +9 -0
- package/build/setNotificationChannelAsync.android.js.map +1 -0
- package/build/setNotificationChannelAsync.d.ts +22 -0
- package/build/setNotificationChannelAsync.d.ts.map +1 -0
- package/build/setNotificationChannelAsync.js +24 -0
- package/build/setNotificationChannelAsync.js.map +1 -0
- package/build/setNotificationChannelGroupAsync.android.d.ts +3 -0
- package/build/setNotificationChannelGroupAsync.android.d.ts.map +1 -0
- package/build/setNotificationChannelGroupAsync.android.js +9 -0
- package/build/setNotificationChannelGroupAsync.android.js.map +1 -0
- package/build/setNotificationChannelGroupAsync.d.ts +12 -0
- package/build/setNotificationChannelGroupAsync.d.ts.map +1 -0
- package/build/setNotificationChannelGroupAsync.js +14 -0
- package/build/setNotificationChannelGroupAsync.js.map +1 -0
- package/build/unregisterForNotificationsAsync.d.ts +2 -0
- package/build/unregisterForNotificationsAsync.d.ts.map +1 -0
- package/build/unregisterForNotificationsAsync.js +10 -0
- package/build/unregisterForNotificationsAsync.js.map +1 -0
- package/build/unregisterTaskAsync.d.ts +7 -0
- package/build/unregisterTaskAsync.d.ts.map +1 -0
- package/build/unregisterTaskAsync.js +15 -0
- package/build/unregisterTaskAsync.js.map +1 -0
- package/build/useLastNotificationResponse.d.ts +38 -0
- package/build/useLastNotificationResponse.d.ts.map +1 -0
- package/build/useLastNotificationResponse.js +63 -0
- package/build/useLastNotificationResponse.js.map +1 -0
- package/build/utils/keplerUuidUtils.d.ts +5 -0
- package/build/utils/keplerUuidUtils.d.ts.map +1 -0
- package/build/utils/keplerUuidUtils.js +15 -0
- package/build/utils/keplerUuidUtils.js.map +1 -0
- package/build/utils/updateDevicePushTokenAsync.d.ts +3 -0
- package/build/utils/updateDevicePushTokenAsync.d.ts.map +1 -0
- package/build/utils/updateDevicePushTokenAsync.js +115 -0
- package/build/utils/updateDevicePushTokenAsync.js.map +1 -0
- package/expo-module.config.json +20 -0
- package/ios/EXNotifications/Building/EXNotificationBuilder.h +19 -0
- package/ios/EXNotifications/Building/EXNotificationBuilder.m +91 -0
- package/ios/EXNotifications/EXBadgeModule.h +11 -0
- package/ios/EXNotifications/EXBadgeModule.m +36 -0
- package/ios/EXNotifications/EXServerRegistrationModule.h +19 -0
- package/ios/EXNotifications/EXServerRegistrationModule.m +194 -0
- package/ios/EXNotifications/Notifications/Background/EXBackgroundNotificationTasksModule.h +16 -0
- package/ios/EXNotifications/Notifications/Background/EXBackgroundNotificationTasksModule.m +62 -0
- package/ios/EXNotifications/Notifications/Background/EXBackgroundRemoteNotificationConsumer.h +14 -0
- package/ios/EXNotifications/Notifications/Background/EXBackgroundRemoteNotificationConsumer.m +51 -0
- package/ios/EXNotifications/Notifications/Categories/EXNotificationCategoriesModule.h +25 -0
- package/ios/EXNotifications/Notifications/Categories/EXNotificationCategoriesModule.m +217 -0
- package/ios/EXNotifications/Notifications/EXNotificationCenterDelegate.h +29 -0
- package/ios/EXNotifications/Notifications/EXNotificationCenterDelegate.m +209 -0
- package/ios/EXNotifications/Notifications/EXNotificationSerializer.h +16 -0
- package/ios/EXNotifications/Notifications/EXNotificationSerializer.m +232 -0
- package/ios/EXNotifications/Notifications/EXNotificationsDelegate.h +27 -0
- package/ios/EXNotifications/Notifications/Emitter/EXNotificationsEmitter.h +17 -0
- package/ios/EXNotifications/Notifications/Emitter/EXNotificationsEmitter.m +114 -0
- package/ios/EXNotifications/Notifications/Handler/EXNotificationsHandlerModule.h +12 -0
- package/ios/EXNotifications/Notifications/Handler/EXNotificationsHandlerModule.m +109 -0
- package/ios/EXNotifications/Notifications/Handler/EXSingleNotificationHandlerTask.h +33 -0
- package/ios/EXNotifications/Notifications/Handler/EXSingleNotificationHandlerTask.m +124 -0
- package/ios/EXNotifications/Notifications/NSDictionary+EXNotificationsVerifyingClass.h +7 -0
- package/ios/EXNotifications/Notifications/NSDictionary+EXNotificationsVerifyingClass.m +19 -0
- package/ios/EXNotifications/Notifications/Presenting/EXNotificationPresentationModule.h +13 -0
- package/ios/EXNotifications/Notifications/Presenting/EXNotificationPresentationModule.m +124 -0
- package/ios/EXNotifications/Notifications/Scheduling/EXNotificationSchedulerModule.h +21 -0
- package/ios/EXNotifications/Notifications/Scheduling/EXNotificationSchedulerModule.m +263 -0
- package/ios/EXNotifications/Permissions/EXLegacyRemoteNotificationPermissionRequester.h +13 -0
- package/ios/EXNotifications/Permissions/EXLegacyRemoteNotificationPermissionRequester.m +135 -0
- package/ios/EXNotifications/Permissions/EXNotificationPermissionsModule.h +8 -0
- package/ios/EXNotifications/Permissions/EXNotificationPermissionsModule.m +67 -0
- package/ios/EXNotifications/Permissions/EXRemoteNotificationPermissionSingletonModule.h +29 -0
- package/ios/EXNotifications/Permissions/EXRemoteNotificationPermissionSingletonModule.m +68 -0
- package/ios/EXNotifications/Permissions/EXUserFacingNotificationsPermissionsRequester.h +15 -0
- package/ios/EXNotifications/Permissions/EXUserFacingNotificationsPermissionsRequester.m +202 -0
- package/ios/EXNotifications/PushToken/EXPushTokenListener.h +14 -0
- package/ios/EXNotifications/PushToken/EXPushTokenManager.h +24 -0
- package/ios/EXNotifications/PushToken/EXPushTokenManager.m +63 -0
- package/ios/EXNotifications/PushToken/EXPushTokenModule.h +9 -0
- package/ios/EXNotifications/PushToken/EXPushTokenModule.m +154 -0
- package/ios/EXNotifications.podspec +25 -0
- package/package.json +67 -0
- package/plugin/build/withNotifications.d.ts +28 -0
- package/plugin/build/withNotifications.js +12 -0
- package/plugin/build/withNotificationsAndroid.d.ts +42 -0
- package/plugin/build/withNotificationsAndroid.js +184 -0
- package/plugin/build/withNotificationsIOS.d.ts +14 -0
- package/plugin/build/withNotificationsIOS.js +58 -0
- package/plugin/jest.config.js +1 -0
- package/plugin/src/withNotifications.ts +40 -0
- package/plugin/src/withNotificationsAndroid.ts +239 -0
- package/plugin/src/withNotificationsIOS.ts +78 -0
- package/plugin/tsconfig.json +9 -0
- package/src/BackgroundNotificationTasksModule.kepler.ts +8 -0
- package/src/BackgroundNotificationTasksModule.native.ts +7 -0
- package/src/BackgroundNotificationTasksModule.ts +8 -0
- package/src/BackgroundNotificationTasksModule.types.ts +12 -0
- package/src/BackgroundNotificationTasksModule.web.ts +8 -0
- package/src/BadgeModule.kepler.ts +8 -0
- package/src/BadgeModule.native.ts +15 -0
- package/src/BadgeModule.ts +6 -0
- package/src/BadgeModule.types.ts +11 -0
- package/src/BadgeModule.web.ts +28 -0
- package/src/DevicePushTokenAutoRegistration.fx.ts +119 -0
- package/src/NotificationCategoriesModule.kepler.ts +10 -0
- package/src/NotificationCategoriesModule.native.ts +7 -0
- package/src/NotificationCategoriesModule.ts +15 -0
- package/src/NotificationCategoriesModule.types.ts +22 -0
- package/src/NotificationCategoriesModule.web.ts +17 -0
- package/src/NotificationChannelGroupManager.kepler.ts +8 -0
- package/src/NotificationChannelGroupManager.native.ts +7 -0
- package/src/NotificationChannelGroupManager.ts +6 -0
- package/src/NotificationChannelGroupManager.types.ts +34 -0
- package/src/NotificationChannelManager.kepler.ts +8 -0
- package/src/NotificationChannelManager.native.ts +5 -0
- package/src/NotificationChannelManager.ts +6 -0
- package/src/NotificationChannelManager.types.ts +115 -0
- package/src/NotificationPermissions.ts +91 -0
- package/src/NotificationPermissions.types.ts +102 -0
- package/src/NotificationPermissionsModule.kepler.ts +8 -0
- package/src/NotificationPermissionsModule.native.ts +7 -0
- package/src/NotificationPermissionsModule.ts +83 -0
- package/src/NotificationPermissionsModule.types.ts +13 -0
- package/src/NotificationPresenterModule.kepler.ts +67 -0
- package/src/NotificationPresenterModule.native.ts +5 -0
- package/src/NotificationPresenterModule.ts +6 -0
- package/src/NotificationPresenterModule.types.ts +13 -0
- package/src/NotificationScheduler.kepler.ts +63 -0
- package/src/NotificationScheduler.native.ts +5 -0
- package/src/NotificationScheduler.ts +6 -0
- package/src/NotificationScheduler.types.ts +89 -0
- package/src/Notifications.types.ts +722 -0
- package/src/NotificationsEmitter.ts +111 -0
- package/src/NotificationsEmitterModule.kepler.ts +8 -0
- package/src/NotificationsEmitterModule.native.ts +5 -0
- package/src/NotificationsEmitterModule.ts +17 -0
- package/src/NotificationsEmitterModule.types.ts +7 -0
- package/src/NotificationsHandler.ts +120 -0
- package/src/NotificationsHandlerModule.kepler.ts +8 -0
- package/src/NotificationsHandlerModule.native.ts +5 -0
- package/src/NotificationsHandlerModule.ts +17 -0
- package/src/NotificationsHandlerModule.types.ts +10 -0
- package/src/PushTokenManager.kepler.ts +8 -0
- package/src/PushTokenManager.native.ts +5 -0
- package/src/PushTokenManager.ts +17 -0
- package/src/PushTokenManager.types.ts +6 -0
- package/src/ServerRegistrationModule.kepler.ts +8 -0
- package/src/ServerRegistrationModule.native.ts +7 -0
- package/src/ServerRegistrationModule.ts +6 -0
- package/src/ServerRegistrationModule.types.ts +7 -0
- package/src/ServerRegistrationModule.web.ts +56 -0
- package/src/TokenEmitter.ts +56 -0
- package/src/Tokens.types.ts +110 -0
- package/src/cancelAllScheduledNotificationsAsync.ts +16 -0
- package/src/cancelScheduledNotificationAsync.ts +31 -0
- package/src/deleteNotificationCategoryAsync.ts +23 -0
- package/src/deleteNotificationChannelAsync.android.ts +11 -0
- package/src/deleteNotificationChannelAsync.ts +10 -0
- package/src/deleteNotificationChannelGroupAsync.android.ts +11 -0
- package/src/deleteNotificationChannelGroupAsync.ts +10 -0
- package/src/dismissAllNotificationsAsync.ts +16 -0
- package/src/dismissNotificationAsync.ts +19 -0
- package/src/getAllScheduledNotificationsAsync.ts +17 -0
- package/src/getBadgeCountAsync.ts +17 -0
- package/src/getDevicePushTokenAsync.ts +31 -0
- package/src/getDevicePushTokenAsync.web.ts +122 -0
- package/src/getExpoPushTokenAsync.ts +238 -0
- package/src/getNextTriggerDateAsync.ts +38 -0
- package/src/getNotificationCategoriesAsync.ts +21 -0
- package/src/getNotificationChannelAsync.android.ts +13 -0
- package/src/getNotificationChannelAsync.ts +16 -0
- package/src/getNotificationChannelGroupAsync.android.ts +14 -0
- package/src/getNotificationChannelGroupAsync.ts +17 -0
- package/src/getNotificationChannelGroupsAsync.android.ts +13 -0
- package/src/getNotificationChannelGroupsAsync.ts +15 -0
- package/src/getNotificationChannelsAsync.android.ts +11 -0
- package/src/getNotificationChannelsAsync.ts +13 -0
- package/src/getPresentedNotificationsAsync.ts +18 -0
- package/src/index.ts +38 -0
- package/src/kepler/NotificationContent.ts +119 -0
- package/src/kepler/index.ts +16 -0
- package/src/kepler/native-notification-manager.ts +10 -0
- package/src/kepler/types/NotificationManagerTypes.ts +508 -0
- package/src/kepler/types/index.ts +16 -0
- package/src/presentNotificationAsync.ts +32 -0
- package/src/registerTaskAsync.ts +39 -0
- package/src/scheduleNotificationAsync.ts +335 -0
- package/src/setBadgeCountAsync.ts +32 -0
- package/src/setNotificationCategoryAsync.ts +37 -0
- package/src/setNotificationChannelAsync.android.ts +15 -0
- package/src/setNotificationChannelAsync.ts +28 -0
- package/src/setNotificationChannelGroupAsync.android.ts +18 -0
- package/src/setNotificationChannelGroupAsync.ts +21 -0
- package/src/unregisterForNotificationsAsync.ts +11 -0
- package/src/unregisterTaskAsync.ts +17 -0
- package/src/useLastNotificationResponse.ts +70 -0
- package/src/utils/keplerUuidUtils.ts +29 -0
- package/src/utils/updateDevicePushTokenAsync.ts +147 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Amazon.com, Inc. or its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* AMAZON PROPRIETARY/CONFIDENTIAL
|
|
5
|
+
*
|
|
6
|
+
* You may not use this file except in compliance with the terms and
|
|
7
|
+
* conditions set forth in the accompanying LICENSE.TXT file.
|
|
8
|
+
*
|
|
9
|
+
* THESE MATERIALS ARE PROVIDED ON AN "AS IS" BASIS. AMAZON SPECIFICALLY
|
|
10
|
+
* DISCLAIMS, WITH RESPECT TO THESE MATERIALS, ALL WARRANTIES, EXPRESS,
|
|
11
|
+
* IMPLIED, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
|
|
12
|
+
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
|
13
|
+
*/
|
|
14
|
+
import NotificationContent from '../NotificationContent';
|
|
15
|
+
/**
|
|
16
|
+
* @brief Id key for notification
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export class Uuid {
|
|
20
|
+
bytes;
|
|
21
|
+
constructor(id) {
|
|
22
|
+
if (id.length !== 16) {
|
|
23
|
+
throw new Error('Size of id should be 16');
|
|
24
|
+
}
|
|
25
|
+
this.bytes = id;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Describes the importance of a notification.
|
|
30
|
+
*/
|
|
31
|
+
export class Importance {
|
|
32
|
+
/**
|
|
33
|
+
* General information
|
|
34
|
+
* Example: weather update
|
|
35
|
+
*/
|
|
36
|
+
static IMPORTANCE_MIN = 'MIN';
|
|
37
|
+
/**
|
|
38
|
+
* Non-time sensitive information
|
|
39
|
+
* Example: new movie recommendation
|
|
40
|
+
*/
|
|
41
|
+
static IMPORTANCE_LOW = 'LOW';
|
|
42
|
+
/**
|
|
43
|
+
* Information relevant to the user, non-urgent
|
|
44
|
+
* Example: App download ready
|
|
45
|
+
*/
|
|
46
|
+
static IMPORTANCE_NORMAL = 'NORMAL';
|
|
47
|
+
/**
|
|
48
|
+
* Time-Critical information
|
|
49
|
+
* Example: Alarm, phonecall
|
|
50
|
+
* @privilege 'com.amazon.permission.notification.importance_high
|
|
51
|
+
*/
|
|
52
|
+
static IMPORTANCE_HIGH = 'HIGH';
|
|
53
|
+
/**
|
|
54
|
+
* Urgent notification that requires an action
|
|
55
|
+
* Example: remote disconnected, device heating up
|
|
56
|
+
* @privilege 'com.amazon.permission.notification.system
|
|
57
|
+
*/
|
|
58
|
+
static IMPORTANCE_MAX = 'MAX';
|
|
59
|
+
/**
|
|
60
|
+
* Importance level set on creation of the
|
|
61
|
+
* importance object.
|
|
62
|
+
*/
|
|
63
|
+
importance = Importance.IMPORTANCE_NORMAL;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Class to build the notification content. A notification
|
|
67
|
+
* requires a title, description, iconUri, and channel.
|
|
68
|
+
* built from: 'INotificationManager::makeNotificationContentBuilder()'
|
|
69
|
+
*/
|
|
70
|
+
export class NotificationContentBuilder {
|
|
71
|
+
mTitle;
|
|
72
|
+
mDescription;
|
|
73
|
+
mFootnote;
|
|
74
|
+
mChannel;
|
|
75
|
+
mLaunchTargets;
|
|
76
|
+
mIconUri;
|
|
77
|
+
mSmallIconUri;
|
|
78
|
+
mLargeIconUri;
|
|
79
|
+
mProgress;
|
|
80
|
+
mTimeout;
|
|
81
|
+
mExtras;
|
|
82
|
+
mPriorityHint;
|
|
83
|
+
/**
|
|
84
|
+
* Sets the title of the notification. This is the short overview of
|
|
85
|
+
* the notification.
|
|
86
|
+
*
|
|
87
|
+
* @param title Title of the notification. Required param
|
|
88
|
+
*/
|
|
89
|
+
title(title) {
|
|
90
|
+
this.mTitle = title;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Sets the description of the notification. This is the main content of
|
|
95
|
+
* the notification. Required param
|
|
96
|
+
*
|
|
97
|
+
* @param description Description of the notification.
|
|
98
|
+
*/
|
|
99
|
+
description(description) {
|
|
100
|
+
this.mDescription = description;
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Sets the footnote of the notification
|
|
105
|
+
*
|
|
106
|
+
* @param footnote Footnote of the notification. Optional param
|
|
107
|
+
*/
|
|
108
|
+
footnote(footnote) {
|
|
109
|
+
this.mFootnote = footnote;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Sets the icon uri of the notification. This is the normal icon
|
|
114
|
+
* to be displayed with the notification.
|
|
115
|
+
* Displayed as the icon of the notification.
|
|
116
|
+
* Example is 'https://m.media-amazon.com/rockstar.png'
|
|
117
|
+
*
|
|
118
|
+
* @param iconUri Icon uri for the notification. Required param
|
|
119
|
+
*/
|
|
120
|
+
iconUri(iconUri) {
|
|
121
|
+
this.mIconUri = iconUri;
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Sets the small icon uri. Small instance of the icon to be displayed
|
|
126
|
+
* when the notification is small.
|
|
127
|
+
* Example is 'https://m.media-amazon.com/rockstarSmall.png'
|
|
128
|
+
*
|
|
129
|
+
* @param iconUri small icon uri. Optional param
|
|
130
|
+
*/
|
|
131
|
+
smallIconUri(smallIconUri) {
|
|
132
|
+
this.mSmallIconUri = smallIconUri;
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Sets the large icon uri of the notification. Optional param
|
|
137
|
+
* Large version of the icon to be the an additional image displayed
|
|
138
|
+
* in the notification
|
|
139
|
+
* Example is 'https://m.media-amazon.com/rockstarLarge.png'
|
|
140
|
+
*
|
|
141
|
+
* @param iconUri Large Icon Uri of the notification
|
|
142
|
+
*/
|
|
143
|
+
largeIconUri(largeIconUri) {
|
|
144
|
+
this.mLargeIconUri = largeIconUri;
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Sets the channel this notification will be associated with. Required param
|
|
149
|
+
* @param channel Channel the notification is associated with
|
|
150
|
+
*/
|
|
151
|
+
channel(channel) {
|
|
152
|
+
this.mChannel = channel;
|
|
153
|
+
return this;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Sets how long a notification will exist before being removed.
|
|
157
|
+
* Timeout value is in seconds. Notifications with the timeout value
|
|
158
|
+
* set to 0 or a negative values will not be automatically removed
|
|
159
|
+
* Optional param
|
|
160
|
+
*/
|
|
161
|
+
timeout(timeout) {
|
|
162
|
+
this.mTimeout = timeout;
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Sets the priority of the notification in its channel. Used as a hint
|
|
167
|
+
* for how the renderer should prioritize displaying notifications in the
|
|
168
|
+
* channel. Optional param
|
|
169
|
+
* @param priority How important is the notification among other
|
|
170
|
+
* notifications in its channel.
|
|
171
|
+
*/
|
|
172
|
+
priorityHint(priorityHint) {
|
|
173
|
+
this.mPriorityHint = priorityHint;
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Sets the values for a progress bar in the notification. Optional param
|
|
178
|
+
* Updated using the update function
|
|
179
|
+
*/
|
|
180
|
+
progress(progress) {
|
|
181
|
+
this.mProgress = progress;
|
|
182
|
+
return this;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Sets an array of extra properties/hints for the renderer.
|
|
186
|
+
* These extras have no guarantee of being used.
|
|
187
|
+
* Limited to 512 extras in array. Optional param
|
|
188
|
+
*/
|
|
189
|
+
extras(extras) {
|
|
190
|
+
this.mExtras = extras;
|
|
191
|
+
return this;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Sets the apps/services that can be launched by the notification when
|
|
195
|
+
* interacted with.
|
|
196
|
+
* Optional param
|
|
197
|
+
*/
|
|
198
|
+
launchTargets(launchTargets) {
|
|
199
|
+
this.mLaunchTargets = launchTargets;
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Builds the immutable notification content instance.
|
|
204
|
+
* Finalizes the INotificationContent object and returns an
|
|
205
|
+
* instance.
|
|
206
|
+
* @throws Error if the required params aren't set
|
|
207
|
+
*/
|
|
208
|
+
build() {
|
|
209
|
+
if (this.mTitle === undefined) {
|
|
210
|
+
throw Error('Missing Title');
|
|
211
|
+
}
|
|
212
|
+
if (this.mDescription === undefined) {
|
|
213
|
+
throw Error('Missing Description');
|
|
214
|
+
}
|
|
215
|
+
if (this.mIconUri === undefined) {
|
|
216
|
+
throw Error('Missing IconUri');
|
|
217
|
+
}
|
|
218
|
+
if (this.mChannel === undefined) {
|
|
219
|
+
throw Error('Missing Channel');
|
|
220
|
+
}
|
|
221
|
+
return new NotificationContent(this.mTitle, this.mDescription, this.mFootnote, this.mChannel, this.mLaunchTargets, this.mIconUri, this.mSmallIconUri, this.mLargeIconUri, this.mProgress, this.mTimeout, this.mPriorityHint, this.mExtras);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
var kindDescriptor;
|
|
225
|
+
(function (kindDescriptor) {
|
|
226
|
+
kindDescriptor[kindDescriptor["KIND"] = 0] = "KIND";
|
|
227
|
+
kindDescriptor[kindDescriptor["ACTION_REQUIRED"] = 1] = "ACTION_REQUIRED";
|
|
228
|
+
kindDescriptor[kindDescriptor["INFORMATION"] = 2] = "INFORMATION";
|
|
229
|
+
kindDescriptor[kindDescriptor["ON_GOING"] = 3] = "ON_GOING";
|
|
230
|
+
kindDescriptor[kindDescriptor["SYSTEM"] = 4] = "SYSTEM";
|
|
231
|
+
kindDescriptor[kindDescriptor["TOAST"] = 5] = "TOAST";
|
|
232
|
+
})(kindDescriptor || (kindDescriptor = {}));
|
|
233
|
+
/**
|
|
234
|
+
* Class describing the base Kind. Kinds are used to
|
|
235
|
+
* describe the notification. Kinds may include extra properties
|
|
236
|
+
* relevant only to their kind.
|
|
237
|
+
*/
|
|
238
|
+
export class NotificationKind {
|
|
239
|
+
kindDescriptor = kindDescriptor.KIND;
|
|
240
|
+
/**
|
|
241
|
+
* Used to visit the 'kind' in a type safe way
|
|
242
|
+
* @param visitor Implementation of a visitor
|
|
243
|
+
* implementing functions that perform different tasks
|
|
244
|
+
* depending on the type of 'kind'
|
|
245
|
+
*/
|
|
246
|
+
visit(visitor) {
|
|
247
|
+
visitor.visitUnknown(this);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Kind used to indicate this is an information notification
|
|
252
|
+
* Information notifications are notifications to provide
|
|
253
|
+
* information to the user.
|
|
254
|
+
*/
|
|
255
|
+
export class InformationKind extends NotificationKind {
|
|
256
|
+
kindDescriptor = kindDescriptor.INFORMATION;
|
|
257
|
+
/**
|
|
258
|
+
* Returns true if the notification should be displayed
|
|
259
|
+
* on top of the foreground app.
|
|
260
|
+
* example: SMS notification
|
|
261
|
+
*/
|
|
262
|
+
isImportant = false;
|
|
263
|
+
/**
|
|
264
|
+
* Returns true if the notification is immediately relevant
|
|
265
|
+
* to the app currently being displayed.
|
|
266
|
+
* Example: Uploading items failed
|
|
267
|
+
*/
|
|
268
|
+
isShowIfAppDisplayed = false;
|
|
269
|
+
/**
|
|
270
|
+
* Used to visit the 'kind' in a type safe way
|
|
271
|
+
* @param visitor Implementation of a visitor
|
|
272
|
+
* implementing functions that perform different tasks
|
|
273
|
+
* depending on the type of 'kind'
|
|
274
|
+
*/
|
|
275
|
+
visit(visitor) {
|
|
276
|
+
visitor.visitInformation(this);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=NotificationManagerTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationManagerTypes.js","sourceRoot":"","sources":["../../../src/kepler/types/NotificationManagerTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,IAAI;IACf,KAAK,CAAgB;IACrB,YAAY,EAAiB;QAC3B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AAsBD;;GAEG;AACH,MAAM,OAAO,UAAU;IACrB;;;OAGG;IACH,MAAM,CAAC,cAAc,GAAW,KAAK,CAAC;IAEtC;;;OAGG;IACH,MAAM,CAAC,cAAc,GAAW,KAAK,CAAC;IAEtC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,GAAW,QAAQ,CAAC;IAE5C;;;;OAIG;IACH,MAAM,CAAC,eAAe,GAAW,MAAM,CAAC;IAExC;;;;OAIG;IACH,MAAM,CAAC,cAAc,GAAW,KAAK,CAAC;IAEtC;;;OAGG;IACH,UAAU,GAAW,UAAU,CAAC,iBAAiB,CAAC;;AA4JpD;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAC7B,MAAM,CAAU;IAChB,YAAY,CAAU;IACtB,SAAS,CAAU;IACnB,QAAQ,CAAW;IACnB,cAAc,CAAc;IAC5B,QAAQ,CAAU;IAClB,aAAa,CAAU;IACvB,aAAa,CAAU;IACvB,SAAS,CAAY;IACrB,QAAQ,CAAU;IAClB,OAAO,CAAgB;IACvB,aAAa,CAAU;IAE/B;;;;;OAKG;IACI,KAAK,CAAC,KAAa;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,WAAmB;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,QAAgB;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,YAAoB;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,YAAY,CAAC,YAAoB;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,OAAgB;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,YAAoB;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,QAAkB;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAoB;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,aAAyB;QAC5C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,mBAAmB,CAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;CACF;AAkBD,IAAK,cAOJ;AAPD,WAAK,cAAc;IACjB,mDAAI,CAAA;IACJ,yEAAe,CAAA;IACf,iEAAW,CAAA;IACX,2DAAQ,CAAA;IACR,uDAAM,CAAA;IACN,qDAAK,CAAA;AACP,CAAC,EAPI,cAAc,KAAd,cAAc,QAOlB;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAC3B,cAAc,GAAmB,cAAc,CAAC,IAAI,CAAC;IAErD;;;;;OAKG;IACH,KAAK,CAAC,OAAY;QAChB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IACnD,cAAc,GAAmB,cAAc,CAAC,WAAW,CAAC;IAE5D;;;;OAIG;IACH,WAAW,GAAY,KAAK,CAAC;IAE7B;;;;OAIG;IACH,oBAAoB,GAAY,KAAK,CAAC;IAEtC;;;;;OAKG;IACH,KAAK,CAAC,OAAY;QAChB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF","sourcesContent":["/*\n * Copyright 2024 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * AMAZON PROPRIETARY/CONFIDENTIAL\n *\n * You may not use this file except in compliance with the terms and\n * conditions set forth in the accompanying LICENSE.TXT file.\n *\n * THESE MATERIALS ARE PROVIDED ON AN \"AS IS\" BASIS. AMAZON SPECIFICALLY\n * DISCLAIMS, WITH RESPECT TO THESE MATERIALS, ALL WARRANTIES, EXPRESS,\n * IMPLIED, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.\n */\n\nimport NotificationContent from '../NotificationContent';\n\n/**\n * @brief Id key for notification\n *\n */\nexport class Uuid {\n bytes: Array<number>;\n constructor(id: Array<number>) {\n if (id.length !== 16) {\n throw new Error('Size of id should be 16');\n }\n this.bytes = id;\n }\n}\n\n/**\n * Describes a progress bar to be displayed in a notification.\n * Progress must be less than or equal to max. Values must be greater than\n * or equal to 0.\n */\nexport interface Progress {\n /**\n * Progress value of the task at the time of the call.\n * This is how far into the task the progress is.\n */\n progress: number;\n\n /**\n * Max value of the progress bar\n * Value doesn't need to be 100.\n * Example: 9/25 files downloaded\n */\n max: number;\n}\n\n/**\n * Describes the importance of a notification.\n */\nexport class Importance {\n /**\n * General information\n * Example: weather update\n */\n static IMPORTANCE_MIN: string = 'MIN';\n\n /**\n * Non-time sensitive information\n * Example: new movie recommendation\n */\n static IMPORTANCE_LOW: string = 'LOW';\n\n /**\n * Information relevant to the user, non-urgent\n * Example: App download ready\n */\n static IMPORTANCE_NORMAL: string = 'NORMAL';\n\n /**\n * Time-Critical information\n * Example: Alarm, phonecall\n * @privilege 'com.amazon.permission.notification.importance_high\n */\n static IMPORTANCE_HIGH: string = 'HIGH';\n\n /**\n * Urgent notification that requires an action\n * Example: remote disconnected, device heating up\n * @privilege 'com.amazon.permission.notification.system\n */\n static IMPORTANCE_MAX: string = 'MAX';\n\n /**\n * Importance level set on creation of the\n * importance object.\n */\n importance: string = Importance.IMPORTANCE_NORMAL;\n}\n\n/**\n * Interface to define an extra property in a notification.\n * These properties are hints to the renderer and there are no\n * guarantees any particular key/value pair will be used when\n * renderering the notification.\n */\nexport interface Extra {\n /**\n * Name of the extra property.\n * Cannot be empty, limited to 128 bytes.\n * Example: \"videoUri\"\n */\n name: string;\n\n /**\n * Value of the extra property.\n * Cannot be empty, limited to 512 bytes.\n * Example: \"www.amazon.com\"\n */\n value: string;\n}\n\n/**\n * Used to group similar types of notifications from a single app. A channel\n * is specific to the app that created it and is used\n * All notifications in the channel have a shared level of importance.\n * An example is grouping all order notifications from Amazon\n * and marking them as 'High' importance.\n */\nexport interface Channel {\n /**\n * Id of the Notification Channel. Name\n * is specified by user while creating the channel.\n */\n name: string;\n\n /**\n * Description of what notifications are in this channel.\n */\n description: string;\n\n /**\n * Uri of the app that this channel is associated with\n */\n appUri?: string;\n\n /**\n * Level of importance of the notifications\n * in this channel.\n */\n importance: Importance;\n\n /**\n * Kind of notification. Used to describe different\n * kinds of notifications from a standard one. Different kinds\n * may contain extra pieces of content or preferred ways to display\n * the notification\n */\n kind: any;\n}\n\n/**\n * Interface to define the contents of a notification. Describes what\n * information will be included in the displayed notification.\n * Built by NotificationContentBuilder\n */\nexport interface INotificationContent {\n /**\n * Title of the notification. Brief overview\n * of the notification. First line of text\n */\n title: string;\n\n /**\n * Description of the notification\n * Line of text after the title.\n */\n description: string;\n\n /**\n * Footnote of the notification.\n * Line of text after the footnote.\n */\n footnote?: string;\n\n /**\n * Channel of the notification\n * Describes which channel the notification is grouped in.\n */\n channel: Channel;\n\n /**\n * Sets the apps/services that can be launched by the notification when\n * interacted with. Targets will attempt to be launched on interaction.\n * Only the first one is guaranteed to be launched.\n */\n launchTargets?: Array<any>;\n\n /**\n * Sets the icon uri of the notification. This is the normal icon\n * to be displayed with the notification.\n * Displayed as the icon of the notification.\n * Example is 'https://m.media-amazon.com/rockstar.png'\n */\n iconUri: string;\n\n /**\n * Sets the small icon uri. Small instance of the icon to be displayed\n * when the notification is small.\n * Example is 'https://m.media-amazon.com/rockstarSmall.png'\n */\n smallIconUri?: string;\n\n /**\n * Sets the large icon uri of the notification. Optional param\n * Large version of the icon to be the an additional image displayed\n * in the notification\n * Example is 'https://m.media-amazon.com/rockstarLarge.png'\n */\n largeIconUri?: string;\n\n /**\n * Progress of the notification\n * Used if the notification has progress to\n * inform the user about.\n */\n progress?: Progress;\n\n /**\n * Timeout of the notification\n * Used to describe the how long before\n * the notification is removed in seconds.\n * Defaults to no timeout.\n */\n timeout?: number;\n\n /**\n * List of extra properties that are hints\n * that the renderer may use to render the notification.\n * There is no guarantee that these extras will be used\n * by the renderer.\n */\n extras?: Array<Extra>;\n\n /**\n * Priority of the notification in the channel.\n * Potentially used by renderer to determine priority of\n * notifications to display within an app's channel.\n * Default returns 0, higher value is higher priority.\n */\n priorityHint?: number;\n}\n\n/**\n * Class to build the notification content. A notification\n * requires a title, description, iconUri, and channel.\n * built from: 'INotificationManager::makeNotificationContentBuilder()'\n */\nexport class NotificationContentBuilder {\n private mTitle?: string;\n private mDescription?: string;\n private mFootnote?: string;\n private mChannel?: Channel;\n private mLaunchTargets?: Array<any>;\n private mIconUri?: string;\n private mSmallIconUri?: string;\n private mLargeIconUri?: string;\n private mProgress?: Progress;\n private mTimeout?: number;\n private mExtras?: Array<Extra>;\n private mPriorityHint?: number;\n\n /**\n * Sets the title of the notification. This is the short overview of\n * the notification.\n *\n * @param title Title of the notification. Required param\n */\n public title(title: string): NotificationContentBuilder {\n this.mTitle = title;\n return this;\n }\n\n /**\n * Sets the description of the notification. This is the main content of\n * the notification. Required param\n *\n * @param description Description of the notification.\n */\n public description(description: string): NotificationContentBuilder {\n this.mDescription = description;\n return this;\n }\n\n /**\n * Sets the footnote of the notification\n *\n * @param footnote Footnote of the notification. Optional param\n */\n public footnote(footnote: string): NotificationContentBuilder {\n this.mFootnote = footnote;\n return this;\n }\n\n /**\n * Sets the icon uri of the notification. This is the normal icon\n * to be displayed with the notification.\n * Displayed as the icon of the notification.\n * Example is 'https://m.media-amazon.com/rockstar.png'\n *\n * @param iconUri Icon uri for the notification. Required param\n */\n public iconUri(iconUri: string): NotificationContentBuilder {\n this.mIconUri = iconUri;\n return this;\n }\n\n /**\n * Sets the small icon uri. Small instance of the icon to be displayed\n * when the notification is small.\n * Example is 'https://m.media-amazon.com/rockstarSmall.png'\n *\n * @param iconUri small icon uri. Optional param\n */\n public smallIconUri(smallIconUri: string): NotificationContentBuilder {\n this.mSmallIconUri = smallIconUri;\n return this;\n }\n\n /**\n * Sets the large icon uri of the notification. Optional param\n * Large version of the icon to be the an additional image displayed\n * in the notification\n * Example is 'https://m.media-amazon.com/rockstarLarge.png'\n *\n * @param iconUri Large Icon Uri of the notification\n */\n public largeIconUri(largeIconUri: string): NotificationContentBuilder {\n this.mLargeIconUri = largeIconUri;\n return this;\n }\n\n /**\n * Sets the channel this notification will be associated with. Required param\n * @param channel Channel the notification is associated with\n */\n public channel(channel: Channel): NotificationContentBuilder {\n this.mChannel = channel;\n return this;\n }\n\n /**\n * Sets how long a notification will exist before being removed.\n * Timeout value is in seconds. Notifications with the timeout value\n * set to 0 or a negative values will not be automatically removed\n * Optional param\n */\n public timeout(timeout: number): NotificationContentBuilder {\n this.mTimeout = timeout;\n return this;\n }\n\n /**\n * Sets the priority of the notification in its channel. Used as a hint\n * for how the renderer should prioritize displaying notifications in the\n * channel. Optional param\n * @param priority How important is the notification among other\n * notifications in its channel.\n */\n public priorityHint(priorityHint: number): NotificationContentBuilder {\n this.mPriorityHint = priorityHint;\n return this;\n }\n\n /**\n * Sets the values for a progress bar in the notification. Optional param\n * Updated using the update function\n */\n public progress(progress: Progress): NotificationContentBuilder {\n this.mProgress = progress;\n return this;\n }\n\n /**\n * Sets an array of extra properties/hints for the renderer.\n * These extras have no guarantee of being used.\n * Limited to 512 extras in array. Optional param\n */\n public extras(extras: Array<Extra>): NotificationContentBuilder {\n this.mExtras = extras;\n return this;\n }\n\n /**\n * Sets the apps/services that can be launched by the notification when\n * interacted with.\n * Optional param\n */\n public launchTargets(launchTargets: Array<any>): NotificationContentBuilder {\n this.mLaunchTargets = launchTargets;\n return this;\n }\n\n /**\n * Builds the immutable notification content instance.\n * Finalizes the INotificationContent object and returns an\n * instance.\n * @throws Error if the required params aren't set\n */\n public build(): NotificationContent {\n if (this.mTitle === undefined) {\n throw Error('Missing Title');\n }\n if (this.mDescription === undefined) {\n throw Error('Missing Description');\n }\n if (this.mIconUri === undefined) {\n throw Error('Missing IconUri');\n }\n if (this.mChannel === undefined) {\n throw Error('Missing Channel');\n }\n return new NotificationContent(\n this.mTitle,\n this.mDescription,\n this.mFootnote,\n this.mChannel,\n this.mLaunchTargets,\n this.mIconUri,\n this.mSmallIconUri,\n this.mLargeIconUri,\n this.mProgress,\n this.mTimeout,\n this.mPriorityHint,\n this.mExtras\n );\n }\n}\n\n/**\n * Used to correlate the notification content with the\n * id generated from posting the content\n */\nexport interface Notification {\n /**\n * Content of the notification\n */\n notificationContent: NotificationContent;\n\n /**\n * The id of the notification\n */\n id: Uuid;\n}\n\nenum kindDescriptor {\n KIND,\n ACTION_REQUIRED,\n INFORMATION,\n ON_GOING,\n SYSTEM,\n TOAST,\n}\n\n/**\n * Class describing the base Kind. Kinds are used to\n * describe the notification. Kinds may include extra properties\n * relevant only to their kind.\n */\nexport class NotificationKind {\n kindDescriptor: kindDescriptor = kindDescriptor.KIND;\n\n /**\n * Used to visit the 'kind' in a type safe way\n * @param visitor Implementation of a visitor\n * implementing functions that perform different tasks\n * depending on the type of 'kind'\n */\n visit(visitor: any): any {\n visitor.visitUnknown(this);\n }\n}\n\n/**\n * Kind used to indicate this is an information notification\n * Information notifications are notifications to provide\n * information to the user.\n */\nexport class InformationKind extends NotificationKind {\n kindDescriptor: kindDescriptor = kindDescriptor.INFORMATION;\n\n /**\n * Returns true if the notification should be displayed\n * on top of the foreground app.\n * example: SMS notification\n */\n isImportant: boolean = false;\n\n /**\n * Returns true if the notification is immediately relevant\n * to the app currently being displayed.\n * Example: Uploading items failed\n */\n isShowIfAppDisplayed: boolean = false;\n\n /**\n * Used to visit the 'kind' in a type safe way\n * @param visitor Implementation of a visitor\n * implementing functions that perform different tasks\n * depending on the type of 'kind'\n */\n visit(visitor: any): any {\n visitor.visitInformation(this);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kepler/types/index.ts"],"names":[],"mappings":"AAcA,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Amazon.com, Inc. or its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* AMAZON PROPRIETARY/CONFIDENTIAL
|
|
5
|
+
*
|
|
6
|
+
* You may not use this file except in compliance with the terms and
|
|
7
|
+
* conditions set forth in the accompanying LICENSE.TXT file.
|
|
8
|
+
*
|
|
9
|
+
* THESE MATERIALS ARE PROVIDED ON AN "AS IS" BASIS. AMAZON SPECIFICALLY
|
|
10
|
+
* DISCLAIMS, WITH RESPECT TO THESE MATERIALS, ALL WARRANTIES, EXPRESS,
|
|
11
|
+
* IMPLIED, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
|
|
12
|
+
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
|
13
|
+
*/
|
|
14
|
+
export { Importance, InformationKind, Uuid } from './NotificationManagerTypes';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kepler/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["/*\n * Copyright 2024 Amazon.com, Inc. or its affiliates. All rights reserved.\n *\n * AMAZON PROPRIETARY/CONFIDENTIAL\n *\n * You may not use this file except in compliance with the terms and\n * conditions set forth in the accompanying LICENSE.TXT file.\n *\n * THESE MATERIALS ARE PROVIDED ON AN \"AS IS\" BASIS. AMAZON SPECIFICALLY\n * DISCLAIMS, WITH RESPECT TO THESE MATERIALS, ALL WARRANTIES, EXPRESS,\n * IMPLIED, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.\n */\n\nexport type { Channel, Extra, INotificationContent, Progress } from './NotificationManagerTypes';\nexport { Importance, InformationKind, Uuid } from './NotificationManagerTypes';\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NotificationContentInput } from './Notifications.types';
|
|
2
|
+
/**
|
|
3
|
+
* Schedules a notification for immediate trigger.
|
|
4
|
+
* @param content An object representing the notification content.
|
|
5
|
+
* @param identifier
|
|
6
|
+
* @return It returns a Promise resolving with the notification's identifier once the notification is successfully scheduled for immediate display.
|
|
7
|
+
* @header schedule
|
|
8
|
+
* @deprecated This method has been deprecated in favor of using an explicit `NotificationHandler` and the [`scheduleNotificationAsync`](#notificationsschedulenotificationasyncrequest) method. More information can be found in our [FYI document](https://expo.fyi/presenting-notifications-deprecated).
|
|
9
|
+
*/
|
|
10
|
+
export default function presentNotificationAsync(content: NotificationContentInput, identifier?: string): Promise<string>;
|
|
11
|
+
//# sourceMappingURL=presentNotificationAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentNotificationAsync.d.ts","sourceRoot":"","sources":["../src/presentNotificationAsync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;;;;;;GAOG;AACH,wBAA8B,wBAAwB,CACpD,OAAO,EAAE,wBAAwB,EACjC,UAAU,GAAE,MAAkB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UnavailabilityError, uuid } from 'expo-modules-core';
|
|
2
|
+
import NotificationPresenter from './NotificationPresenterModule';
|
|
3
|
+
let warningMessageShown = false;
|
|
4
|
+
/**
|
|
5
|
+
* Schedules a notification for immediate trigger.
|
|
6
|
+
* @param content An object representing the notification content.
|
|
7
|
+
* @param identifier
|
|
8
|
+
* @return It returns a Promise resolving with the notification's identifier once the notification is successfully scheduled for immediate display.
|
|
9
|
+
* @header schedule
|
|
10
|
+
* @deprecated This method has been deprecated in favor of using an explicit `NotificationHandler` and the [`scheduleNotificationAsync`](#notificationsschedulenotificationasyncrequest) method. More information can be found in our [FYI document](https://expo.fyi/presenting-notifications-deprecated).
|
|
11
|
+
*/
|
|
12
|
+
export default async function presentNotificationAsync(content, identifier = uuid.v4()) {
|
|
13
|
+
if (__DEV__ && !warningMessageShown) {
|
|
14
|
+
console.warn('`presentNotificationAsync` has been deprecated in favor of using `scheduleNotificationAsync` + an explicit notification handler. Read more at https://expo.fyi/presenting-notifications-deprecated.');
|
|
15
|
+
warningMessageShown = true;
|
|
16
|
+
}
|
|
17
|
+
if (!NotificationPresenter.presentNotificationAsync) {
|
|
18
|
+
throw new UnavailabilityError('Notifications', 'presentNotificationAsync');
|
|
19
|
+
}
|
|
20
|
+
return await NotificationPresenter.presentNotificationAsync(identifier, content);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=presentNotificationAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentNotificationAsync.js","sourceRoot":"","sources":["../src/presentNotificationAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAGlE,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,wBAAwB,CACpD,OAAiC,EACjC,aAAqB,IAAI,CAAC,EAAE,EAAE;IAE9B,IAAI,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CACV,qMAAqM,CACtM,CAAC;QACF,mBAAmB,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,CAAC;QACpD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,qBAAqB,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACnF,CAAC","sourcesContent":["import { UnavailabilityError, uuid } from 'expo-modules-core';\n\nimport NotificationPresenter from './NotificationPresenterModule';\nimport { NotificationContentInput } from './Notifications.types';\n\nlet warningMessageShown = false;\n\n/**\n * Schedules a notification for immediate trigger.\n * @param content An object representing the notification content.\n * @param identifier\n * @return It returns a Promise resolving with the notification's identifier once the notification is successfully scheduled for immediate display.\n * @header schedule\n * @deprecated This method has been deprecated in favor of using an explicit `NotificationHandler` and the [`scheduleNotificationAsync`](#notificationsschedulenotificationasyncrequest) method. More information can be found in our [FYI document](https://expo.fyi/presenting-notifications-deprecated).\n */\nexport default async function presentNotificationAsync(\n content: NotificationContentInput,\n identifier: string = uuid.v4()\n): Promise<string> {\n if (__DEV__ && !warningMessageShown) {\n console.warn(\n '`presentNotificationAsync` has been deprecated in favor of using `scheduleNotificationAsync` + an explicit notification handler. Read more at https://expo.fyi/presenting-notifications-deprecated.'\n );\n warningMessageShown = true;\n }\n\n if (!NotificationPresenter.presentNotificationAsync) {\n throw new UnavailabilityError('Notifications', 'presentNotificationAsync');\n }\n\n return await NotificationPresenter.presentNotificationAsync(identifier, content);\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When a notification is received while the app is backgrounded, using this function you can set a callback that will be run in response to that notification.
|
|
3
|
+
* Under the hood, this function is run using `expo-task-manager`. You **must** define the task first, with [`TaskManager.defineTask`](./task-manager#taskmanagerdefinetasktaskname-taskexecutor).
|
|
4
|
+
* Make sure you define it in the global scope.
|
|
5
|
+
*
|
|
6
|
+
* The callback function you define with `TaskManager.defineTask` will receive an object with the following fields:
|
|
7
|
+
* - `data`: The remote payload delivered by either FCM (Android) or APNs (iOS). See [`PushNotificationTrigger`](#pushnotificationtrigger) for details.
|
|
8
|
+
* - `error`: The error (if any) that occurred during execution of the task.
|
|
9
|
+
* - `executionInfo`: JSON object of additional info related to the task, including the `taskName`.
|
|
10
|
+
* @param taskName The string you passed to `TaskManager.defineTask` as the `taskName` parameter.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import * as TaskManager from '@amazon-devices/expo-task-manager';
|
|
15
|
+
* import * as Notifications from '@amazon-devices/expo-notifications';
|
|
16
|
+
*
|
|
17
|
+
* const BACKGROUND_NOTIFICATION_TASK = 'BACKGROUND-NOTIFICATION-TASK';
|
|
18
|
+
*
|
|
19
|
+
* TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, ({ data, error, executionInfo }) => {
|
|
20
|
+
* console.log('Received a notification in the background!');
|
|
21
|
+
* // Do something with the notification data
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);
|
|
25
|
+
* ```
|
|
26
|
+
* @header inBackground
|
|
27
|
+
*/
|
|
28
|
+
export default function registerTaskAsync(taskName: string): Promise<null>;
|
|
29
|
+
//# sourceMappingURL=registerTaskAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerTaskAsync.d.ts","sourceRoot":"","sources":["../src/registerTaskAsync.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAA8B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { UnavailabilityError } from 'expo-modules-core';
|
|
2
|
+
// @amznmod_react - Changed .native import to one without postfix
|
|
3
|
+
import BackgroundNotificationTasksModule from './BackgroundNotificationTasksModule';
|
|
4
|
+
/**
|
|
5
|
+
* When a notification is received while the app is backgrounded, using this function you can set a callback that will be run in response to that notification.
|
|
6
|
+
* Under the hood, this function is run using `expo-task-manager`. You **must** define the task first, with [`TaskManager.defineTask`](./task-manager#taskmanagerdefinetasktaskname-taskexecutor).
|
|
7
|
+
* Make sure you define it in the global scope.
|
|
8
|
+
*
|
|
9
|
+
* The callback function you define with `TaskManager.defineTask` will receive an object with the following fields:
|
|
10
|
+
* - `data`: The remote payload delivered by either FCM (Android) or APNs (iOS). See [`PushNotificationTrigger`](#pushnotificationtrigger) for details.
|
|
11
|
+
* - `error`: The error (if any) that occurred during execution of the task.
|
|
12
|
+
* - `executionInfo`: JSON object of additional info related to the task, including the `taskName`.
|
|
13
|
+
* @param taskName The string you passed to `TaskManager.defineTask` as the `taskName` parameter.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import * as TaskManager from '@amazon-devices/expo-task-manager';
|
|
18
|
+
* import * as Notifications from '@amazon-devices/expo-notifications';
|
|
19
|
+
*
|
|
20
|
+
* const BACKGROUND_NOTIFICATION_TASK = 'BACKGROUND-NOTIFICATION-TASK';
|
|
21
|
+
*
|
|
22
|
+
* TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, ({ data, error, executionInfo }) => {
|
|
23
|
+
* console.log('Received a notification in the background!');
|
|
24
|
+
* // Do something with the notification data
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);
|
|
28
|
+
* ```
|
|
29
|
+
* @header inBackground
|
|
30
|
+
*/
|
|
31
|
+
export default async function registerTaskAsync(taskName) {
|
|
32
|
+
if (!BackgroundNotificationTasksModule.registerTaskAsync) {
|
|
33
|
+
throw new UnavailabilityError('Notifications', 'registerTaskAsync');
|
|
34
|
+
}
|
|
35
|
+
return await BackgroundNotificationTasksModule.registerTaskAsync(taskName);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=registerTaskAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerTaskAsync.js","sourceRoot":"","sources":["../src/registerTaskAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,iEAAiE;AACjE,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC9D,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,MAAM,iCAAiC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import { UnavailabilityError } from 'expo-modules-core';\n\n// @amznmod_react - Changed .native import to one without postfix\nimport BackgroundNotificationTasksModule from './BackgroundNotificationTasksModule';\n\n/**\n * When a notification is received while the app is backgrounded, using this function you can set a callback that will be run in response to that notification.\n * Under the hood, this function is run using `expo-task-manager`. You **must** define the task first, with [`TaskManager.defineTask`](./task-manager#taskmanagerdefinetasktaskname-taskexecutor).\n * Make sure you define it in the global scope.\n *\n * The callback function you define with `TaskManager.defineTask` will receive an object with the following fields:\n * - `data`: The remote payload delivered by either FCM (Android) or APNs (iOS). See [`PushNotificationTrigger`](#pushnotificationtrigger) for details.\n * - `error`: The error (if any) that occurred during execution of the task.\n * - `executionInfo`: JSON object of additional info related to the task, including the `taskName`.\n * @param taskName The string you passed to `TaskManager.defineTask` as the `taskName` parameter.\n *\n * @example\n * ```ts\n * import * as TaskManager from '@amazon-devices/expo-task-manager';\n * import * as Notifications from '@amazon-devices/expo-notifications';\n *\n * const BACKGROUND_NOTIFICATION_TASK = 'BACKGROUND-NOTIFICATION-TASK';\n *\n * TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, ({ data, error, executionInfo }) => {\n * console.log('Received a notification in the background!');\n * // Do something with the notification data\n * });\n *\n * Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);\n * ```\n * @header inBackground\n */\nexport default async function registerTaskAsync(taskName: string): Promise<null> {\n if (!BackgroundNotificationTasksModule.registerTaskAsync) {\n throw new UnavailabilityError('Notifications', 'registerTaskAsync');\n }\n\n return await BackgroundNotificationTasksModule.registerTaskAsync(taskName);\n}\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { NotificationTriggerInput as NativeNotificationTriggerInput } from './NotificationScheduler.types';
|
|
2
|
+
import { NotificationRequestInput, NotificationTriggerInput } from './Notifications.types';
|
|
3
|
+
/**
|
|
4
|
+
* Schedules a notification to be triggered in the future.
|
|
5
|
+
* > **Note:** Please note that this does not mean that the notification will be presented when it is triggered.
|
|
6
|
+
* For the notification to be presented you have to set a notification handler with [`setNotificationHandler`](#notificationssetnotificationhandlerhandler)
|
|
7
|
+
* that will return an appropriate notification behavior. For more information see the example below.
|
|
8
|
+
* @param request An object describing the notification to be triggered.
|
|
9
|
+
* @return Returns a Promise resolving to a string which is a notification identifier you can later use to cancel the notification or to identify an incoming notification.
|
|
10
|
+
* @example
|
|
11
|
+
* # Schedule the notification that will trigger once, in one minute from now
|
|
12
|
+
* ```ts
|
|
13
|
+
* import * as Notifications from '@amazon-devices/expo-notifications';
|
|
14
|
+
*
|
|
15
|
+
* Notifications.scheduleNotificationAsync({
|
|
16
|
+
* content: {
|
|
17
|
+
* title: "Time's up!",
|
|
18
|
+
* body: 'Change sides!',
|
|
19
|
+
* },
|
|
20
|
+
* trigger: {
|
|
21
|
+
* seconds: 60,
|
|
22
|
+
* },
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* # Schedule the notification that will trigger repeatedly, every 20 minutes
|
|
27
|
+
* ```ts
|
|
28
|
+
* import * as Notifications from '@amazon-devices/expo-notifications';
|
|
29
|
+
*
|
|
30
|
+
* Notifications.scheduleNotificationAsync({
|
|
31
|
+
* content: {
|
|
32
|
+
* title: 'Remember to drink water!',
|
|
33
|
+
* },
|
|
34
|
+
* trigger: {
|
|
35
|
+
* seconds: 60 * 20,
|
|
36
|
+
* repeats: true,
|
|
37
|
+
* },
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* # Schedule the notification that will trigger once, at the beginning of next hour
|
|
42
|
+
* ```ts
|
|
43
|
+
* import * as Notifications from '@amazon-devices/expo-notifications';
|
|
44
|
+
*
|
|
45
|
+
* const trigger = new Date(Date.now() + 60 * 60 * 1000);
|
|
46
|
+
* trigger.setMinutes(0);
|
|
47
|
+
* trigger.setSeconds(0);
|
|
48
|
+
*
|
|
49
|
+
* Notifications.scheduleNotificationAsync({
|
|
50
|
+
* content: {
|
|
51
|
+
* title: 'Happy new hour!',
|
|
52
|
+
* },
|
|
53
|
+
* trigger,
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
* @header schedule
|
|
57
|
+
*/
|
|
58
|
+
export default function scheduleNotificationAsync(request: NotificationRequestInput): Promise<string>;
|
|
59
|
+
export declare function parseTrigger(userFacingTrigger: NotificationTriggerInput): NativeNotificationTriggerInput;
|
|
60
|
+
//# sourceMappingURL=scheduleNotificationAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleNotificationAsync.d.ts","sourceRoot":"","sources":["../src/scheduleNotificationAsync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,IAAI,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC3G,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EASzB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAA8B,yBAAyB,CACrD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAoBD,wBAAgB,YAAY,CAC1B,iBAAiB,EAAE,wBAAwB,GAC1C,8BAA8B,CA4DhC"}
|