Added Loop Recording new functionality #212
Open
BBarbuz wants to merge 10 commits intoanonfaded:masterfrom
Open
Added Loop Recording new functionality #212BBarbuz wants to merge 10 commits intoanonfaded:masterfrom
BBarbuz wants to merge 10 commits intoanonfaded:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces loop recording functionality that automatically deletes older video files when a configured storage limit is reached. This feature is designed for continuous recording scenarios like dash cams or security cameras, where storage space management is critical. The implementation leverages the existing video splitting infrastructure to enable seamless recording continuation.
Key changes:
- New
LoopRecordingManagerclass manages automatic deletion of oldest recordings when storage limits are exceeded - UI components added to configure and enable loop recording with preset sizes (4GB, 16GB, 32GB, 64GB) or custom values
- Integration with
RecordingServiceto enforce storage limits after each recording session completes
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 21 comments.
Show a summary per file
| File | Description |
|---|---|
| gradlew | Added standard Gradle wrapper shell script (new file) |
| gradle/libs.versions.toml | Updated AGP version from 8.11.1 to 8.13.1 |
| app/src/main/res/values/strings.xml | Added string resources for loop recording UI labels and descriptions |
| app/src/main/res/layout/fragment_settings_video.xml | Added loop recording settings row to video settings UI |
| app/src/main/res/drawable/baseline_loop_24.xml | Added loop icon vector drawable for settings UI |
| app/src/main/java/com/fadcam/utils/LoopRecordingManager.java | New utility class implementing storage limit enforcement logic |
| app/src/main/java/com/fadcam/ui/VideoSettingsFragment.java | Added UI handlers and bottom sheets for configuring loop recording settings |
| app/src/main/java/com/fadcam/services/RecordingService.java | Integrated loop recording enforcement after recording stops |
| app/src/main/java/com/fadcam/SharedPreferencesManager.java | Added preference keys and accessor methods for loop recording configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR introduces the ability to record in a loop. The new functionality allows for continuous recording, automatically overwriting older footage when the storage limit is reached. This is ideal for applications like car cameras, where older videos are no longer needed after a certain point.
Benefits:
Ensures seamless, continuous recording without interruptions.
Efficient use of storage, especially for applications like dash cams or security cameras.
Flexibility to configure storage settings based on user needs.
Loop recording implementation is based on Split video ability so no minor changes has been made.


