focus_quest library
Public API for the Focus Quest package.
Import this library to use focus sessions, rewards, statistics, storage, feedback, lifecycle handling, and Riverpod integration.
Classes
- AudioplayersFocusFeedback
-
Audio feedback implementation backed by the
audioplayerspackage. - DefaultRewardStrategy
- Default reward strategy based on focused minutes and completion bonuses.
- FakeFocusClock
- Mutable clock for deterministic tests.
- FlutterFocusFeedback
- Haptic feedback implementation backed by Flutter services.
- FocusClock
- Supplies the current time for testable session calculations.
- FocusFeedback
- Optional feedback hooks for session lifecycle events.
- FocusLifecycleBridge
- Simple lifecycle handler that delegates events to a callback.
- FocusLifecycleHandler
- Receives lifecycle events from a host Flutter app.
- FocusProfile
- Aggregated user progress across focus sessions.
- FocusQuestConfig
- Configures how focus sessions reward progress and handle lifecycle interruptions.
- FocusQuestController
- The main public controller for managing focus sessions and statistics.
- FocusQuestNotifier
- Riverpod notifier that coordinates a FocusQuestController.
- FocusQuestState
- Immutable state emitted by the focus quest controller.
- FocusQuestStorage
- Provides a storage abstraction for persisting sessions and profile state.
- FocusReward
- A reward earned for completing or partially completing a focus session.
- FocusSession
- Represents one focus session and its current lifecycle state.
- FocusStatistics
- Calculated focus statistics for the current profile and history.
- HiveFocusQuestStorage
- Hive-backed local persistence for focus sessions and profile state.
- InMemoryFocusQuestStorage
- Volatile storage implementation for tests and prototypes.
- NoopFocusFeedback
- Feedback implementation that intentionally does nothing.
- RewardStrategy
- Calculates rewards for finalized focus sessions.
- SharedPreferences-backed storage for lightweight local persistence.
- SystemFocusClock
- Clock implementation backed by DateTime.now.
Enums
- BackgroundBehavior
- Controls how a session behaves when the app moves to the background.
- FocusLifecycleEvent
- App lifecycle events understood by the focus controller.
- FocusSessionStatus
- Lifecycle status for a focus session.
Properties
-
focusQuestControllerProvider
→ Provider<
FocusQuestController> -
Provides the default FocusQuestController used by Riverpod integrations.
final
-
focusQuestStateProvider
→ NotifierProvider<
FocusQuestNotifier, FocusQuestState> -
Provides immutable focus state and exposes focus-session actions.
final
Exceptions / Errors
- FocusQuestException
- Exception thrown when a focus quest operation is invalid.