Add hidden video feature with PIN lock, UI improvements, and performance optimizations#1706
Closed
NarayanChetri wants to merge 71 commits into
Closed
Add hidden video feature with PIN lock, UI improvements, and performance optimizations#1706NarayanChetri wants to merge 71 commits into
NarayanChetri wants to merge 71 commits into
Conversation
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.
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
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.
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 😅 |
Owner
|
Hey @NarayanChetri sorry for the late reply, great work but can you split it into separate PRs. Thank you |
Author
|
ok sure. i'll do it within a week
…On Fri, 19 Jun 2026 at 16:43, Anil Kumar Beesetti ***@***.***> wrote:
*anilbeesetti* left a comment (anilbeesetti/nextplayer#1706)
<#1706 (comment)>
Hey @NarayanChetri <https://github.com/NarayanChetri> sorry for the late
reply, great work but can you split it into separate PRs. Thank you
—
Reply to this email directly, view it on GitHub
<#1706?email_source=notifications&email_token=AZXHDN4KKVJMJOSOLHSXSP35AUN45A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZVGA4TSMZRG422M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4750993175>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AZXHDN7OZWBFBNHIFUOEFKD5AUN45AVCNFSNUABFKJSXA33TNF2G64TZHM2TSOBZGQYDQOBSHNEXG43VMU5TINBYG43TENJXGE3KC5QC>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Author
|
Hi, I've submitted a new PR #1745 with just the vault feature, kept clean
and separated from the rest. Could you check it out and let me know if it
works for you 😊
Would love to keep contributing more in the future ❤️
— Narayan
On Sat, 20 Jun 2026 at 14:35, Narayan Chetri ***@***.***>
wrote:
… ok sure. i'll do it within a week
On Fri, 19 Jun 2026 at 16:43, Anil Kumar Beesetti <
***@***.***> wrote:
> *anilbeesetti* left a comment (anilbeesetti/nextplayer#1706)
> <#1706 (comment)>
>
> Hey @NarayanChetri <https://github.com/NarayanChetri> sorry for the late
> reply, great work but can you split it into separate PRs. Thank you
>
> —
> Reply to this email directly, view it on GitHub
> <#1706?email_source=notifications&email_token=AZXHDN4KKVJMJOSOLHSXSP35AUN45A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZVGA4TSMZRG422M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4750993175>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AZXHDN7OZWBFBNHIFUOEFKD5AUN45AVCNFSNUABFKJSXA33TNF2G64TZHM2TSOBZGQYDQOBSHNEXG43VMU5TINBYG43TENJXGE3KC5QC>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
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 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 👇