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 fixes a variety of issues with how coil is used in the app:
ImageLoader
instances have been replaced with a single App-Wide loader, as is recommended by the Coil Documentation. This improves efficiency and memory usage since bitmaps can be shared across the app. Most of the shared configuration [Such as the error icon] have been moved to here.ImageRequest
instances with the stockImageView.load
method.MediaMetadataCompat
& Notification instances [Previously they used blocking calls and didn't share bitmap data with the rest of the app].sIsCovers
instead of justgoPreference.isCovers
]Overall, this makes image loading both more maintainable and less error-prone compared to before. The most major API change is probably that the
createNotification
is now async, requiring anonDone
lambda instead of returning the value directly. Other than that this preserves most of the normal architecture. Feel free to raise any concerns with my change.