Skip to content

Conversation

@abelonogov-ld
Copy link
Contributor

@abelonogov-ld abelonogov-ld commented Dec 3, 2025

Summary

Take transformed coordinates, which are more precise in animation for both XML and Compose case using 4 points method.

image

How did you test this change?

Are there any deployment considerations?


Note

Switch masking to transformed 4-point polygons for Compose and Views, refactor collection via MaskContext, render via Path, and add a rotating credit card section in the demo form.

  • SDK/Masking:
    • Use transformed 4-point polygon masks (points) for both Compose and native views; draw via Path in CaptureSource.drawMasks.
    • Refactor APIs: MaskTarget.mask(context) signature; Mask now holds rect, viewId, and optional points (removed matrix).
    • Introduce MaskCollector.MaskContext (shared Matrix, rootX/Y, matchers) and update traversal to pass context.
    • Compute transformed corners in ComposeMaskTarget.points and NativeMaskTarget.points (API 29+).
  • E2E Demo:
    • Group credit card fields into credit_card_section and add continuous Y-rotation animation in XMLUserFormActivity to exercise transformed masking.

Written by Cursor Bugbot for commit b6e9440. This will update automatically on new commits. Configure here.

* main:
  feat: support non-standard windows added by WindowManager (#306)
* main:
  feat: recursive mask collection (#308)

# Conflicts:
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/capture/CaptureSource.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/ComposeMaskTarget.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/Mask.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/MaskCollector.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/MaskMatcher.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/NativeMaskTarget.kt
@abelonogov-ld abelonogov-ld requested a review from a team as a code owner December 3, 2025 18:06
@abelonogov-ld abelonogov-ld enabled auto-merge (squash) December 3, 2025 18:33
* main:
  chore: release main (#307)
  fix(SEC-7530): update react-server-dom-webpack to 19.0.1 (#310)
@abelonogov-ld abelonogov-ld merged commit 5d669d4 into main Dec 4, 2025
22 checks passed
@abelonogov-ld abelonogov-ld deleted the andrey/transformed-coordinates branch December 4, 2025 17:27
abelonogov-ld pushed a commit that referenced this pull request Dec 4, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.19.0</summary>

##
[0.19.0](launchdarkly-observability-android-0.18.0...launchdarkly-observability-android-0.19.0)
(2025-12-04)


### Features

* take transformed coordinates, which are more precise in animation
([#309](#309))
([5d669d4](5d669d4))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Release `observability-android` 0.19.0, updating versions and
changelog with a feature to use transformed coordinates for more precise
animation handling.
> 
> - **Android SDK (`sdk/@launchdarkly/observability-android`)**:
> - Version bump to `0.19.0` in `gradle.properties` and
`.release-please-manifest.json`.
> - Changelog updated with feature: use transformed coordinates for
improved precision during animations.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7636155. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
abelonogov-ld added a commit that referenced this pull request Dec 4, 2025
* main:
  doc: Add using ldMask in readme. (#311)
  chore: release main (#312)
  feat: take transformed coordinates, which are more precise in animation  (#309)
  chore: release main (#307)
  fix(SEC-7530): update react-server-dom-webpack to 19.0.1 (#310)

# Conflicts:
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/capture/CaptureSource.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/ComposeMaskTarget.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/Mask.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/masking/NativeMaskTarget.kt
abelonogov-ld added a commit that referenced this pull request Dec 4, 2025
* main: (85 commits)
  doc: Add using ldMask in readme. (#311)
  chore: release main (#312)
  feat: take transformed coordinates, which are more precise in animation  (#309)
  chore: release main (#307)
  fix(SEC-7530): update react-server-dom-webpack to 19.0.1 (#310)
  feat: recursive mask collection (#308)
  feat: support non-standard windows added by WindowManager (#306)
  feat: Android SR Do not send duplicate screens (#304)
  test: Add UI and logic to evaluate boolean flags (#305)
  chore: release main (#303)
  feat: Android Dialog Capture (#302)
  chore: Update Android Test main screen (#301)
  chore: release main (#300)
  feat: XML Views Automasking options (#299)
  fix: missed imports (#298)
  chore: release main (#297)
  feat: Support ldMask() for Native and Compose views. (#295)
  chore: release main (#296)
  fix: tweaks Android InteractionDetector to delegate additional defaul… (#294)
  chore: release main (#293)
  ...

# Conflicts:
#	e2e/react-router/src/ldclientLazy.tsx
#	e2e/react-router/src/routes/root.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants