[VMD] Fix image sampling on android #151
Merged
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
Since we are using coil
rememberAsyncImagePainter
instead ofAsyncImage
, we are losing a few built-in features such as sampling in the image request decoding.This passes
size
andscale
parameters in the image request which will later be used to calculate the sample size. The size is aConstraintsSizeResolver
which will passed as a modifier for contraints to be resolved. This is a similar strategy employed in coil withAsyncImage
.NOTE: The
Image
is now nested within aBox
and takes a block with aBoxScope
as a receiver. If you are using that, you might want to switch your placeholder modifiers to match parentBox
.Motivation and Context
When large source images are provided, the image decoding could be slower and take more memory. This was due to the whole image being loaded even though the target size was be significantly smaller.
How Has This Been Tested?
Tested both in sample app and in another app.
Types of changes