idle_detector_wrapper
A comprehensive Flutter package for idle detection with full web scroll support, mouse movement, keyboard input, and touch gesture detection.
1.2.1
4.3K downloads/mo
#4075 most downloaded on pub.dev
robrob-creator/idle_detector_wrapper
What this package is like to depend on
Last release 1 years ago
01 Aug 2025
Too new to tell
only 2 release windows
Most releases are documented
notes for 3 of 4 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
4 releases · first in 2023
0 releases in the last 12 months
see the full history below
Release timeline
4 releases · Jun 2023 to Aug 2025
2024
2025
2026
Releases
latest 4-
1.2.101 Aug 2025Nothing published for this version
-
1.2.001 Aug 2025Release notes
Open source →🚀 New Features
- Pause/Resume Control: Added IdleDetectorController for programmatic control
- Enhanced Mouse Detection: Added MouseRegion for comprehensive mouse activity detection
- Mouse Hover Events: Now detects mouse enter, exit, and hover events in addition to movement
- Remaining Time Tracking: Get real-time remaining time until idle state
- State Querying: Check if detector is idle or paused programmatically
- Timer Reset: Manually reset idle detection timer and state
- Timestamp Persistence: Added optional timestamp persistence across app sessions using SharedPreferences
- Session Continuity: When enabled, idle state persists when app is closed and reopened
- Custom Storage Key: Added
timestampKeyparameter for custom SharedPreferences keys - Backward Compatibility: Timestamp persistence is disabled by default to maintain backward compatibility
- Smart Timer Initialization: When enabled, app starts with correct idle state based on stored timestamp
- Graceful Fallback: If SharedPreferences fails, falls back to normal behavior
🛠️ Technical Improvements
- Controller Pattern: Implemented IdleDetectorController for external state management
- Pause State Management: Proper handling of remaining time during pause/resume
- Enhanced State Tracking: Added pause state and remaining time calculation
- MouseRegion Integration: Layered mouse detection for comprehensive coverage
- Storage Integration: Uses SharedPreferences for cross-platform timestamp storage
- Efficient State Calculation: Calculates remaining idle time on app startup
- Error Handling: Robust error handling for storage operations
- Memory Management: Proper cleanup of storage operations
📖 Documentation
- Updated README: Added comprehensive documentation for timestamp persistence
- API Reference: Updated parameter documentation with new options
- Usage Examples: Added examples for different persistence scenarios
- README Formatting: Fixed markdown formatting issues and code block syntax
- Table Formatting: Corrected API reference table formatting
- Documentation Structure: Improved overall documentation readability
-
1.1.026 Jul 2025Release notes
Open source →🚀 New Features
- onActive Callback: Added
onActiveparameter to detect when user becomes active after being idle - Configurable Keyboard Detection: Added
detectKeyboardActivityparameter to control keyboard input detection - Platform-Aware Defaults: Keyboard detection automatically enabled on web, disabled on other platforms
- Web Scroll Support: Added comprehensive mouse wheel scroll detection for Flutter Web applications
- Enhanced Pointer Events: Improved pointer movement and interaction detection
- Better Mobile Support: Enhanced touch gesture detection including pan updates
- State Tracking: Internal state management to track idle/active transitions
- Precise Event Handling: onActive only triggers when transitioning from idle to active state
🐛 Bug Fixes
- Fixed Web Scroll Issue: Mouse scrolling in Flutter Web now properly resets idle timer
- Improved Event Coverage: Added missing gesture events that weren't being detected
🛠️ Technical Improvements
- Added
_isIdlestate tracking to IdleDetectorState - Enhanced
handleUserInteraction()method to trigger onActive callback appropriately - Improved state management to prevent duplicate callback calls
- Added conditional Focus widget wrapping based on keyboard detection setting
- Improved performance on mobile by allowing keyboard detection to be disabled
- Better separation of concerns between platform-specific behaviors
- Added
Listenerwidget for low-level pointer events - Added
Focuswidget for keyboard event detection - Enhanced
GestureDetectorwith additional gesture callbacks - Improved cross-platform compatibility
🧪 Testing & Examples
- Added comprehensive tests for onActive callback functionality
- Updated example app to demonstrate active/idle transitions with counters
- Added tests for multiple idle/active cycles
- Added comprehensive tests for state transition scenarios
- Updated example app with keyboard detection toggle
📝 Documentation
- Updated README with onActive callback usage examples
- Enhanced API reference with new parameter documentation
- Added behavioral explanations for state transitions
- Added comprehensive keyboard detection configuration examples
- Updated API reference with new parameter
- Added usage guidelines for different platforms
- Updated README with comprehensive usage examples
- Added platform-specific considerations
- Documented all supported user interactions
- Added troubleshooting section
- onActive Callback: Added
-
1.0.020 Jun 2023