The PlaceholderManager contained an optimization that would only update placeholders after the selection start on content change. This works normally fine. However, there is an issue when typing with gestures. Since the inserted word moves the selection start further, the placeholder right after the word wasn't updated. As a fix I've removed this optimization. If we notice any performance issues, we can be smarter about it (and for example only update everything after the previous linebreak).
Test
Set up the MainActivity with the PlaceholderManager. For this you need to initialize the manager and register it with Aztec. Create a ImageWithCaptionAdapter instance and register it with the PlaceholderManager. Replace the EXAMPLE_HTML content with something like <placeholder type=\"image_with_caption\" src=\"and_valid_image_url\" caption=\"test\"></placeholder>
Fix
The PlaceholderManager contained an optimization that would only update placeholders after the selection start on content change. This works normally fine. However, there is an issue when typing with gestures. Since the inserted word moves the selection start further, the placeholder right after the word wasn't updated. As a fix I've removed this optimization. If we notice any performance issues, we can be smarter about it (and for example only update everything after the previous linebreak).
Test
MainActivity
with thePlaceholderManager
. For this you need to initialize the manager and register it with Aztec. Create aImageWithCaptionAdapter
instance and register it with thePlaceholderManager
. Replace theEXAMPLE_HTML
content with something like<placeholder type=\"image_with_caption\" src=\"and_valid_image_url\" caption=\"test\"></placeholder>
https://user-images.githubusercontent.com/1079756/220354686-863f38a1-1e06-45b2-9980-f63bcf208947.mp4
Review
@khaykov
Make sure strings will be translated:
strings.xml
as a part of the integration PR.