From 11ccbb42f6c45fcee094d51775873f4bb8b51bde Mon Sep 17 00:00:00 2001 From: Dariusz Luksza Date: Wed, 11 Jul 2018 17:05:27 +0200 Subject: [PATCH] Honor repeatInterval when rescheduling outdated notiication --- .../RNFirebaseNotificationManager.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java b/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java index 185dc4d5..a2e96e2d 100644 --- a/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java +++ b/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java @@ -365,11 +365,26 @@ public class RNFirebaseNotificationManager { Calendar currentFireDate = Calendar.getInstance(); currentFireDate.setTimeInMillis(fireDate); - newFireDate.add(Calendar.DATE, 1); + newFireDate.set(Calendar.DATE, currentFireDate.get(Calendar.DATE)); newFireDate.set(Calendar.HOUR_OF_DAY, currentFireDate.get(Calendar.HOUR_OF_DAY)); newFireDate.set(Calendar.MINUTE, currentFireDate.get(Calendar.MINUTE)); newFireDate.set(Calendar.SECOND, currentFireDate.get(Calendar.SECOND)); + switch (schedule.getString("repeatInterval")) { + case "minute": + newFireDate.add(Calendar.MINUTE, 1); + break; + case "hour": + newFireDate.add(Calendar.HOUR, 1); + break; + case "day": + newFireDate.add(Calendar.DATE, 1); + break; + case "week": + newFireDate.add(Calendar.DATE, 7); + break; + } + fireDate = newFireDate.getTimeInMillis(); }