You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Live document detection: edges are found in the viewfinder and the page is captured and cropped to them automatically.
Expsosure, focus, grid, autocapture controls for camera live mode
Six document filter modes (replacing the old photo filters), applied to one page or the whole document.
Camera controls: pinch-to-zoom slider, tap-to-focus and -expose, manual exposure, and a front/back switch.
On-device integration tests covering the capture, crop, library, settings and export flows, plus a database migration test.
Tamil and Hindi translations. The interface is now fully translated in English, Greek, Hindi, Hungarian, Polish and Tamil, with plural forms and dates that follow the locale.
Settings page added
Changed
The tutorial's illustrations are drawn from the theme's own tokens rather than shipped as screenshots, so they follow the chosen accent and cannot go stale against the screens they depict.
Each page is processed the moment its shutter fires, cropped to the detected boundary and re-encoded while the shutter shows a spinner.
Cropping and edge detection are pure Dart; the OpenCV dependency is gone.
Captures are stored through the platform's own image decoder, which decodes and downscales in one native step instead of several seconds of pure-Dart work per page.
The database moved from a table-per-document schema to documents + pages, migrated automatically on first launch.
Export quality is now a compression scale, and an export is named after its document.
Rebuilt the interface on a warm-white, single-accent design system, with matching light and dark themes and a system/light/dark switch in Settings.
targetSdk 36, scoped storage, Java 17.
Documents export to Downloads/OpenScan.
Fixed
Crop handles stay clear of the system back-gesture strip (can be toggled in settings).
Pages the app cannot draw are no longer kept, and exports no longer leave files the user cannot delete.
The tutorial's back button, opened from Settings, sat in the top-right corner where Skip belongs; it is now on the leading edge.
Every outbound link works again. Android 11+ package visibility hid all browsers from canLaunchUrl, so the About screen's GitHub button did nothing at all; the manifest now declares the browser query, and a link that still cannot open says so instead of only logging.
The About screen's description no longer opens mid-sentence: every locale writes it to follow the app's name inline, and the name had been dropped from the paragraph.
Removed
RECORD_AUDIO, READ_MEDIA_AUDIO, READ_MEDIA_VIDEO and READ_MEDIA_IMAGES, which dependencies declared but OpenScan never used.
The storage permission request, made redundant by scoped storage.