100 Commits
Author SHA1 Message Date
Pierre-Yves NicolasandGitHub 22973418c5 Prepare release: v2.2.0 (#226)
Android CI / build (push) Canceled after 0s
2026-07-19 17:29:03 +02:00
Pierre-Yves NicolasandGitHub cd78e9bff2 Reduce false positive quads on import (#225)
On import, users have no live feedback, so images are more likely to not contain quad edges.
- Remove quad fallbacks on import
- Adjust minSideLengthRatio for all modes
2026-07-19 16:13:50 +02:00
Pierre-Yves NicolasandGitHub f5de6bb5e1 Remove comments and non-translatable strings in Indonesian translation (#224) 2026-07-14 14:12:56 +02:00
Pierre-Yves NicolasandGitHub a6e4b349d7 Mention Weblate in README.md (#222) 2026-07-13 13:43:45 +02:00
Pierre-Yves Nicolas 26428a6a7c Exclude quad when a corner is out of the frame (#216)
There was a bug in the previous validation logic: it checked the quad in the mask against the dimensions of the original image.
2026-07-04 17:37:44 +02:00
Pierre-Yves Nicolas 7e7f14214c strings.xml: comments to help translations 2026-07-02 16:30:19 +02:00
Pierre-Yves Nicolas 7559055022 camera_permission_rationale: replace "current document" by "current scan" 2026-07-02 16:30:19 +02:00
Pierre-Yves Nicolas 7034551c57 Single string for "New scan" 2026-07-02 16:30:19 +02:00
Pierre-Yves NicolasandGitHub 306cde9537 strings.xml: provide context for some strings for translations (#211) 2026-07-01 21:05:12 +02:00
Pierre-Yves Nicolas ca8dde33ec Fix lint errors in Hungarian translation 2026-06-29 17:27:39 +02:00
Pierre-Yves Nicolas 12e8f98252 Prepare release: v2.1.0 2026-06-26 14:49:10 +02:00
Pierre-Yves Nicolas 98380c098a ExportScreen: remove condition on resumed scan
With the new ResumeScanScreen, users don't reach the ExportScreen directly on startup. See #204.
2026-06-26 14:18:55 +02:00
Pierre-Yves NicolasandGitHub 28d1144da3 CropScreen: save quad state across device rotations (#208) 2026-06-26 13:34:55 +02:00
Pierre-Yves NicolasandGitHub 8bc930a235 GetMultipleContents: photo picker with a "Browse" option (#207) 2026-06-25 20:31:56 +02:00
Pierre-Yves NicolasandGitHub e74308d9a4 Trigger capture when a volume button is pressed (#205) 2026-06-25 14:22:13 +02:00
Pierre-Yves Nicolas 522dd5a508 AboutScreen: avoid crash when opening contact link 2026-06-25 06:31:40 +02:00
Pierre-Yves Nicolas 2ecf15bb4c openUri: avoid crash on call to newUri 2026-06-25 05:50:36 +02:00
Pierre-Yves Nicolas 7f5befc581 Adjust message when OCR download fails (#202) 2026-06-24 21:17:04 +02:00
Pierre-Yves NicolasandGitHub 28087c4449 Explicit choice on startup: resume current scan or start new (#204)
It seems that some app concepts are unclear to some users (current scan, scan ≠ page, see #201). This is probably linked to the removal of the Home screen (#170) which also removed the explicit choice on startup when a current scan exists: either resume the current scan or start a new one. The explicit choice at least clarified the concept of current scan. This PR creates a new screen that is displayed only on startup when a current scan exists. When the user wants to start a new scan (probably the most common case), it takes one tap, exactly the same as currently.
2026-06-24 20:46:21 +02:00
Pierre-Yves Nicolas bed27ca653 Prepare release: v2.0.0 2026-06-13 21:36:43 +02:00
Pierre-Yves Nicolas 161bd63297 Mention Tesseract in README.md 2026-06-13 21:36:43 +02:00
Pierre-Yves Nicolas c221b21199 Update screenshots 2026-06-13 21:36:43 +02:00
Pierre-Yves Nicolas d1284f3f77 Update descriptions about internet permission 2026-06-13 21:36:43 +02:00
Pierre-Yves Nicolas 25b73c21c9 Update Android Studio config files 2026-06-13 11:21:24 +02:00
Pierre-Yves Nicolas 5d86bdd7ab Improve handling of corrupted images 2026-06-13 07:47:20 +02:00
Pierre-Yves Nicolas 974ee5f913 openUri: avoid crash on unexpected exception 2026-06-13 07:46:59 +02:00
Pierre-Yves Nicolas 2ab5dcf7d9 Separate screen for OCR languages 2026-06-12 16:25:54 +02:00
Pierre-Yves Nicolas 991ddc8e1d Settings screen: more compact style for radio buttons 2026-06-12 16:25:54 +02:00
Pierre-Yves Nicolas 96c80fc977 Settings screen: adjust style for export folder 2026-06-12 16:25:54 +02:00
Pierre-Yves Nicolas ec4b5cf104 Export: cancel job when leaving the screen 2026-06-11 11:11:58 +02:00
Pierre-Yves Nicolas d3c39b03fa ExportScreen: adjust progress indicator for 1 page 2026-06-11 08:26:46 +02:00
Pierre-Yves Nicolas 0be14e5e8d Disable OCR on external call 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas cf96095938 OCR: handle download failure 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas f3d0e11651 OCR: GlyphLessFont->TesseractGlyphLessFont 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas a319292045 OCR: avoid duplicate resources in PDF 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 028316147c OCR: fix perf issue with fonts and invalid text stream 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 6de0e2addf OCR: externalize strings 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas e23ce044f9 OCR: fix PDF generation for non-latin characters 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 104c60e073 OCR: improve text positioning 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas dfa35c24f2 ExportScreen: display OCR activation 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas cdd44acd2b Restart export on OCR language change 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas b5ed935ad2 ExportScreen: progress indicator 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 75bcda22cc OCR: progress indicator for download 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas f005eefdeb OCR language management 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 8d11244374 Initialize segmentation and OCR asynchronously 2026-06-10 19:02:02 +02:00
Pierre-Yves Nicolas 90413cd97f OCR: basic integration of Tesseract 2026-06-10 19:02:02 +02:00
Pierre-Yves NicolasandGitHub dd8002009d Update the "Issues" section in CONTRIBUTING.md 2026-06-01 07:58:55 +02:00
Pierre-Yves NicolasandGitHub 8ba049eed5 Update the "Issues" section in CONTRIBUTING.md 2026-05-31 22:17:09 +02:00
Pierre-Yves Nicolas afb7e388a6 Prepare release: v1.23.0 2026-05-31 06:56:07 +02:00
Pierre-Yves NicolasandGitHub e4cf65aaf9 Human-friendly file name when called through an intent (#188) 2026-05-31 06:18:54 +02:00
Pierre-Yves Nicolas b9a9255a5c More detailed exception when resizeToThumbnail fails (#185) 2026-05-30 21:52:33 +02:00
Pierre-Yves Nicolas eaaf5b01a2 openUri: avoid crash on SecurityException 2026-05-30 19:12:21 +02:00
Pierre-Yves NicolasandGitHub a38909fb52 Make FairScan callable through the GET_CONTENT intent (#187) 2026-05-30 15:52:13 +02:00
Pierre-Yves Nicolas d3a28d0eaf Prepare release: v1.22.1 2026-05-29 12:33:05 +02:00
Pierre-Yves Nicolas e3494e8c90 Remove ACCESS_NETWORK_STATE permission (coming from CameraX) 2026-05-29 12:27:05 +02:00
Pierre-Yves Nicolas 8ecebdf9ed Prepare release: v1.22.0 2026-05-24 17:03:55 +02:00
Pierre-Yves Nicolas 66f71927df Fix page dimensions when a manual rotation is applied 2026-05-24 16:55:17 +02:00
Pierre-Yves Nicolas f18b65579e openUri: adjust code to avoid SecurityException in rare cases 2026-05-24 15:34:09 +02:00
Pierre-Yves Nicolas 0a448c24c9 Standard formats: Letter dimensions should be respected 2026-05-24 11:27:23 +02:00
Pierre-Yves Nicolas c3bd144681 Snap to standard formats: A4, Letter... 2026-05-23 20:41:06 +02:00
Pierre-Yves Nicolas 9394b19731 Use focus distance to estimate physical size 2026-05-23 20:41:06 +02:00
Pierre-Yves Nicolas b89aecf369 Remove unused strings 2026-05-21 07:41:28 +02:00
Pierre-Yves NicolasandGitHub 27ad5efeff Improve perspective correction with camera intrinsics (#182) 2026-05-20 20:33:03 +02:00
Pierre-Yves NicolasandGitHub d9844be4de Avoid displaying the back button when back should be handled by the system (#181)
After removing the home screen, displaying the back button on the camera screen didn't make sense anymore.
See #179.
2026-05-18 14:00:08 +02:00
Pierre-Yves Nicolas c8233c7388 Prepare release: v1.21.0 2026-05-14 22:01:30 +02:00
Pierre-Yves Nicolas 0f0045fade Capture/import image even when no document is detected 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas 17aa9e1a4c CropScreen: change name in header to "The FairScan authors" 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas 9164c17763 Document screen: externalize string for "Crop" 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas baa8318de6 CropScreen: remove stripes in loupe 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas b089baec97 CropScreen: rename and translate button "confirm" -> "apply" 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas f234d50a2a Rename EditPageScreen to CropScreen 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas c43e4e73ad EditPageScreen: fix visual glitch when loading the same page twice 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas fed95c99d4 EditPageScreen: apply output quad 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas 0d83265f6b Change Scaffold for EditPageScreen 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas d03d411706 Plug input data to EditPageScreen 2026-05-13 18:03:57 +02:00
Pierre-Yves Nicolas dcc797785b Change name in LICENSE_HEADER to "The FairScan authors" 2026-05-12 13:49:03 +02:00
Pierre-Yves Nicolas 69f5ca0636 ExportScreen: "End scan" -> "New scan" + change behavior 2026-05-12 12:10:47 +02:00
Pierre-Yves Nicolas e43da6b9aa Remove Home screen 2026-05-12 12:10:47 +02:00
Pierre-Yves Nicolas 9dedaaec9d Prepare release: v1.20.0 2026-05-03 18:49:25 +02:00
Pierre-Yves NicolasandGitHub c9da4f692f Improve perspective correction using projective geometry (#173) 2026-05-03 17:46:35 +02:00
Pierre-Yves Nicolas 01402c54ce Log SecurityException on openUri 2026-04-25 10:07:21 +02:00
Pierre-Yves Nicolas 32c24c3eae Avoid crashing when importing an invalid image (#171) 2026-04-24 17:34:06 +02:00
Pierre-Yves Nicolas 1169bed9a5 Grayscale: avoid darkening pages with little content (#158)
Adjust black point: 0.01 -> 0.004
2026-04-21 15:39:43 +02:00
Pierre-Yves NicolasandGitHub e70f4e4d1e Contributing guidelines (#166) 2026-04-20 18:54:45 +02:00
Pierre-Yves Nicolas 8fae0badb9 Prepare release: v1.19.0 2026-04-11 11:34:28 +02:00
Pierre-Yves Nicolas eeb0d8e8b3 PDF pages physical dimensions should be close to US Letter or A4 (#153) 2026-04-10 19:00:56 +02:00
Pierre-Yves Nicolas 3e085eca5c DocumentScreen: reset zoom after rotation so that all areas are reachable (#152) 2026-04-10 16:20:45 +02:00
Pierre-Yves Nicolas 479680a83d Throw explicit exceptions when decoding images to import 2026-04-10 15:49:51 +02:00
Pierre-Yves Nicolas 31155275e8 CameraScreen: cancel import when leaving the screen 2026-04-10 15:49:51 +02:00
Pierre-Yves Nicolas 6290717635 CameraScreen: improve UI for import 2026-04-10 15:49:51 +02:00
Pierre-Yves Nicolas b946913594 New feature: import photos 2026-04-10 15:49:51 +02:00
Pierre-Yves Nicolas 2f4b330b8d Move camera permission rationale to CameraScreen 2026-04-10 15:49:51 +02:00
Pierre-Yves Nicolas 336609d32d Drop unused integration test 2026-04-04 18:48:36 +02:00
Pierre-Yves Nicolas 53b226a465 Centralize image processing for 'app' module 2026-04-04 18:48:04 +02:00
Pierre-Yves Nicolas 953d0e4a42 Prepare release: v1.18.0 2026-04-03 18:45:05 +02:00
Pierre-Yves Nicolas 47109d6ab4 Revert AGP upgrade to fix broken APK
Building with AGP 8.13.2 leads to a (minified) release APK that crashes with LiteRT.
2026-04-03 18:44:37 +02:00
Pierre-Yves Nicolas 7f51e462c1 Fix visual glitch when rotating a page with RTL language (#144) 2026-04-03 10:51:30 +02:00
Pierre-Yves Nicolas 115472aeb0 ImageRepository: add unit tests for setColorMode 2026-04-02 19:34:29 +02:00
Pierre-Yves Nicolas 1e99520473 Thumbnails: avoid loading many Bitmaps, increase cache size 2026-04-02 17:50:23 +02:00
Pierre-Yves Nicolas 7a9e4203ed SettingsScreen: adjust style 2026-04-02 13:16:22 +02:00