RUM-8774 SessionReplay Image recording uses correct frame calculation for scaleAspectFill #2200
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.
What and why?
What?
In Session Replay when capturing images from
UIImageView
withcontentMode
scaleAspectFill
, in some condition the computedCGRect
which represent what the customer will see on Session Replay Player, did not match what was displayed on device.Why?
The condition used to find which dimension "scaling factor" to apply (height or width), was comparing the distance (in points) difference between the container and the content, instead of comparing the scaling factors required so that the image fill properly the container for both dimensions.
How?
The fix change this condition to now compute both the
x
andy
scaling factor needed so the content image fills the container, and select the biggest of the two (usingmax
), ensuring the image always fill the container in both dimensions.Review checklist