Commit Graph

6 Commits

Author SHA1 Message Date
Matthew Raymer
07a09a5a0d chore: remove Gradle build cache files and update .gitignore
- Remove .gradle/ directory from git tracking (build cache files)
- Add .gradle/ to .gitignore to prevent future tracking
- Clean up repository by excluding unnecessary build artifacts

Gradle build cache files (fileHashes, configuration-cache, etc.) are
machine-specific and should not be committed to version control.
This improves repository cleanliness and prevents build conflicts.
2025-08-26 06:44:59 +00:00
Matthew Raymer
a865878fab chore: exclude workflow directory from git tracking
Add workflow/ to .gitignore to prevent tracking of workflow-related files
and clean up cursor rules directory structure.
2025-08-26 06:42:11 +00:00
Matthew Raymer
2d535b5d8f feat: Implement Android native plugin with offline-first pipeline
- Add DailyNotificationPlugin main class with Capacitor integration
- Implement NotificationContent model following project directive schema
- Create DailyNotificationStorage with tiered storage approach
- Add DailyNotificationScheduler with exact/inexact alarm support
- Implement DailyNotificationFetcher for background content retrieval
- Create DailyNotificationReceiver for alarm handling
- Add WorkManager workers for background tasks and maintenance
- Implement prefetch → cache → schedule → display pipeline
- Add comprehensive error handling and logging
- Support battery optimization and adaptive scheduling
2025-08-12 09:39:06 +00:00
Matthew Raymer
a336b39754 refactor(plugin): modernize plugin architecture and improve type definitions
- Update package.json with modern build tooling and dependencies
- Streamline and enhance TypeScript definitions for better type safety
- Reorganize plugin structure for better maintainability
- Add comprehensive interface definitions for notification features
- Implement proper build configuration with rollup
- Update tsconfig.json for stricter type checking and ES2020 modules

Breaking Changes:
- Changed module structure to use ES modules
- Updated interface definitions with stricter typing
- Removed redundant notification options
- Simplified API surface while maintaining core functionality

Dependencies:
- Upgrade @capacitor dependencies to v5.7.8
- Add rollup and typescript build tools
- Update test framework configuration
2025-03-28 12:47:10 +00:00
Matthew Raymer
450352718f feat(android): Enhance battery optimization and notification management
- Add BatteryOptimizationSettings class for centralized power management
- Implement adaptive scheduling based on power state and battery level
- Add comprehensive battery monitoring and status tracking
- Improve notification reliability with WorkManager integration
- Add maintenance worker for background tasks
- Enhance logging with structured DailyNotificationLogger
- Add configuration management with DailyNotificationConfig
- Define constants in DailyNotificationConstants
- Improve error handling and recovery mechanisms

Security:
- Add proper permission checks for battery optimization
- Implement secure wake lock management
- Add validation for notification parameters
- Use FLAG_IMMUTABLE for PendingIntents
- Implement proper cleanup in handleOnDestroy

Testing:
- Add test coverage for battery optimization features
- Add test coverage for notification scheduling
- Add test coverage for power state management
- Add test coverage for maintenance tasks

Documentation:
- Add comprehensive file-level documentation
- Add method-level documentation
- Add security considerations
- Add performance optimization notes

This commit improves the Android implementation's reliability and battery
efficiency while maintaining feature parity with iOS. It adds robust
error handling, logging, and configuration management to make the plugin
more maintainable and debuggable.
2025-03-28 09:38:28 +00:00
Matthew Raymer
e946767cba Initial commit 2025-03-25 10:40:14 +00:00