Commit Graph

150 Commits

Author SHA1 Message Date
octocorvus
627a566c2f viewer: use esbuild to bundle pdf viewer and worker
This improves maintainability:
1. no need to hardcode each script file in Android code
2. no need to symlink pdf.js and pdf.worker.js
3. adds sourcemaps in debug builds to help debug some pdf.js related
   issues
2023-09-16 04:20:38 -04:00
Hanouta
20d6c4ea9f decrease minimum zoom ratio to 0.2 2023-07-03 19:21:54 -04:00
Hanouta
0060e2cb73 set zoomRatio to fit document to screen size 2023-07-03 19:21:29 -04:00
octocorvus
457cbc9e98 update MIN_WEBVIEW_RELEASE to 92
This is the minimum supported Chromium version for PDF.js v3.8.162.
2023-07-03 19:01:17 -04:00
octocorvus
123bcf30a8 make DocumentPropertiesLoader#load private 2023-06-28 00:12:28 -04:00
octocorvus
bfb5e4a538 fix file size parsing issue causing crash
Opening a PDF using Storage Access Framework (SAF) causes the app to
crash in some cases, when the file is not present on the device's
internal storage (for example, on Proton Drive).
2023-06-28 00:12:28 -04:00
octocorvus
6f40b25b31 add eslint config and missing semicolons 2023-06-09 11:33:53 -04:00
Daniel Micay
29a004091e minor whitespace fixes 2023-04-22 09:33:16 -04:00
Pratyush
195bba7891 replace custom file size parser with AOSP implementation 2023-04-20 11:18:14 -04:00
Pratyush
17c7c84296 rewrite DocumentPropertiesLoader in kotlin 2023-04-20 11:18:14 -04:00
Pratyush
61607858ef convert remaining fragments to kotlin 2023-04-20 11:18:11 -04:00
octocorvus
bb14ba1a25 bugfix: make text layer position absolute and use CSS transform to al...
...ign it to canvas

Fixes a bug where there was empty space above pdf page, when page
rotation is 90 or 270 degrees.

Testing: open pdf and try all rotations (0, 90, 180 and 270 degrees)
with various zoom levels (especially, max and min zoom levels), and make
sure that text layer is aligned properly to the canvas and there aren't
any unwanted blank spaces. Finally, repeat the same testing procedure
for landscape mode.

To check if text layer is aligned properly on debug builds, toggle text
layer visibility from menu or use chrome dev tools.
2023-04-09 09:32:58 -04:00
octocorvus
ae1c0874ce add option to toggle text layer visibility on debug builds
This is to ease debugging text layer on debug builds.
2023-03-24 19:45:49 -04:00
octocorvus
d445c48f3c code style changes
- js: use double quotes consistently
- js: use strict equality operator everywhere
- js: end all statements with semi colon
- css: remove redundant unit of measures
2023-03-24 19:45:49 -04:00
octocorvus
69696ae2a9 use CSS transform to rotate text layer
Newer pdf.js versions don't automatically rotate text layer based on
viewport's rotation, instead they now set the value of the attribute
"data-main-rotation" to value of rotation in degrees. So, we now apply
CSS transformation to the text layer depending on the value of that
attribute.
2023-03-24 19:45:49 -04:00
octocorvus
2dea11799c use --scale-factor variable to set text layer font size
Newer pdf.js versions requires this variable to be set equal to the
actual scale (zoom ratio), to properly set font size in text layer div.
2023-03-24 19:45:49 -04:00
octocorvus
f5a1452a2d migrate away from deprecated APIs
- renderTextLayer: use textContentSource parameter instead of textContentStream
- renderTextLayer: pass a div for the container argument
2023-03-24 19:45:49 -04:00
octocorvus
2935bd4b27 migrate to pdfjs-dist npm package 2023-03-24 19:45:49 -04:00
amalgame21
8d44658c80 Always shows previous and next page button in any Display size 2023-02-19 10:01:40 -05:00
Xsims
c6fb2aceda Add document name in toolbar 2023-01-27 02:08:50 -05:00
Daniel Micay
48910db7c6 silence spurious getParcelable deprecation warning 2022-12-28 12:15:34 -05:00
Daniel Micay
fd510a3c19 avoid deprecated DialogFragment onActivityCreated 2022-12-28 12:08:22 -05:00
Daniel Micay
b8dcc33696 remove legacy roundIcon attribute 2022-12-25 10:38:50 -05:00
loryeam
1cf1c7ec28 horizontally and vertically center canvas and text layer
Also fixes an issue where text layer is not exactly on top of the canvas when
canvas width is less than screen width (which happens often in landscape mode or
when fully zoomed out)
2022-12-05 03:20:08 -05:00
octocorvus
ac4aa0bbb9 [webview] set minimum font size to 1px
This fixes an issue where some text layer divs (those with font
size < 8px) gets misaligned due to webview setting their font size
to 8px.
2022-12-04 18:32:28 -05:00
Daniel Micay
ed3cf2c08f remove no-op allowBackup
This was added to silence a now removed lint check.
2022-10-29 21:11:07 -04:00
loryeam
fbd6c45c3f fix a typo in viewer.js which can cause cache miss 2022-10-04 12:23:18 -04:00
Pratyush
8d0caf65a2 avoid NullPointerException 2022-10-03 00:21:53 -04:00
Pratyush
221e45cd52 handle NumberFormatException caused by Integer.parseInt 2022-10-03 00:21:53 -04:00
Pratyush
ee87e43bcb handle OutOfMemoryError | IllegalArgumentException 2022-10-03 00:21:47 -04:00
Pratyush
5fadf7f47d replace deprecated api uses 2022-10-03 00:21:31 -04:00
Pratyush
7ff831769e add missing NonNull annotation 2022-10-03 00:21:31 -04:00
Daniel Micay
9e40a05be3 make manifest whitespace style consistent 2022-09-30 17:26:30 -04:00
Pratyush
18761b3e4a replace deprecated api uses 2022-09-30 17:25:49 -04:00
Pratyush
43f971c028 add documentLaunchMode flag 2022-09-30 17:25:49 -04:00
Pratyush
2b81d4dcc3 fix navigation bar color on three button navigation system 2022-09-30 17:25:49 -04:00
Pratyush
5a55c8045b use color transparent for status bar 2022-09-30 17:25:49 -04:00
Pratyush
718b448cc5 remove hardcoded (toolbar) background color 2022-09-30 17:25:49 -04:00
Pratyush
afaf71a4a2 use DynamicColors app bar theme 2022-09-30 17:25:49 -04:00
Pratyush
8a308b69e5 apply DynamicColors when available 2022-09-30 17:25:47 -04:00
Daniel Micay
fee1b1516f move away from deprecated package attribute 2022-09-15 19:53:32 -04:00
Daniel Micay
ee3605428e minor cleanup 2022-09-12 22:27:03 -04:00
Daniel Micay
9ea5cb1802 remove duplicate icon resource 2022-09-12 22:17:44 -04:00
Daniel Micay
a307f2892c add missing newlines 2022-09-12 22:16:21 -04:00
Pratyush
8c795d4552 add android 13 monochrome icon 2022-09-12 22:15:32 -04:00
Daniel Micay
d7ca71770f remove unused string resource 2022-09-12 22:06:02 -04:00
Pratyush
ea9a57fabe Improve password UI/UX 2022-09-12 02:15:53 -04:00
Pratyush
68fc48d3a9 add on (doc) loaded callback 2022-09-12 02:08:42 -04:00
quh4gko8
ff11df007f Build against android 13, resolve new deprecated APIs 2022-09-10 22:44:02 -04:00
Daniel Micay
5eb98841d6 removed unused zoom icons 2022-05-26 20:42:13 -04:00