Skip to content

Add hidden video feature with PIN lock, UI improvements, and performance optimizations#1706

Closed
NarayanChetri wants to merge 71 commits into
anilbeesetti:mainfrom
NarayanChetri:hide-videos-feature
Closed

Add hidden video feature with PIN lock, UI improvements, and performance optimizations#1706
NarayanChetri wants to merge 71 commits into
anilbeesetti:mainfrom
NarayanChetri:hide-videos-feature

Conversation

@NarayanChetri

@NarayanChetri NarayanChetri commented May 20, 2026

Copy link
Copy Markdown

This is my first contribution. I really liked the app and started using it myself, so I tried some small experiments to make it better for my personal use.

What I changed:
Added a hide video feature with PIN lock for privacy
Removed video duration from folders to make the UI look cleaner
Tried adding some caching improvements to help performance
Note:

Since I’m new to contributing, I ended up doing all these changes in one branch while experimenting, so things are a bit mixed together. I’ll love to hear from you.
Fixes #1523
preview 👇

IMG_20260520_205013 IMG_20260520_205028 IMG_20260520_205105

Implemented hideVideos function to move videos to a vault directory and remove them from MediaStore.
Added functionality to hide selected videos and update UI accordingly.
Updated the hideVideos function to improve file handling and added a method to retrieve display filenames from content URIs.
Refactor hideVideos method to improve clarity and structure. Added comments to outline steps for creating vault folder, copying videos, and deleting originals.
Added methods to list vault files and unhide videos from the vault directory.
Replaced icons with custom NextIcons in VaultScreen.
Added functionality to handle video hiding with PIN protection.
Add PIN setup dialog for hiding videos functionality.
Add missing newline at the end of VaultNavigation.kt
NarayanChetri and others added 25 commits May 19, 2026 13:05
Refactor MediaView to use LocalConfiguration for layout calculations, improving performance by avoiding subcomposition overhead. Update spans and item spans logic for better clarity and maintainability.
Added memory cache configuration to ImageLoader with a maximum size of 20% of available app memory. Updated disk cache size limit to 512MB.
Fix A eliminates the BoxWithConstraints subcomposition that was happening on every recomposition of the grid — the biggest win, you should feel this immediately when opening folders.
Fix B keeps the O(1) set lookup but is already fast; the main gain here is making sure derivedStateOf inside each list item doesn't recompute unnecessarily.
Fix C adds a 20% RAM memory cache so scrolling back up shows thumbnails instantly instead of re-reading from disk, and caps disk cache at 512MB instead of unbounded.
Added functionality to delete selected videos from the vault with confirmation dialog.
Refactor VaultViewModel to use Compose for UI rendering and manage state with Compose's state management features. Replace ViewModel lifecycle methods with Composable functions for better integration with the UI.
Refactor VaultViewModel to use Hilt for dependency injection and update UI state management. Replace Composable functions with ViewModel methods for handling PIN operations and vault file management.
Removed context menu for single-item long press and updated selection handling.
Removed crossfade effect from AsyncImage in VideoItem.
Added a method to prefetch thumbnails for media videos to optimize loading.
Initialize mediaDataState based on folderPath and add a comment about sub-folder loading.
Added custom enter and exit transitions for MediaPickerRoute navigation.
Replaced fade transitions with no transitions for navigation.
@NarayanChetri

Copy link
Copy Markdown
Author

Hi @anilbeesetti, just following up on this! Since this is my first contribution and it includes a few different changes (the PIN lock, UI tweaks, and caching), I'd be happy to split this up into smaller, separate pull requests if that makes it easier for you to review. Let me know what works best for you ! I really want to be a part of this project 😅

@anilbeesetti

Copy link
Copy Markdown
Owner

Hey @NarayanChetri sorry for the late reply, great work but can you split it into separate PRs. Thank you

@NarayanChetri

NarayanChetri commented Jun 20, 2026 via email

Copy link
Copy Markdown
Author

@NarayanChetri NarayanChetri closed this by deleting the head repository Jun 21, 2026
@NarayanChetri

NarayanChetri commented Jun 24, 2026 via email

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Add a Toggle to Show Hidden Files

2 participants