react-native-notify-kit 9.3.0 → 9.5.0

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 (53) hide show
  1. package/README.md +68 -2
  2. package/android/build.gradle +5 -0
  3. package/android/proguard-rules.pro +1 -0
  4. package/android/src/androidTest/java/app/notifee/core/DoScheduledWorkOrderingTest.java +234 -0
  5. package/android/src/androidTest/java/app/notifee/core/RebootRecoveryTest.java +204 -0
  6. package/android/src/androidTest/java/app/notifee/core/database/TimingWorkDataRepository.java +56 -0
  7. package/android/src/androidTest/java/app/notifee/core/database/WorkDataRepositoryRaceTest.java +221 -0
  8. package/android/src/androidTest/res/drawable/test_icon.xml +14 -0
  9. package/android/src/main/baseline-prof.txt +382 -0
  10. package/android/src/main/java/app/notifee/core/ForegroundService.java +269 -80
  11. package/android/src/main/java/app/notifee/core/InitProvider.java +48 -5
  12. package/android/src/main/java/app/notifee/core/Logger.java +5 -0
  13. package/android/src/main/java/app/notifee/core/NotifeeAlarmManager.java +160 -79
  14. package/android/src/main/java/app/notifee/core/NotificationManager.java +370 -288
  15. package/android/src/main/java/app/notifee/core/WarmupHelper.java +84 -0
  16. package/android/src/main/java/app/notifee/core/database/WorkDataRepository.java +38 -34
  17. package/android/src/main/java/app/notifee/core/model/NotificationAndroidModel.java +17 -1
  18. package/android/src/main/kotlin/io/invertase/notifee/NotifeeApiModule.kt +30 -0
  19. package/android/src/test/java/app/notifee/core/ForegroundServiceTest.java +182 -0
  20. package/android/src/test/java/app/notifee/core/database/WorkDataRepositoryFutureContractTest.java +279 -0
  21. package/dist/NotifeeApiModule.d.ts +1 -0
  22. package/dist/NotifeeApiModule.js +6 -0
  23. package/dist/NotifeeApiModule.js.map +1 -1
  24. package/dist/specs/NativeNotifeeModule.d.ts +1 -0
  25. package/dist/specs/NativeNotifeeModule.js.map +1 -1
  26. package/dist/types/Module.d.ts +19 -0
  27. package/dist/types/NotificationAndroid.d.ts +58 -0
  28. package/dist/types/NotificationAndroid.js +43 -0
  29. package/dist/types/NotificationAndroid.js.map +1 -1
  30. package/dist/utils/validate.d.ts +1 -0
  31. package/dist/utils/validate.js +10 -4
  32. package/dist/utils/validate.js.map +1 -1
  33. package/dist/validators/validateAndroidChannel.js +3 -3
  34. package/dist/validators/validateAndroidChannel.js.map +1 -1
  35. package/dist/validators/validateAndroidNotification.js +36 -12
  36. package/dist/validators/validateAndroidNotification.js.map +1 -1
  37. package/dist/version.d.ts +1 -1
  38. package/dist/version.js +1 -1
  39. package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.m +5 -1
  40. package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.m +5 -5
  41. package/ios/NotifeeCore/NotifeeCore.m +28 -9
  42. package/ios/NotifeeCore/NotifeeCoreDelegateHolder.m +5 -1
  43. package/ios/NotifeeCore/NotifeeCoreExtensionHelper.m +7 -2
  44. package/ios/RNNotifee/NotifeeApiModule.mm +31 -10
  45. package/package.json +1 -1
  46. package/src/NotifeeApiModule.ts +7 -0
  47. package/src/specs/NativeNotifeeModule.ts +1 -0
  48. package/src/types/Module.ts +20 -0
  49. package/src/types/NotificationAndroid.ts +62 -0
  50. package/src/utils/validate.ts +12 -4
  51. package/src/validators/validateAndroidChannel.ts +3 -3
  52. package/src/validators/validateAndroidNotification.ts +43 -10
  53. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * Copyright (c) 2016-present Invertase Limited
3
3
  */
4
4
  import { Image } from 'react-native';
5
- import { objectHasProperty, isArray, isArrayOfStrings, isBoolean, isNumber, isObject, isString, isUndefined, isIOS, } from '../utils';
5
+ import { objectHasProperty, isArray, isArrayOfStrings, isBoolean, isNumber, isObject, isString, isUndefined, isIOS, isValidEnum, getNumericEnumValues, } from '../utils';
6
6
  import { AndroidImportance } from '../types/NotificationAndroid';
