-
-
Notifications
You must be signed in to change notification settings - Fork 29
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: aload0/Reef
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.0.3
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: aload0/Reef
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.0.4
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 24 files changed
- 2 contributors
Commits on Jan 8, 2026
-
feat: Refactor routine management system to support multiple active s…
…essions This commit overhauls the routine management architecture, replacing the single-active-routine model with a more robust system capable of handling multiple simultaneous sessions. It consolidates logic into a new `Routines` object and improves cross-process state synchronization. Key changes include: * **New `Routines` Object**: Replaces `RoutineManager`, `RoutineExecutor`, `RoutineScheduleCalculator`, and `RoutineLimits`. It serves as the centralized logic for CRUD operations, session management (starting/stopping), and calculating limits/usage across all active routines. * **Support for Multiple Sessions**: Introduced `ActiveSession` data class to track multiple concurrent routines. The system now aggregates limits from all active sessions, applying the strictest (lowest) limit for any given package. * **Improved State Synchronization**: Added `ACTION_CHANGED` broadcast and a `BroadcastReceiver` in `BlockerService` to ensure the accessibility service remains in sync with routine state changes even across different process boundaries. * **Refactored `RoutineScheduler`**: Integrated schedule calculation logic directly into the scheduler and updated it to interface with the new `Routines` session management. * **`BlockerService` Enhancements**: * Implements a receiver for real-time session updates. * Uses `DeviceProtectedStorageContext` for early access to preferences if needed. * Enhanced logging for block reasons (Focus Mode vs. Routine Limits). * **UI and UX Updates**: * Updated `RoutinesScreen` and `CreateRoutineScreen` to use the new `Routines` API. * Simplified notification strings and plural handling for app limits. * **Dependency Updates**: Bumped AGP version to `9.1.0-alpha03`. * **Code Cleanup**: Removed legacy utility classes (`RoutineExecutor.kt`, `RoutineLimits.kt`, `RoutineManager.kt`, `RoutineScheduleCalculator.kt`) and streamlined usage tracking logic in `UsageTracker.kt`. Signed-off-by: invokevirtual <purwarpranav80@gmail.com>Configuration menu - View commit details
-
Copy full SHA for 170881f - Browse repository at this point
Copy the full SHA 170881fView commit details
Commits on Jan 18, 2026
-
Stats calculation fixes, accessibility blockerService fix and spanish…
… internationalization (#35) * Refactor screen usage calculation logic Reworks the logic for calculating app foreground time using UsageEvents, improving accuracy and compatibility with newer Android versions. Introduces separate event queries for lookback and main intervals, and simplifies event handling for ACTIVITY_RESUMED and ACTIVITY_PAUSED. * Add Spanish translations for app strings Introduces a new strings.xml file with Spanish translations for all user-facing text in the application, supporting localization for Spanish-speaking users. * Update build configs and dependencies for Reef and appintro Added kotlin-android plugin and set JVM target in Reef and appintro build scripts. Updated gradle.properties with new Android build options. Refreshed library versions in libs.versions.toml, including AGP, Compose BOM, Material3, and others. * Update AndroidManifest.xml Remove `android:process=":blocker_process` since it makes the blockservice fail * Add InitializationProvider to AndroidManifest Added androidx.startup.InitializationProvider to the manifest to support initialization of WorkManager. The provider is set as non-exported and includes meta-data for WorkManagerInitializer, with node removal specified for merging. * Replace hardcoded strings with resources in UI Updated MainActivity to use string resources for navigation bar labels and time suffixes instead of hardcoded strings. This improves localization and consistency across the app. * Update MainScreen.kt * Add 5-minute option to AppSelectorDialog Introduced a 5-minute selection to the time options in AppSelectorDialog for improved granularity when setting durations. * Fix week offset and day calculation logic in AppUsageViewModel Corrects the calculation of days for week offset and day iteration in AppUsageViewModel. Updates logic to properly add/subtract days and checks for usage data more accurately, ensuring correct navigation and data retrieval for previous weeks. * Add new focus session and navigation strings Introduces new string resources for focus session states, slide actions, sample routines, and bottom navigation in both English and Spanish. Also updates several existing strings for consistency and clarity. * Refactor usage event querying and improve foreground time logic Extracted event querying into a helper function for cleaner code. Improved logic for tracking package foreground times by handling noisy packages and ensuring accurate duration calculation. This refactor enhances maintainability and correctness of screen usage tracking. * Remove `kotlin-android` plugin * Remove `kotlin-android` plugin * Clean up gradle.properties by removing unused settings Removed several deprecated Android Gradle properties. * Update AGP version to 9.1.0-alpha05 --------- Co-authored-by: invoke <purwarpranav80@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for aba5384 - Browse repository at this point
Copy the full SHA aba5384View commit details
Commits on Jan 27, 2026
-
chore: Comment out debug log for active sessions check in Routines.kt
Signed-off-by: invokevirtual <purwarpranav80@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 86fc4f2 - Browse repository at this point
Copy the full SHA 86fc4f2View commit details -
feat: Update version to 3.0.4 and add changelog
This commit increments the version code and name to 3.0.4 and introduces the English changelog highlighting several new features and stability improvements. Key changes include: * **Version Update**: Bumped `versionCode` to `304` and `versionName` to `3.0.4` in `build.gradle.kts`. * **Feature Enhancements**: * Support for running multiple focus routines and app limits simultaneously. * Added auto-start functionality for Pomodoro rounds and breaks. * Improved Blocker persistence by starting immediately after reboot (Direct Boot support). * DND now toggles automatically and the Pause button is hidden in Strict Mode. * **Stability and Performance**: * Implemented a background safety net to prevent focus sessions from being killed. * Improved app usage tracking accuracy for newer Android versions. * Optimized tab switching and screen animations. * **Localization**: Added Spanish translation and updated French translation strings. Signed-off-by: invokevirtual <purwarpranav80@gmail.com>Configuration menu - View commit details
-
Copy full SHA for a3fe77c - Browse repository at this point
Copy the full SHA a3fe77cView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.0.3...v3.0.4