Skip to content
TraceItX Docs
Documentation

Screenshot & annotate

A real native screenshot the reporter can draw on — no screen-recording prompt, no camera.

Updated

The capture is a window snapshot, so it shows what the device actually rendered — Compose content, classic Views, and anything a native module drew.

Annotation tools

ToolDraws
penFreehand. Five colours, three thicknesses.
highlighterTranslucent freehand.
rect · ellipseOutlined shapes for circling a control.
arrowPoints at the thing that broke.
textA label. Three sizes.
redactDraws a blur-kind shape — see below.
pointerSelect, move and resize existing marks.

The palette and sizes are identical across every TraceItX SDK, so a report looks the same whichever platform filed it.

Redaction is baked, not overlaid

A redact shape is rendered opaque into the image bytes before upload — not stored as a region for a viewer to honour. The pixels underneath are gone by the time the report leaves the device.

An overlay is a request; a bake is a guarantee. If a user blurs their bank balance, no receiver and no support engineer can recover it, because it was never uploaded.

The same applies to sensitive views — Modifier.txSensitive(), TXSensitiveView, markSensitive() and password fields — painted black before the screenshot leaves the capture step. See Sensitive content.

In the envelope

kindWhat it is
screenshotThe capture as taken.
annotated-screenshotThe baked result, with drawings and redactions applied.

Plus payload.annotations and payload.redactions recording the vector shapes. A dashboard can re-render annotations over the clean screenshot — but only annotations. Redactions cannot be undone, by design.

What comes back blank

Anything drawn on a SurfaceView — video players, camera previews, some map views — comes back black. The capture is a PixelCopy of the window, and a surface is composited outside it — which is why a screenshot of a video player often shows the chrome but not the frame. A window with FLAG_SECURE set comes back black as well.

If your whole app sets FLAG_SECURE for security reasons, screenshots will be empty everywhere. The rest of the report — breadcrumbs, logs, network, replay — still works, and is usually enough.