Commit Graph

452 Commits

Author SHA1 Message Date
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 Nicolas
27ad5efeff Improve perspective correction with camera intrinsics (#182) 2026-05-20 20:33:03 +02:00
Pierre-Yves Nicolas
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
monta-gh
6a3ccb854e Add Japanese (ja) localization (#178) 2026-05-16 08:00:57 +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
Philipp Hasper
2b63273168 EditPage: New screen for editing an individual page 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 Nicolas
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
Philipp Hasper
8b80ca12b2 Fix reporting email for images scanned via Intent (#163)
When starting the app via "org.fairscan.app.action.SCAN_TO_PDF" and then
reporting the last image via createEmailWithImageIntent() the URI creation
failed with

> java.lang.IllegalArgumentException: Failed to find configured root that
> contains /data/data/org.fairscan.app/cache/sessions/097d29ab-f706-4ba2-848a-fea16fb5f41f/sources/1776590719661.jpg

The issue was that when launched via SCAN_TO_PDF, images are stored under
the cache directory (cache/sessions/<uuid>/sources/), but the FileProvider
configuration in file_paths.xml only had a <cache-path> for pdfs/ and
<files-path> for sources/. There was no cache path covering sessions/.
2026-04-21 09:27:23 +02:00
Pierre-Yves Nicolas
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
Pierre-Yves Nicolas
4aae5accae New setting for default color mode ("default filter") 2026-04-02 13:16:22 +02:00
Pierre-Yves Nicolas
139922c19e DocumentScreen: add a spinner when changing color mode 2026-04-01 18:47:27 +02:00
Pierre-Yves Nicolas
18923d5934 DocumentScreen: dropdown menu for color mode 2026-04-01 12:08:07 +02:00
Pierre-Yves Nicolas
215f57bb74 Avoid resolution of current page in DocumentScreen 2026-04-01 12:08:07 +02:00