+ Fix Android rescheduled notifications firing immediately
This commit is contained in:
parent
8ef7c2d983
commit
d193c6b688
|
@ -657,7 +657,21 @@ public class RNFirebaseNotificationManager {
|
|||
String notificationId = notification.getString("notificationId");
|
||||
Bundle schedule = notification.getBundle("schedule");
|
||||
|
||||
Double fireDate = schedule.getDouble("fireDate");
|
||||
// fireDate is stored in the Bundle as Long after notifications are rescheduled.
|
||||
// This would lead to a fireDate of 0.0 when trying to extract a Double from the bundle.
|
||||
// Instead always try extract a Long
|
||||
Long fireDate = schedule.getLong("fireDate", -1);
|
||||
if (fireDate == -1) {
|
||||
fireDate = (long) schedule.getDouble("fireDate", -1);
|
||||
if (fireDate == -1) {
|
||||
if (promise == null) {
|
||||
Log.e(TAG, "Missing schedule information");
|
||||
} else {
|
||||
promise.reject("notification/schedule_notification_error", "Missing fireDate information");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Scheduled alarms are cleared on restart
|
||||
// We store them so that they can be re-scheduled when the phone restarts in RNFirebaseNotificationsRebootReceiver
|
||||
|
|
Loading…
Reference in New Issue