feat: Implement SHA-1 pre-calculation and image loading abort logic#6606
Closed
Kota-Jagadeesh wants to merge 8 commits intocommons-app:mainfrom
Closed
feat: Implement SHA-1 pre-calculation and image loading abort logic#6606Kota-Jagadeesh wants to merge 8 commits intocommons-app:mainfrom
Kota-Jagadeesh wants to merge 8 commits intocommons-app:mainfrom
Conversation
…outine cancellation
…ge during cleanUp
…eserve ViewModel lifecycle
…er synchronization
|
✅ Generated APK variants! |
Member
|
Would you mind first creating an issue describing the problem? Thanks! 🙂 |
Collaborator
Author
|
Certainly! I will create an issue for this now. To clarify, this pr is to address two specific TODO comments located in ImageFileLoader.kt: // todo Abort loading images. - Implementing lifecycle-aware cancellation of the background image scanner. I'll link the new issue to the PR shortly. Thanks! 🙂 |
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.
Description (required)
Fixes #6607 (Specifically addressing TODOs in ImageFileLoader and related classes)
Changes implemented:
ImageFileLoaderduring the initial device scan. This ensures eachImagemodel carries its digital fingerprint from the start, allowingImageLoaderto perform duplicate checks on Commons without redundant file I/O.abortLoadImagemechanism inImageFileLoaderusing CoroutineJobcancellation.ImageAdaptercleanup phase andCustomSelectorViewModel'sonClearedmethod to ensure background scanning stops immediately when the user exits the gallery.ImageFragmentandCustomSelectorViewModelFactoryto support the newImageFileLoaderdependency requirements.Why?
These changes resolve long-standing TODOs in the codebase meant to improve app performance and prevent accidental duplicate uploads by making the SHA-1 consistently available across the Custom Selector components.
Tests performed (required)
Tested ProDebug variant on Redmi Note 13 Pro with API level 35.
ImageFileLoaderTestandImageAdapterTestto verify:abortLoadImageis called.shadowOf(Looper.getMainLooper()).idle().Screenshots (for UI changes only)
N/A (Logic and performance optimization)