diff --git a/android/plugin/src/main/java/com/timesafari/dailynotification/DailyNotificationPlugin.java b/android/plugin/src/main/java/com/timesafari/dailynotification/DailyNotificationPlugin.java index 2ffcea1..c733e26 100644 --- a/android/plugin/src/main/java/com/timesafari/dailynotification/DailyNotificationPlugin.java +++ b/android/plugin/src/main/java/com/timesafari/dailynotification/DailyNotificationPlugin.java @@ -581,6 +581,13 @@ public class DailyNotificationPlugin extends Plugin { // Ensure storage is initialized ensureStorageInitialized(); + // Ensure scheduler is initialized + if (scheduler == null) { + Log.w(TAG, "DN|SCHEDULER_NULL initializing_scheduler"); + alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); + scheduler = new DailyNotificationScheduler(getContext(), alarmManager); + } + // Validate required parameters String time = call.getString("time"); if (time == null || time.isEmpty()) { @@ -2009,6 +2016,13 @@ public class DailyNotificationPlugin extends Plugin { try { Log.d(TAG, "Scheduling daily reminder"); + // Ensure scheduler is initialized + if (scheduler == null) { + Log.w(TAG, "DN|SCHEDULER_NULL initializing_scheduler"); + alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); + scheduler = new DailyNotificationScheduler(getContext(), alarmManager); + } + // Extract reminder options String id = call.getString("id"); String title = call.getString("title"); @@ -2088,6 +2102,13 @@ public class DailyNotificationPlugin extends Plugin { try { Log.d(TAG, "Cancelling daily reminder"); + // Ensure scheduler is initialized + if (scheduler == null) { + Log.w(TAG, "DN|SCHEDULER_NULL initializing_scheduler"); + alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); + scheduler = new DailyNotificationScheduler(getContext(), alarmManager); + } + String reminderId = call.getString("reminderId"); if (reminderId == null) { call.reject("Missing reminderId parameter"); @@ -2134,6 +2155,13 @@ public class DailyNotificationPlugin extends Plugin { try { Log.d(TAG, "Updating daily reminder"); + // Ensure scheduler is initialized + if (scheduler == null) { + Log.w(TAG, "DN|SCHEDULER_NULL initializing_scheduler"); + alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); + scheduler = new DailyNotificationScheduler(getContext(), alarmManager); + } + String reminderId = call.getString("reminderId"); if (reminderId == null) { call.reject("Missing reminderId parameter");