Merge intent extras with parsed deeplink query parameters
in EncodeActivity so app links populate content and format
even when Android supplies an empty extras bundle.
This fixes opened /encode links showing an empty content
field.
Many QR codes in the wild contain analytics tracking parameters
(utm_*, fbclid, gclid, mc_*, _ga, igshid, …) that uniquely identify
the scanning user/session. These add nothing for the user and are
silently propagated to the destination site when openUri() launches
ACTION_VIEW.
Add a tiny content/UrlSanitizer helper that filters a curated set of
~30 well-known tracker parameter names from http(s) URIs, and call it
from openUri() so cleanup happens transparently on every URL launch.
The list is intentionally conservative: only parameters whose sole
purpose is third-party attribution. Functional/site parameters
(q, id, v, page, search, …) are left untouched. Non-http(s) URIs and
URIs without a query string are returned as-is, so there's no
behavioral change for tel:, mailto:, geo:, content:, etc.
Move ROI and frame mapping data out of shared mutable activity
fields.
Capture view geometry on the UI thread, then build per-frame
mapping data inside the analyzer so decoding, crosshair checks,
and overlay updates use a consistent snapshot.
Ringer mode is irrelevant for STREAM_MUSIC. Audio plays in
vibrate mode regardless. Check stream volume instead, so beeps
are only suppressed when the media volume is actually zero.
Commit 73047cdee6 merged the old
migrateToNativeFormatNames() and migrateBarcodeFormatName() mapping
functions, but the new map was based on the former, which happened to be
missing the entry for DATA_BAR.
Fixes: #636
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
Flatten nested IDB messages into seal fields and decode child values
using the schema-defined coding from vdstools. This fixes nested
content such as MRZ fields inside IDB container messages being shown
as raw byte counts instead of decoded text.