juice_lifecycle 0.2.0
juice_lifecycle: ^0.2.0 copied to clipboard
App lifecycle (foreground/background/resume) as a Juice bloc, behind a swappable provider seam.
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.
0.2.0 - 2026-08-12 #
Changed #
- Require
juice ^1.6.0and declare an explicit concurrency policy for every event. - Coalesce overlapping initialization with
EventConcurrency.droppable. - Process lifecycle transitions sequentially so
previousalways reflects provider stream order, including rapid bursts.
0.1.0 - 2026-05-28 #
Added #
- Initial release.
LifecycleBloc— owns the app's foreground/background/resume phase.LifecycleProvider— vendor seam; the bloc depends on this, not onWidgetsBinding, so it is testable without a real binding.WidgetsLifecycleProvider— default provider backed by Flutter'sAppLifecycleListener.- Convenience getters —
isForeground,isBackground,resumedFromBackground, pluspreviousphase. - Rebuild group —
lifecycle:state.