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(); }