react-native-notify-kit 10.8.1 → 10.9.1
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/README.md +35 -18
- package/android/build.gradle +50 -4
- package/android/src/main/AndroidManifest.xml +15 -0
- package/android/src/main/java/app/notifee/core/EventBus.java +4 -0
- package/android/src/main/java/app/notifee/core/ForegroundService.java +395 -5
- package/android/src/main/java/app/notifee/core/ForegroundServiceRunLimitReceiver.java +15 -0
- package/android/src/main/java/app/notifee/core/ForegroundServiceRunLimitScheduler.java +461 -0
- package/android/src/main/java/app/notifee/core/FullScreenNotificationActivity.java +76 -0
- package/android/src/main/java/app/notifee/core/InitialNotificationLedger.java +262 -0
- package/android/src/main/java/app/notifee/core/Notifee.java +142 -20
- package/android/src/main/java/app/notifee/core/NotificationManager.java +50 -6
- package/android/src/main/java/app/notifee/core/NotificationPendingIntent.java +14 -0
- package/android/src/main/java/app/notifee/core/NotificationReceiverHandler.java +11 -2
- package/android/src/main/java/app/notifee/core/event/InitialNotificationEvent.java +15 -0
- package/android/src/main/java/app/notifee/core/event/NotificationEvent.java +6 -0
- package/android/src/main/java/app/notifee/core/model/NotificationAndroidModel.java +29 -0
- package/android/src/main/kotlin/io/invertase/notifee/NotifeeEventSubscriber.kt +3 -0
- package/android/src/test/java/app/notifee/core/ForegroundServiceRunLimitTest.java +2357 -0
- package/android/src/test/java/app/notifee/core/ForegroundServiceTest.java +23 -13
- package/android/src/test/java/app/notifee/core/NotifeeGetInitialNotificationTest.java +3805 -0
- package/android/src/test/java/app/notifee/core/ShadowServiceCompatibilityTest.java +170 -0
- package/android/src/test/resources/robolectric.properties +4 -0
- package/cli/dist/cli.js +0 -1
- package/cli/dist/commands/initNse.js +1 -2
- package/cli/dist/lib/detectProject.js +1 -2
- package/cli/dist/lib/initNseCore.js +0 -1
- package/cli/dist/lib/logger.js +0 -1
- package/cli/dist/lib/patchPodfile.js +0 -1
- package/cli/dist/lib/patchXcodeProject.js +22 -3
- package/cli/dist/lib/writeTemplates.js +0 -1
- package/cli/dist/lib/xcode.js +6 -0
- package/cli/dist/templates/NotificationService.swift.tmpl +74 -6
- package/cli/package.json +1 -0
- package/cli/vendor/xcode/AUTHORS +6 -0
- package/cli/vendor/xcode/LICENSE +202 -0
- package/cli/vendor/xcode/NOTICE +5 -0
- package/cli/vendor/xcode/README.md +32 -0
- package/cli/vendor/xcode/UPSTREAM-SHA256.json +12 -0
- package/cli/vendor/xcode/index.js +18 -0
- package/cli/vendor/xcode/lib/parseJob.js +32 -0
- package/cli/vendor/xcode/lib/parser/pbxproj.js +1904 -0
- package/cli/vendor/xcode/lib/parser/pbxproj.pegjs +280 -0
- package/cli/vendor/xcode/lib/pbxFile.js +233 -0
- package/cli/vendor/xcode/lib/pbxProject.js +2205 -0
- package/cli/vendor/xcode/lib/pbxWriter.js +309 -0
- package/dist/NotifeeNativeModule.web.d.ts +2 -2
- package/dist/types/Module.d.ts +10 -3
- package/dist/types/Notification.d.ts +12 -1
- package/dist/types/Notification.js +3 -0
- package/dist/types/Notification.js.map +1 -1
- package/dist/types/NotificationAndroid.d.ts +9 -0
- package/dist/types/NotificationAndroid.js.map +1 -1
- package/dist/validators/validateAndroidNotification.js +26 -1
- package/dist/validators/validateAndroidNotification.js.map +1 -1
- package/dist/validators/validateAndroidStyle.js +6 -0
- package/dist/validators/validateAndroidStyle.js.map +1 -1
- package/dist/validators/validateIOSAttachment.js +3 -1
- package/dist/validators/validateIOSAttachment.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +8 -5
- package/src/NotifeeNativeModule.web.ts +2 -2
- package/src/types/Module.ts +10 -3
- package/src/types/Notification.ts +13 -0
- package/src/types/NotificationAndroid.ts +10 -0
- package/src/validators/validateAndroidNotification.ts +31 -1
- package/src/validators/validateAndroidStyle.ts +10 -2
- package/src/validators/validateIOSAttachment.ts +5 -1
- package/src/version.ts +1 -1
- package/cli/dist/cli.bundle.js +0 -20834
- package/cli/dist/cli.d.ts +0 -2
- package/cli/dist/cli.js.map +0 -1
- package/cli/dist/commands/initNse.d.ts +0 -12
- package/cli/dist/commands/initNse.js.map +0 -1
- package/cli/dist/lib/detectProject.d.ts +0 -12
- package/cli/dist/lib/detectProject.js.map +0 -1
- package/cli/dist/lib/initNseCore.d.ts +0 -8
- package/cli/dist/lib/initNseCore.js.map +0 -1
- package/cli/dist/lib/logger.d.ts +0 -4
- package/cli/dist/lib/logger.js.map +0 -1
- package/cli/dist/lib/patchPodfile.d.ts +0 -23
- package/cli/dist/lib/patchPodfile.js.map +0 -1
- package/cli/dist/lib/patchXcodeProject.d.ts +0 -41
- package/cli/dist/lib/patchXcodeProject.js.map +0 -1
- package/cli/dist/lib/writeTemplates.d.ts +0 -11
- package/cli/dist/lib/writeTemplates.js.map +0 -1
- package/cli/dist/templates/templates/Info.plist.tmpl +0 -29
- package/cli/dist/templates/templates/NotificationService.swift.tmpl +0 -100
- package/cli/dist/templates/templates/NotifyKitNSE.entitlements.tmpl +0 -6
|
@@ -98,6 +98,35 @@ public class NotificationAndroidModel {
|
|
|
98
98
|
return foregroundServiceType;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
/** Validates bridge input too; never truncate a JS double or silently clamp overflow. */
|
|
102
|
+
@Nullable
|
|
103
|
+
public Long getForegroundServiceBestEffortStopAfterMs() {
|
|
104
|
+
String key = "foregroundServiceBestEffortStopAfterMs";
|
|
105
|
+
if (!mNotificationAndroidBundle.containsKey(key)) return null;
|
|
106
|
+
Object raw = mNotificationAndroidBundle.get(key);
|
|
107
|
+
String error = "notification.android." + key;
|
|
108
|
+
if (!(raw instanceof Number)) throw new IllegalArgumentException(error + " must be a number");
|
|
109
|
+
double value = ((Number) raw).doubleValue();
|
|
110
|
+
if (!Double.isFinite(value) || value != Math.rint(value) || value < 60000 || value > 18000000) {
|
|
111
|
+
throw new IllegalArgumentException(error + " must be an integer in 60000..18000000ms");
|
|
112
|
+
}
|
|
113
|
+
if (!getAsForegroundService() || Build.VERSION.SDK_INT < 35) {
|
|
114
|
+
throw new IllegalArgumentException(error + " requires asForegroundService and API 35+");
|
|
115
|
+
}
|
|
116
|
+
int type = getForegroundServiceType();
|
|
117
|
+
if (type != ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST
|
|
118
|
+
&& type != ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC) {
|
|
119
|
+
throw new IllegalArgumentException(error + " requires single dataSync");
|
|
120
|
+
}
|
|
121
|
+
long duration = ((Number) raw).longValue();
|
|
122
|
+
try {
|
|
123
|
+
Math.addExact(android.os.SystemClock.elapsedRealtime(), duration);
|
|
124
|
+
} catch (ArithmeticException failure) {
|
|
125
|
+
throw new IllegalArgumentException(error + " deadline overflow", failure);
|
|
126
|
+
}
|
|
127
|
+
return duration;
|
|
128
|
+
}
|
|
129
|
+
|
|
101
130
|
/**
|
|
102
131
|
* Gets whether the notification is for a foreground service
|
|
103
132
|
*
|
|
@@ -45,6 +45,9 @@ class NotifeeEventSubscriber : EventListener {
|
|
|
45
45
|
extras.getString(KEY_DETAIL_INPUT)?.let { input ->
|
|
46
46
|
eventDetailMap.putString(KEY_DETAIL_INPUT, input)
|
|
47
47
|
}
|
|
48
|
+
extras.getBundle("foregroundServiceRunLimit")?.let { runLimit ->
|
|
49
|
+
eventDetailMap.putMap("foregroundServiceRunLimit", Arguments.fromBundle(runLimit))
|
|
50
|
+
}
|
|
48
51
|
if (extras.containsKey("startId")) {
|
|
49
52
|
eventDetailMap.putInt("startId", extras.getInt("startId"))
|
|
50
53
|
}
|