Commit Graph

16 Commits

Author SHA1 Message Date
sam
e02e69052d Add German, French, Spanish, Italian and Portuguese translations; v0.3.1
All checks were successful
Build APK / build (push) Successful in 6m9s
Seven UI languages now: English, Dutch, German, French, Spanish, Italian,
Portuguese. Each values-xx/strings.xml carries the full string set (verified
lint-clean). Bump to versionCode 6 / versionName 0.3.1.

Fixes #7

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.3.1
2026-07-13 20:02:47 +02:00
sam
898ae76526 Internationalization: string resources + Dutch translation; v0.3.0
All checks were successful
Build APK / build (push) Successful in 5m55s
Move all user-facing strings into res/values/strings.xml (English base) and
add res/values-nl/strings.xml (Dutch). Composables use stringResource;
coroutine-set and non-composable strings (ViewModel, PaperlessClient) resolve
via Context.getString. Mark app_name translatable=false. Bump to 0.3.0.

Fixes #5

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.3.0
2026-07-13 19:37:46 +02:00
sam
3a3f18153f Add live edge-detection overlay while aiming; v0.2.0
All checks were successful
Build APK / build (push) Successful in 6m9s
Bind a CameraX ImageAnalysis use case that runs EdgeDetector on downscaled
YUV frames (throttled ~6/s) and draw the detected document quad as a live
green overlay on the preview, mapped through the FILL_CENTER crop. Preview
switched to TextureView (COMPATIBLE) mode so the Compose overlay renders on
top. Bump versionCode 4 / versionName 0.2.0.

Fixes #4

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.2.0
2026-07-13 19:08:48 +02:00
sam
3c77e9ab3e Translate the entire repo to English (UI strings, README, CI, comments)
Prep for public distribution. All user-facing strings, the README, the Gitea
workflow step names/comments and the keystore example are now English.
Follow-up i18n (string resources + locale files) is tracked in #5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 18:52:01 +02:00
sam
953efaf168 Paperless: poll consume task for real upload confirmation; v0.1.2
All checks were successful
Build APK / build (push) Successful in 5m56s
After POST /api/documents/post_document/ the client now polls /api/tasks/
until the document is consumed, so the app shows 'Toegevoegd ✓', 'Duplicaat',
or a failure message instead of just 'queued'. A 'Niet wachten' button lets
the user stop waiting (the POST itself is NonCancellable, so the document is
always really sent). Bump versionCode 3 / versionName 0.1.2.

Fixes #3

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.2
2026-07-13 15:16:03 +02:00
sam
752d4972bb Capture feedback (shutter sound + flash) and Paperless UX; v0.1.1
All checks were successful
Build APK / build (push) Successful in 5m40s
- Camera: system shutter sound (only when ringer isn't silenced) + brief
  white flash overlay on capture, for clear feedback even on silent.
- Settings: snackbar confirmation when saving.
- Export: explain why the Paperless upload button is disabled when unconfigured.
- Bump versionCode 2 / versionName 0.1.1.

Fixes #1, #2

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.1
2026-07-13 14:49:10 +02:00
sam
eab3f13e88 CI: publish signed APK straight to a Gitea Release (not a build artifact)
All checks were successful
Build APK / build (push) Successful in 5m41s
Add contents:write permission and replace upload-artifact with an API call
that creates/reuses the release for the tag and attaches the signed APK as a
downloadable asset.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.0
2026-07-13 13:36:27 +02:00
sam
b7056dec41 CI: revert to self-hosted paperscan LXC runner (staying on own Gitea)
The gitea.gompstar.com detour is abandoned; restore runs-on: paperscan and
the plain checkout that build successfully on the x86_64 LXC runner.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 13:31:43 +02:00
sam
0b0a5cde6c CI: pass explicit PAT to checkout (Gitea auto-token 403 on private repo)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 13:25:37 +02:00
sam
fd633a3a1f CI: target ubuntu-latest runner (moving CI to amd64 Gitea)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 11:03:30 +02:00
sam
7786a1c8f5 CI: run on dedicated 'paperscan' runner label (x86_64 LXC)
All checks were successful
Build APK / build (push) Successful in 23m48s
Both the ARM64 global runner and the new LXC runner had the ubuntu-latest
label, so Gitea could dispatch the Android build to the incompatible ARM
box. Use a unique 'paperscan' label so only the x86_64 LXC runner matches.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 10:43:25 +02:00
sam
d767a12e4e Add R8 keep rule for Tink Error Prone annotations (release build)
Some checks failed
Build APK / build (push) Failing after 1s
androidx.security-crypto pulls in Tink, which references compile-only
com.google.errorprone.annotations.* classes; suppress the R8 missing-class
errors so assembleRelease succeeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 09:10:19 +02:00
sam
c3158873ef Fix crop corner handles positioned from center instead of top-left
The crop container uses contentAlignment=Center, so the draggable corner
handles were offset from the middle of the box rather than the top-left,
leaving them far from the actual document corners. Anchor them with
align(TopStart) to match the Canvas coordinate space, and add a white
border for visibility.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:20:17 +02:00
sam
e7ff34d3dd Fix edge-to-edge insets on camera and crop overlays
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:10:13 +02:00
sam
adedd70515 Add Gradle wrapper (8.11.1)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 23:58:23 +02:00
sam
037550afa9 Initial commit: PaperScan — lokale Android documentscanner voor Paperless-ngx
Native Kotlin/Compose app met CameraX + OpenCV randdetectie/perspectiefcorrectie,
multi-page PDF-export, en Paperless-ngx upload (of Android deelmenu). Alles lokaal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 22:43:09 +02:00