7
- import { AndroidBadgeIconType, AndroidCategory, AndroidDefaults, AndroidForegroundServiceType, AndroidFlags, AndroidGroupAlertBehavior, AndroidStyle, AndroidVisibility, } from '../types/NotificationAndroid';
7
+ import { AndroidBadgeIconType, AndroidCategory, AndroidDefaults, AndroidForegroundServiceBehavior, AndroidForegroundServiceType, AndroidFlags, AndroidGroupAlertBehavior, AndroidStyle, AndroidVisibility, } from '../types/NotificationAndroid';
8
8
  import { isValidColor, isValidLightPattern, isValidTimestamp, isValidVibratePattern, } from './validate';
9
9
  import { validateAndroidBigPictureStyle, validateAndroidBigTextStyle, validateAndroidInboxStyle, validateAndroidMessagingStyle, } from './validateAndroidStyle';
10
10
  import validateAndroidPressAction from './validateAndroidPressAction';
@@ -71,6 +71,16 @@ export default function validateAndroidNotification(android) {
71
71
  }
72
72
  out.asForegroundService = android.asForegroundService;
73
73
  }
74
+ /**
75
+ * foregroundServiceBehavior
76
+ */
77
+ if (objectHasProperty(android, 'foregroundServiceBehavior') &&
78
+ !isUndefined(android.foregroundServiceBehavior)) {
79
+ if (!isValidEnum(android.foregroundServiceBehavior, AndroidForegroundServiceBehavior)) {
80
+ throw new Error("'notification.android.foregroundServiceBehavior' expected a valid AndroidForegroundServiceBehavior.");
81
+ }
82
+ out.foregroundServiceBehavior = android.foregroundServiceBehavior;
83
+ }
74
84
  /**
75
85
  * lightUpScreen
76
86
  */
