hybrid_task_runner 1.1.1
hybrid_task_runner: ^1.1.1 copied to clipboard
A Flutter package implementing a Hybrid Background Strategy using AlarmManager for precision scheduling and WorkManager for reliable long-running task execution on Android.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.1 - 2026-02-04 #
Documentation #
- Updated installation instructions to use
flutter pub add - Added pub.dev badge to README
- Updated
pubspec.yamlmetadata
1.1.0 - 2026-02-04 #
Added #
-
Task Overlap Policy - Control what happens when tasks overlap
TaskOverlapPolicy.replace- Cancel running task, start new one (default)TaskOverlapPolicy.skipIfRunning- Ignore new task if one is runningTaskOverlapPolicy.parallel- Run both tasks simultaneously
-
Multi-Task API - Register multiple named tasks with independent schedules
HybridRunner.registerTask()- Register a named taskHybridRunner.getRegisteredTasks()- List all registered tasksHybridRunner.stopTask(name)- Stop a specific task by nameHybridRunner.stopAllTasks()- Stop all registered tasks
-
One-Time Tasks - Tasks that run once and are automatically removed
- New
isOneTimeparameter inregisterTask() - One-time tasks don't get backup periodic WorkManager tasks
- New
-
RegisteredTask Model - Task configuration with JSON serialization
- Properties:
name,interval,isActive,isOneTime,registeredAt,alarmId
- Properties:
Changed #
- Renamed
loopIntervalparameter tointervalinregisterTask()for clarity - Updated README with comprehensive English documentation
- Clarified that hybrid approach has no minimum interval (only backup task has 15-min minimum)
1.0.0 - 2026-02-03 #
Added #
- Initial release of
hybrid_task_runner HybridRunner.initialize()- Initialize AlarmManager and WorkManager pluginsHybridRunner.start()- Start the hybrid task loop with configurable intervalHybridRunner.stop()- Stop the task loop and cancel pending alarms/tasksHybridRunner.isActive- Check if runner is currently activeHybridRunner.loopInterval- Get current loop intervalHybridStorage- Utility for persisting callback handles and configuration- Exported callbacks
alarmCallbackandworkmanagerCallbackDispatcherfor advanced use cases - Comprehensive test suite with 29 tests
- Example application demonstrating usage
- Full documentation and README
Architecture #
- Uses
android_alarm_manager_plusfor precision scheduling - Uses
workmanagerfor reliable long-running task execution - Uses
shared_preferencesfor persisting callback handles across isolates - Hybrid strategy: Alarm fires → Enqueues WorkManager → Executes task → Reschedules alarm