1651 Commits
Author SHA1 Message Date
Markus Fisch ded532c523 Update ZXing-C++ and support Telepen format 2026-05-27 21:17:48 +02:00
Markus Fisch 17c49a4a27 Advance version number to 1.73.0 1.73.0 2026-05-26 23:06:19 +02:00
Markus Fisch 7ff8db0880 Fix deeplink argument parsing
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.
2026-05-26 22:48:10 +02:00
Markus Fisch d7837f5795 Migrate to Material You and support dynamic colors
And add a preference toggle to use the original colors
if a user likes that better.
2026-05-26 22:28:13 +02:00
Markus Fisch 1f5c77e802 Add preference to toggle tracking param stripping
Make the URL tracking parameter sanitization introduced opt-out
rather than always-on.
2026-05-26 21:35:58 +02:00
Markus Fisch a4da488a41 Refactor "execShareIntent" to "startIntentOrToast"
A better description of what it does.
2026-05-26 21:12:09 +02:00
Markus Fisch d177c08420 Refactor "fired" to "executed"
Which is a better fit, because we already have an "execute"
function.
2026-05-26 21:07:52 +02:00
Markus Fisch a6123ed233 Optimize imports
With Android Studio.
2026-05-26 21:07:17 +02:00
Markus Fisch 2ebb376a8b Remove redundant let scope function 2026-05-26 21:06:45 +02:00
Markus Fisch 6cac7e8ead Simplify sanitizing URIs
Make stripTrackingParams a top-level extension function,
which is a bit simpler and cleaner in my opinion.
2026-05-26 21:04:42 +02:00
Ashutosh TiwariandGitHub 59f6c9f654 Strip common tracking parameters before opening scanned URLs
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.
2026-05-26 18:19:35 +02:00
Markus Fisch f0c1d2a936 Add a note for cameraX and core-ktx
To stay on these versions because the next ones won't
support minSDK 21 anymore.

Idiots at keyboards  ̄\_(ツ)_/ ̄
2026-05-11 21:54:35 +02:00
Markus Fisch e7aff150f6 Update bouncycastle library 2026-05-11 21:53:11 +02:00
Markus Fisch 10755555ff Update vdstools library 2026-05-11 21:53:01 +02:00
Markus Fisch a78a85df2c Update kotlinx-datetime library 2026-05-11 21:51:46 +02:00
Markus Fisch de9c490429 Update kotlin coroutines library 2026-05-11 21:51:17 +02:00
Markus Fisch 77e686af75 Update tools version 2026-05-11 21:46:14 +02:00
Markus Fisch 0ae13f22b6 Complete missing Latvian translations 2026-05-11 21:43:34 +02:00
Too Late (bot)andGitHub bedfcdec14 Translations update from Toolate 2026-05-11 21:37:34 +02:00
bovirusandGitHub a6ba968ea8 Italian language update 2026-05-06 17:21:28 +02:00
Markus Fisch 5301da5900 Add a blank line between parsers
Easier to read.
2026-05-05 17:03:42 +02:00
Markus Fisch cb7d64991b Parse and display otpauth:// code fields
Show type, account, issuer, algorithm, digits, and
period/counter when scanning an OTP code.
2026-05-05 17:03:42 +02:00
Markus Fisch 6194dc29d5 Update tools version 2026-05-05 17:03:42 +02:00
bovirusandGitHub 3fa39b9fe0 Update Italian language 2026-04-24 21:54:41 +02:00
Markus Fisch f37b846241 Advance version number to 1.72.2 1.72.2 2026-04-23 23:40:35 +02:00
Markus Fisch 8ce33c0071 Add predefined expert and simple profiles
So users can always switch between these profiles.
2026-04-23 18:28:51 +02:00
Markus Fisch e6823386b0 Move setCovered to Mapping.kt
It belongs alongside the other frame/view coordinate
helpers (setFrameRoi, setFrameToView).
2026-04-22 23:20:26 +02:00
Markus Fisch 3e57a59e16 Avoid shared camera mapping state
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.
2026-04-22 22:58:07 +02:00
Markus Fisch 758220200e Fix isSilent() for media stream
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.
2026-04-22 22:42:59 +02:00
Markus Fisch b3584392b3 Set share QR listener once per ViewHolder
Not per bind. Allocating a new lambda on every getView()
call is wasteful.
2026-04-22 22:12:36 +02:00
Markus Fisch 3bb26f06d1 Import/export preferences using QR codes
Any profile can be exported/imported via a special QR code now.
2026-04-23 16:11:31 +02:00
Markus Fisch fe4a021cd0 Fix CameraX preview teardown leak 2026-04-22 22:02:59 +02:00
Markus Fisch 0de5565b78 Update tools version 2026-04-20 22:04:04 +02:00
Markus Fisch d9a9acd8c1 Update ZXingCpp library to v3.0.2.5 2026-04-21 13:01:01 +02:00
Markus Fisch 1be31f71ed Update ZXingCpp library to v3.0.2.4 2026-04-21 13:00:58 +02:00
Markus Fisch 8859c61119 Advance version number to 1.72.1 1.72.1 2026-04-11 13:06:04 +02:00
Andrew GunnersonandGitHub c52778f59d Fix crash on upgrades due to missing DATA_BAR entry
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>
2026-04-11 12:53:08 +02:00
bovirusandGitHub 5bde3947e3 Italian language update 2026-04-10 22:19:16 +02:00
Markus Fisch 08be31814f Advance version number to 1.72.0 1.72.0 2026-04-09 23:05:29 +02:00
Markus Fisch c5db04b84e Add headlines for result sections
Makes result sections easier to digest.
2026-04-09 21:16:27 +02:00
Markus Fisch 9dccc6a7f5 Fix EPC QR parser tests 2026-04-09 16:46:20 +02:00
Markus Fisch a5deab656b Clamp invalid ROIs to prevent crashes
Fixes a crash path where rounding in the view-to-frame
mapping could produce crop rectangles outside the Y plane.
2026-04-09 16:46:20 +02:00
Markus Fisch b773dfa392 Remove double signature date item for IDB codes 2026-04-09 16:46:20 +02:00
Markus Fisch 7b5106f09d Parse JSON content and show pretty-printed dump 2026-04-09 16:46:16 +02:00
Markus Fisch 16ce45093e Use list selector for parsed data items
So there is some touch feedback.
2026-04-09 19:47:44 +02:00
Markus Fisch e6345f09b3 Reformat code 2026-04-09 12:59:04 +02:00
Markus Fisch de00ed779a Update vdstools to latest version
And migrate the code to use the public API only.

This version doesn't include the Kermit logging library
which would have required a minSdk raise.
2026-04-09 10:58:34 +02:00
Markus Fisch d740aa121b Advance version number to 1.71.0 1.71.0 2026-04-08 21:56:07 +02:00
Markus Fisch 38c40d36bb Preserve parsed data while editing
Keep the last successfully parsed data rows visible in the decode
view while the barcode content is being edited. Avoids jumping of
the layout.
2026-04-08 19:49:25 +02:00
Markus Fisch 3e51f70c7c Decode nested IDB messages
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.
2026-04-08 19:11:26 +02:00