@@ -102,7 +112,7 @@ export default function validateAndroidNotification(android) {
102
112
  * badgeIconType
103
113
  */
104
114
  if (objectHasProperty(android, 'badgeIconType') && !isUndefined(android.badgeIconType)) {
105
- if (!Object.values(AndroidBadgeIconType).includes(android.badgeIconType)) {
115
+ if (!isValidEnum(android.badgeIconType, AndroidBadgeIconType)) {
106
116
  throw new Error("'notification.android.badgeIconType' expected a valid AndroidBadgeIconType.");
107
117
  }
108
118
  out.badgeIconType = android.badgeIconType;
@@ -166,7 +176,7 @@ export default function validateAndroidNotification(android) {
166
176
  if (android.defaults.length === 0) {
167
177
  throw new Error("'notification.android.defaults' expected an array containing AndroidDefaults.");
168
178
  }
169
- const defaults = Object.values(AndroidDefaults);
179
+ const defaults = getNumericEnumValues(AndroidDefaults);
170
180
  for (let i = 0; i < android.defaults.length; i++) {
171
181
  if (!defaults.includes(android.defaults[i])) {
172
182
  throw new Error("'notification.android.defaults' invalid array value, expected an AndroidDefaults value.");
@@ -188,7 +198,7 @@ export default function validateAndroidNotification(android) {
188
198
  */
189
199
  if (objectHasProperty(android, 'groupAlertBehavior') &&
190
200
  !isUndefined(android.groupAlertBehavior)) {
191
- if (!Object.values(AndroidGroupAlertBehavior).includes(android.groupAlertBehavior)) {
201
+ if (!isValidEnum(android.groupAlertBehavior, AndroidGroupAlertBehavior)) {
192
202
  throw new Error("'notification.android.groupAlertBehavior' expected a valid AndroidGroupAlertBehavior.");
193
203
  }
194
204
  out.groupAlertBehavior = android.groupAlertBehavior;
@@ -287,9 +297,9 @@ export default function validateAndroidNotification(android) {
287
297
  if (android.foregroundServiceTypes.length === 0) {
288
298
  throw new Error("'notification.android.foregroundServiceTypes' expected a non empty array containing AndroidForegroundServiceType.");
289
299
  }
290
- const defaults = Object.values(AndroidForegroundServiceType);
300
+ const foregroundServiceTypeValues = getNumericEnumValues(AndroidForegroundServiceType);
291
301
  for (let i = 0; i < android.foregroundServiceTypes.length; i++) {
292
- if (!defaults.includes(android.foregroundServiceTypes[i])) {
302
+ if (!foregroundServiceTypeValues.includes(android.foregroundServiceTypes[i])) {
293
303
  throw new Error("'notification.android.foregroundServiceTypes' invalid array value, expected an AndroidForegroundServiceType value.");
294
304
  }
295
305
  }
@@ -303,11 +313,11 @@ export default function validateAndroidNotification(android) {
303
313
  throw new Error("'notification.android.flags' expected an array.");
304
314
  }
305
315
  if (android.flags.length === 0) {
306
- throw new Error("'notification.android.flags' expected an array containing AndroidDefaults.");
316
+ throw new Error("'notification.android.flags' expected an array containing AndroidFlags.");
307
317
  }
308
- const defaults = Object.values(AndroidFlags);
318
+ const flagValues = getNumericEnumValues(AndroidFlags);
309
319
  for (let i = 0; i < android.flags.length; i++) {
310
- if (!defaults.includes(android.flags[i])) {
320
+ if (!flagValues.includes(android.flags[i])) {
311
321
  throw new Error("'notification.android.flags' invalid array value, expected an AndroidFlags value.");
312
322
  }
313
323
  }
@@ -368,7 +378,7 @@ export default function validateAndroidNotification(android) {
368
378
  * importance
369
379
  */
370
380
  if (objectHasProperty(android, 'importance') && !isUndefined(android.importance)) {
371
- if (!Object.values(AndroidImportance).includes(android.importance)) {
381
+ if (!isValidEnum(android.importance, AndroidImportance)) {
372
382
  throw new Error("'notification.android.importance' expected a valid Importance.");
373
383
  }
374
384
  out.importance = android.importance;
@@ -530,7 +540,7 @@ export default function validateAndroidNotification(android) {
530
540
  * visibility
531
541
  */
532
542
  if (objectHasProperty(android, 'visibility') && android.visibility !== undefined) {
533
- if (!Object.values(AndroidVisibility).includes(android.visibility)) {
543
+ if (!isValidEnum(android.visibility, AndroidVisibility)) {
534
544
  throw new Error("'notification.android.visibility' expected a valid AndroidVisibility value.");
535
545
  }
536
546
  out.visibility = android.visibility;
@@ -564,6 +574,20 @@ export default function validateAndroidNotification(android) {
564
574
  if (out.asForegroundService && android && !objectHasProperty(android, 'ongoing')) {
565
575
  out.ongoing = true;
566
576
  }
577
+ /**
578
+ * Auto-set foregroundServiceBehavior to IMMEDIATE for foreground service notifications.
579
+ * Only set when asForegroundService is true and the user did not provide an explicit value.
580
+ * When asForegroundService is false/undefined, strip the property entirely — it has no effect
581
+ * on non-FGS notifications and including it would bloat the Bundle unnecessarily.
582
+ */
583
+ if (out.asForegroundService) {
584
+ if (android && !objectHasProperty(android, 'foregroundServiceBehavior')) {
585
+ out.foregroundServiceBehavior = AndroidForegroundServiceBehavior.IMMEDIATE;
586
+ }
587
+ }
588
+ else {
589
+ delete out.foregroundServiceBehavior;
590
+ }
567
591
  return out;
568
592
  }
569
593
  //# sourceMappingURL=validateAndroidNotification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateAndroidNotification.js","sourceRoot":"","sources":["../../src/validators/validateAndroidNotification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAndroidNotification.js","sourceRoot":"","sources":["../../src/validators/validateAndroidNotification.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "9.3.0";
1
+ export declare const version = "9.5.0";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '9.3.0';
2
+ export const version = '9.5.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -74,7 +74,11 @@
74
74
  }
75
75
 
76
76
  - (void)messaging_didReceiveRemoteNotification:(nonnull NSNotification *)notification {
77
- // update me with logic
77
+ // Intentionally empty: remote notifications are handled via
78
+ // UNUserNotificationCenterDelegate (willPresentNotification:,
79
+ // didReceiveNotificationResponse:). This observer is preserved to avoid
80
+ // behavior changes for any downstream code that may depend on the
81
+ // registration existing.
78
82
  }
79
83
 
80
84
  @end
@@ -281,11 +281,11 @@ struct {
281
281
 
282
282
  [[NotifeeCoreDelegateHolder instance] didReceiveNotifeeCoreEvent:event];
283
283
 
284
- // TODO figure out if this is needed or if we can just complete immediately
285
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(15 * NSEC_PER_SEC)),
286
- dispatch_get_main_queue(), ^{
287
- completionHandler();
288
- });
284
+ completionHandler();
285
+ } else {
286
+ // Defensive: parseUNNotificationRequest: currently never returns nil,
287
+ // but if it did, the completionHandler contract must still be honored.
288
+ completionHandler();
289
289
  }
290
290
  }
291
291
 
@@ -195,13 +195,21 @@
195
195
  // Use the intent to initialize the interaction.
196
196
  INInteraction *interaction = [[INInteraction alloc] initWithIntent:intent response:nil];
197
197
  interaction.direction = INInteractionDirectionIncoming;
198
- [interaction donateInteractionWithCompletion:^(NSError *error) {
199
- if (error)
198
+ [interaction donateInteractionWithCompletion:^(NSError *donateError) {
199
+ if (donateError)
200
200
  NSLog(@"NotifeeCore: Could not donate interaction for communication notification: %@",
201
- error);
201
+ donateError);
202
202
  }];
203
203
 
204
- content = [[content contentByUpdatingWithProvider:intent error:nil] mutableCopy];
204
+ NSError *contentUpdateError = nil;
205
+ UNNotificationContent *updatedContent =
206
+ [content contentByUpdatingWithProvider:intent error:&contentUpdateError];
207
+ if (contentUpdateError) {
208
+ NSLog(@"NotifeeCore: Could not update notification content with communication intent: %@",
209
+ contentUpdateError);
210
+ } else if (updatedContent != nil) {
211
+ content = [updatedContent mutableCopy];
212
+ }
205
213
  }
206
214
  }
207
215
 
@@ -270,13 +278,21 @@
270
278
  // Use the intent to initialize the interaction.
271
279
  INInteraction *interaction = [[INInteraction alloc] initWithIntent:intent response:nil];
272
280
  interaction.direction = INInteractionDirectionIncoming;
273
- [interaction donateInteractionWithCompletion:^(NSError *error) {
274
- if (error)
281
+ [interaction donateInteractionWithCompletion:^(NSError *donateError) {
282
+ if (donateError)
275
283
  NSLog(@"NotifeeCore: Could not donate interaction for communication notification: %@",
276
- error);
284
+ donateError);
277
285
  }];
278
286
 
279
- content = [[content contentByUpdatingWithProvider:intent error:nil] mutableCopy];
287
+ NSError *contentUpdateError = nil;
288
+ UNNotificationContent *updatedContent =
289
+ [content contentByUpdatingWithProvider:intent error:&contentUpdateError];
290
+ if (contentUpdateError) {
291
+ NSLog(@"NotifeeCore: Could not update notification content with communication intent: %@",
292
+ contentUpdateError);
293
+ } else if (updatedContent != nil) {
294
+ content = [updatedContent mutableCopy];
295
+ }
280
296
  }
281
297
  }
282
298
 
@@ -643,7 +659,8 @@
643
659
 
644
660
  id handler = ^(BOOL granted, NSError *_Nullable error) {
645
661
  if (error != nil) {
646
- // TODO send error to notifeeMethodNSDictionaryBlock
662
+ block(error, nil);
663
+ return;
647
664
  }
648
665
 
649
666
  [self getNotificationSettings:block];
@@ -772,7 +789,9 @@
772
789
  NSInteger badgeCount = application.applicationIconBadgeNumber;
773
790
 
774
791
  block(nil, badgeCount == -1 ? 0 : badgeCount);
792
+ return;
775
793
  }
794
+ block(nil, 0);
776
795
  }
777
796
 
778
797
  + (void)incrementBadgeCount:(NSInteger)incrementBy withBlock:(notifeeMethodVoidBlock)block {
@@ -68,7 +68,11 @@
68
68
  // avoid an orphan event sitting in _pendingEvents forever.
69
69
  if (self->delegateRespondsTo.didReceiveNotificationEvent) {
70
70
  delegateToCall = self->delegate;
71
- } else {
71
+ }
72
+ // Buffer if the delegate is not set, or if the bitfield is stale
73
+ // (delegateRespondsTo is true but the weak delegate ref has been
74
+ // zeroed — e.g., during JS reload when NotifeeApiModule is deallocated).
75
+ if (delegateToCall == nil) {
72
76
  [self->_pendingEvents addObject:notificationEvent];
73
77
  }
74
78
  }
@@ -164,8 +164,13 @@ static NSString *const kImagePathPrefix = @"image/";
164
164
  NSString *attachmentIdentifier = attachmentDict[@"id"];
165
165
  NSURL *attachmentURL = [NSURL URLWithString:attachmentDict[@"url"]];
166
166
 
167
- NSURLSession *session = [NSURLSession
168
- sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
167
+ // NSE has a ~30-second budget before iOS calls serviceExtensionTimeWillExpire
168
+ // and kills the process. Cap the download at 25 seconds to leave a 5-second
169
+ // margin for graceful fallback via the extension's expiration handler.
170
+ NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
171
+ config.timeoutIntervalForRequest = 25.0;
172
+ config.timeoutIntervalForResource = 25.0;
173
+ NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
169
174
  [[session
170
175
  downloadTaskWithURL:attachmentURL
171
176
  completionHandler:^(NSURL *temporaryFileLocation, NSURLResponse *response,
@@ -28,6 +28,9 @@ static NSInteger kReactNativeNotifeeNotificationTypeTrigger = 2;
28
28
  static NSInteger kReactNativeNotifeeNotificationTypeAll = 0;
29
29
 
30
30
  @implementation NotifeeApiModule {
31
+ // Guarded by @synchronized(self): didReceiveNotifeeCoreEvent: may be called
32
+ // from arbitrary threads (UNUserNotificationCenter callbacks), while
33
+ // startObserving/stopObserving/sendNotifeeCoreEvent: run on the main thread.
31
34
  bool hasListeners;
32
35
  NSMutableArray *pendingCoreEvents;
33
36
  }
@@ -53,15 +56,21 @@ RCT_EXPORT_MODULE();
53
56
  }
54
57
 
55
58
  - (void)startObserving {
56
- hasListeners = YES;
57
- for (NSDictionary *eventBody in pendingCoreEvents) {
59
+ NSArray *eventsToFlush;
60
+ @synchronized(self) {
61
+ hasListeners = YES;
62
+ eventsToFlush = [pendingCoreEvents copy];
63
+ [pendingCoreEvents removeAllObjects];
64
+ }
65
+ for (NSDictionary *eventBody in eventsToFlush) {
58
66
  [self sendNotifeeCoreEvent:eventBody];
59
67
  }
60
- [pendingCoreEvents removeAllObjects];
61
68
  }
62
69
 
63
70
  - (void)stopObserving {
64
- hasListeners = NO;
71
+ @synchronized(self) {
72
+ hasListeners = NO;
73
+ }
65
74
  }
66
75
 
67
76
  + (BOOL)requiresMainQueueSetup {
@@ -80,18 +89,25 @@ RCT_EXPORT_MODULE();
80
89
  #pragma mark - Events
81
90
 
82
91
  - (void)didReceiveNotifeeCoreEvent:(NSDictionary *_Nonnull)event {
83
- if (hasListeners) {
92
+ BOOL shouldSend;
93
+ @synchronized(self) {
94
+ shouldSend = hasListeners;
95
+ if (!shouldSend) {
96
+ [pendingCoreEvents addObject:event];
97
+ }
98
+ }
99
+ if (shouldSend) {
84
100
  [self sendNotifeeCoreEvent:event];
85
- } else {
86
- [pendingCoreEvents addObject:event];
87
101
  }
88
102
  }
89
103
 
90
104
  - (void)sendNotifeeCoreEvent:(NSDictionary *_Nonnull)eventBody {
91
105
  dispatch_async(dispatch_get_main_queue(), ^{
92
- if (!hasListeners) {
93
- [pendingCoreEvents addObject:eventBody];
94
- return;
106
+ @synchronized(self) {
107
+ if (!hasListeners) {
108
+ [pendingCoreEvents addObject:eventBody];
109
+ return;
110
+ }
95
111
  }
96
112
  // Routing foreground vs background is based on UIApplication state.
97
113
  // iOS delivers didReceiveNotificationResponse: while the app is in
@@ -418,6 +434,11 @@ RCT_EXPORT_MODULE();
418
434
  resolve(nil);
419
435
  }
420
436
 
437
+ - (void)prewarmForegroundService:(RCTPromiseResolveBlock)resolve
438
+ reject:(RCTPromiseRejectBlock)reject {
439
+ resolve(nil);
440
+ }
441
+
421
442
  - (void)hideNotificationDrawer {
422
443
  // Android-only, no-op on iOS
423
444
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-notify-kit",
3
- "version": "9.3.0",
3
+ "version": "9.5.0",
4
4
  "author": "Marco Crupi",
5
5
  "description": "Maintained Notifee-compatible fork for React Native — advanced local notifications for Android & iOS.",
6
6
  "main": "dist/index.js",
@@ -826,6 +826,13 @@ export default class NotifeeApiModule extends NotifeeNativeModule implements Mod
826
826
  return this.native.stopForegroundService();
827
827
  };
828
828
 
829
+ public prewarmForegroundService = (): Promise<void> => {
830
+ if (!isAndroid) {
831
+ return Promise.resolve();
832
+ }
833
+ return this.native.prewarmForegroundService();
834
+ };
835
+
829
836
  public hideNotificationDrawer = (): void => {
830
837
  if (!isAndroid) {
831
838
  return;
@@ -49,6 +49,7 @@ export interface Spec extends TurboModule {
49
49
  getPowerManagerInfo(): Promise<Object>;
50
50
  openPowerManagerSettings(): Promise<void>;
51
51
  stopForegroundService(): Promise<void>;
52
+ prewarmForegroundService(): Promise<void>;
52
53
  hideNotificationDrawer(): void;
53
54
  addListener(eventName: string): void;
54
55
  removeListeners(count: number): void;
@@ -419,6 +419,26 @@ export interface Module {
419
419
  */
420
420
  stopForegroundService(): Promise<void>;
421
421
 
422
+ /**
423
+ * Pre-warms the foreground service notification path by eagerly loading critical
424
+ * classes and warming the `INotificationManager` Binder proxy on a background thread.
425
+ *
426
+ * Most apps do **not** need this method — the library automatically performs warmup
427
+ * at app startup via `InitProvider`. This API is an escape hatch for edge cases:
428
+ *
429
+ * - Apps where the library is lazy-loaded or code-split
430
+ * - Apps that want to defer warmup to after the splash screen
431
+ * - Low-end devices where the `InitProvider` warmup hasn't finished by the time
432
+ * the first notification is displayed
433
+ *
434
+ * Safe to call multiple times (idempotent). On iOS this resolves immediately as a no-op.
435
+ *
436
+ * See the "Advanced / Troubleshooting" section in the README for more details.
437
+ *
438
+ * @platform android
439
+ */
440
+ prewarmForegroundService(): Promise<void>;
441
+
422
442
  /**
423
443
  * Request specific notification permissions for your application on the current device.
424
444
  *
@@ -292,6 +292,23 @@ export interface NotificationAndroid {
292
292
  */
293
293
  foregroundServiceTypes?: AndroidForegroundServiceType[];
294
294
 
295
+ /**
296
+ * Controls the display behavior of the foreground service notification on Android 12+.
297
+ *
298
+ * When `asForegroundService` is `true` and this property is not set, it defaults to
299
+ * `AndroidForegroundServiceBehavior.IMMEDIATE`, which eliminates the up to 10-second
300
+ * display delay that Android 12+ imposes on foreground service notifications.
301
+ *
302
+ * Set to `AndroidForegroundServiceBehavior.DEFERRED` to restore the platform default
303
+ * deferred behavior, or `AndroidForegroundServiceBehavior.DEFAULT` for the framework-neutral
304
+ * default.
305
+ *
306
+ * Ignored when `asForegroundService` is `false` or not set.
307
+ *
308
+ * @platform android API 31+
309
+ */
310
+ foregroundServiceBehavior?: AndroidForegroundServiceBehavior;
311
+
295
312
  /**
296
313
  * Set a notification importance for devices without channel support.
297
314
  *
@@ -1480,3 +1497,48 @@ export enum AndroidForegroundServiceType {
1480
1497
  FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED = 1024,
1481
1498
  FOREGROUND_SERVICE_TYPE_MANIFEST = -1,
1482
1499
  }
1500
+
1501
+ /**
1502
+ * Controls the display behavior of foreground service notifications on Android 12+.
1503
+ *
1504
+ * Values are aligned with androidx.core.app.NotificationCompat constants:
1505
+ * DEFAULT = NotificationCompat.FOREGROUND_SERVICE_DEFAULT (0)
1506
+ * IMMEDIATE = NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE (1)
1507
+ * DEFERRED = NotificationCompat.FOREGROUND_SERVICE_DEFERRED (2)
1508
+ *
1509
+ * Do not change these numeric values without updating the native getter in
1510
+ * NotificationAndroidModel.java.
1511
+ *
1512
+ * @platform android
1513
+ */
1514
+ export enum AndroidForegroundServiceBehavior {
1515
+ /**
1516
+ * Framework default. Equivalent to not calling `setForegroundServiceBehavior()` at all.
1517
+ * On Android 12+, the system may defer display of the foreground service notification
1518
+ * by up to 10 seconds unless an exemption applies.
1519
+ *
1520
+ * Corresponds to `NotificationCompat.FOREGROUND_SERVICE_DEFAULT`.
1521
+ */
1522
+ DEFAULT = 0,
1523
+
1524
+ /**
1525
+ * The foreground service notification is shown immediately after the service starts.
1526
+ * Eliminates the 10-second display delay imposed by Android 12+ on foreground service
1527
+ * notifications.
1528
+ *
1529
+ * This is the library default when `asForegroundService` is `true` and
1530
+ * `foregroundServiceBehavior` is not explicitly set.
1531
+ *
1532
+ * Corresponds to `NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE`.
1533
+ */
1534
+ IMMEDIATE = 1,
1535
+
1536
+ /**
1537
+ * The foreground service notification display may be deferred by up to 10 seconds by the
1538
+ * system. This matches the default Android 12+ behavior and the (unintended) behavior of
1539
+ * upstream `@notifee/react-native`.
1540
+ *
1541
+ * Corresponds to `NotificationCompat.FOREGROUND_SERVICE_DEFERRED`.
1542
+ */
1543
+ DEFERRED = 2,
1544
+ }
@@ -82,9 +82,17 @@ export function isValidUrl(url: string): boolean {
82
82
  }
83
83
 
84
84
  export function isValidEnum(value: any, enumType: Record<string, any>): boolean {
85
- if (!Object.values(enumType).includes(value)) {
86
- return false;
87
- }
85
+ // Filter out reverse-mapped string keys that TypeScript adds to numeric enums.
86
+ // In a numeric enum { A=0, B=1 }, Object.values() returns [0, 1, "A", "B"].
87
+ // The reverse-mapped string "A" satisfies typeof enumType["A"] === 'number',
88
+ // whereas real string enum values (e.g., TimeUnit.SECONDS = 'SECONDS')
89
+ // satisfy typeof enumType["SECONDS"] === 'string', so they are kept.
90
+ const values = Object.values(enumType).filter(
91
+ v => typeof v !== 'string' || typeof enumType[v] !== 'number',
92
+ );
93
+ return values.includes(value);
94
+ }
88
95
 
89
- return true;
96
+ export function getNumericEnumValues(enumType: Record<string, any>): number[] {
97
+ return Object.values(enumType).filter((v): v is number => typeof v === 'number');
90
98
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2016-present Invertase Limited
3
3
  */
4
4
 
5
- import { objectHasProperty, isArray, isBoolean, isObject, isString } from '../utils';
5
+ import { objectHasProperty, isArray, isBoolean, isObject, isString, isValidEnum } from '../utils';
6
6
  import { isValidColor, isValidVibratePattern } from './validate';
7
7
 
8
8
  import { AndroidImportance } from '../types/NotificationAndroid';
@@ -121,7 +121,7 @@ export default function validateAndroidChannel(channel: AndroidChannel): Android
121
121
  * importance
122
122
  */
123
123
  if (objectHasProperty(channel, 'importance') && channel.importance !== undefined) {
124
- if (!Object.values(AndroidImportance).includes(channel.importance)) {
124
+ if (!isValidEnum(channel.importance, AndroidImportance)) {
125
125
  throw new Error("'channel.importance' expected an Importance value.");
126
126
  }
127
127
 
@@ -149,7 +149,7 @@ export default function validateAndroidChannel(channel: AndroidChannel): Android
149
149
  * visibility
150
150
  */
151
151
  if (objectHasProperty(channel, 'visibility') && channel.visibility !== undefined) {
152
- if (!Object.values(AndroidVisibility).includes(channel.visibility)) {
152
+ if (!isValidEnum(channel.visibility, AndroidVisibility)) {
153
153
  throw new Error("'channel.visibility' expected visibility to be an AndroidVisibility value.");
154
154
  }
155
155