2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Commit Graph

337 Commits

Author SHA1 Message Date
Martín Fernández
fa55152465
Handle all possible Android configuration changes without recreating the activity (#6416) 2020-07-22 15:26:53 +02:00
Martín Fernández
9bee4e495a mac app fixes 2020-07-22 14:41:11 +02:00
Thomas Spurden
201d3d8ad1
remarkable: add more detail to README about launcher (#6397) 2020-07-20 12:33:09 +02:00
Frans de Jonge
a0e563858e
Bump base & luajit-launcher for new LuaJIT (#6389)
Also for Nia support, cf. <https://github.com/koreader/koreader-base/pull/1142>.
2020-07-17 23:39:30 +02:00
Martín Fernández
1adea4a497 Add macOS target
Co-authored-by: Jason Benwell <jbenwell@hotmail.com>
2020-07-11 01:29:49 +02:00
Martín Fdez
7094519e1b android: support for native surface rotation 2020-07-09 01:08:47 +02:00
Martín Fdez
8e61a8f285 disable runtime behaviour changes on fdroid 2020-06-24 12:49:14 +02:00
Martín Fernández
699ee3efc1
[Android] Migrate user directories after update (#6287)
I've played a bit with #6275, to make the iterator available for non-power users too.

this PR automate user data migration (which happens once per update). If the folder `koreader/scripts.afterupdate` contains a file `migrate` then files will be copied to internal dir preserving their relative path. Thus user data **needs** to have the same hierarchy as internal directories.

Shell scripts will be find and run if the folder `koreader/scripts.afterupdate` exists and has no `migrate file`.

In the case of `koreader/scripts.always` there's no migration available, just shell scripts.

Digging a bit seems not possible to create new directories on app internal storage (it just crashes on the emulator since API25). So very fancy extensions are not supported, but it is ok to override files and create new files if dir already exists.

Tested with:

```find scripts.afterupdate/                                            
scripts.afterupdate/
scripts.afterupdate/data
scripts.afterupdate/data/hyph
scripts.afterupdate/data/hyph/Roman.pattern
scripts.afterupdate/data/example.css
scripts.afterupdate/migrate
```

Results:

```
06-20 16:16:33.590  3584  3597 I KOReader: after-update: running migration
06-20 16:16:33.596  3584  3597 I KOReader: command cp /storage/emulated/0/koreader/scripts.afterupdate/data/hyph/Roman.pattern /data/user/0/org.koreader.launcher/files/data/hyph/Roman.pattern returned 0
06-20 16:16:33.600  3584  3597 I KOReader: command cp /storage/emulated/0/koreader/scripts.afterupdate/data/example.css /data/user/0/org.koreader.launcher/files/data/example.css returned 0
06-20 16:16:33.604  3584  3597 I KOReader: command rm /data/user/0/org.koreader.launcher/files/afterupdate.marker returned 0
```
2020-06-20 18:06:24 +02:00
NiLuJe
416c1c7356
More robust way to detect our own path on Kobo (#6283)
* More robust way to detect our own path on Kobo

Should take care of all the weird and interesting ways people manage to
find to break it...

NOTE: "$(dirname $(realpath "${0}"))" works, too, but I'm not sure if
really old devices ship with the realpath applet...

* Abort early if KOREADER_DIR is null
2020-06-20 17:15:55 +02:00
zwim
488721e62e
[Android] Add support for custom startup scripts (#6275)
Add the possibility to run *.sh scripts:

After an update of koreader all *.sh scripts in /sdcard/koreader/scripts.afterupdate
are executed.

On every start of koreader run all *.sh scripts in /sdcard/koreader/scripts.always
2020-06-19 21:23:47 +02:00
Martín Fernández
765b35a7bf
android: add a toggle to ignore back button events (#6269)
Requires koreader/android-luajit-launcher#233
Requires koreader/koreader-base#1117

It is a workaround for #6263 but can be useful on some devices with erratic back key behaviour too (yep, Onyx)
2020-06-15 07:43:37 +02:00
Martín Fdez
835f9f62c6 fix ANRs in Kosync plugin login/register 2020-06-13 19:05:10 +02:00
NiLuJe
1f994f8ede
Floor dimension computations (mul/div). (#6264)
* floor most every dimension computations involving MUL or DIV
Should avoid passing nonsensical floating point coordinates/dimensions
to the UI code.

* Update base

* https://github.com/koreader/koreader-base/pull/1113
* https://github.com/koreader/koreader-base/pull/1114
* https://github.com/koreader/koreader-base/pull/1115

* Bump android-luajit-launcher

https://github.com/koreader/android-luajit-launcher/pull/230
https://github.com/koreader/android-luajit-launcher/pull/231
2020-06-13 01:56:36 +02:00
NiLuJe
21847dfb40
Don't exit KUAL on the Voyage (#6233)
This should allow WhisperTouch support to stay enabled, allowing
consistent button behavior.

c.f., https://github.com/koreader/koreader/issues/6038#issuecomment-612564693

Fix #6038

(Requires today's KUAL build, Booklet only).
2020-06-05 02:39:58 +02:00
Martín Fernández
879f8a7624
[Desktop] Fix missing glyphs by packaging freefonts again (#6218)
Also disable battery completely from defaults/option in desktop linux as it always return 0%
2020-06-01 08:07:42 +02:00
NiLuJe
dd0cdb9dcb
[Kindle] Don't resize the titlebar on FW >= 5.12.4 (#6204)
This apparently fatally upsets the WM on FW >= 5.12.4

I don't have the HW to test it, and I've been saying FW 5.12.x is evil
from the get go, so, eh.

Re #6117
2020-05-29 04:05:07 +02:00
NiLuJe
799a68ef59
Kill the RMSDK, too. (#6179)
It's a big pile 'o RAM we could use.
Plus, it might be causing bad interactions with DRM if we keep it around.
2020-05-24 09:43:56 +02:00
NiLuJe
e4d3b266ef
Some more Kobo startup script tweaks (#6147)
* Simplify env siphoning some more

* Nope, shellcheck, quoting this breaks it.

(it preserves the LNs instead of abusing them as free field separators with word splitting).

And, while this does break on env vars with spaces (since they'll be
unquoted), that was already the case of the xargs approach.
If we had read -d & printf %q, we could go with a pure shell approach,
but we don't ;).

* Document a working quoted variant.

For science!
2020-05-14 22:45:24 +02:00
Martín Fernández
4d8cf983e2
Debian - fix some lintian errors (#6099) 2020-05-14 14:26:00 +02:00
NiLuJe
12675be065
Minor Kobo startup script cleanups (#6144)
* Minor tweaks to Kobo env setup

* Bump base

(Pickup https://github.com/koreader/koreader-base/pull/1099)
2020-05-13 02:22:51 +02:00
NiLuJe
f9889cef22
Tweak the post-OTA warning on Kindle (#6120)
Because everything is terrible, and the fuse proxy can apparently still
manage to screw us over.
2020-05-05 17:59:28 +02:00
NiLuJe
be72203b83
Minor Kobo startup script cleanups (#6102)
* Start re-factoring the launcher detection code in order to future-proof
it
2020-04-29 17:50:29 +02:00
Martín Fernández
9a789335c3
mobiscribe: add full screen update support (#6051) 2020-04-14 20:27:58 +02:00
NiLuJe
bb39853521
[Kindle] Try harder when restoring the title bar (#6009) 2020-03-29 05:39:41 +02:00
NiLuJe
0b898624ac
[Kindle] More accurate on/off FL detection/toggle (#5989)
* Kindle FL shenanigans

Either fix #5986, or break a whole crapload of weird corner-cases.
Possibly the insane AutoFrontLight checks.

* Make fl step 0 usable on devices where 0 doesn't turn the light off.

By fudging an extra step on our own side.

* Also, add some debug logging around wmctrl to try to figure out what's
happening there...
2020-03-26 04:56:34 +01:00
Martín Fernández
e7b191ca6a
android: same version code for all archs (#5972)
+ new Boyue model
2020-03-16 22:57:07 +01:00
NiLuJe
9ce22f53b9
[Kindle] Hide the status bar on current FW, too. (#5943)
Via wmctrl
2020-03-15 01:28:37 +01:00
Martín Fernández
69f4144dc1
[Android] Prevent previous book reopening in some situations (#5880)
Fixes #5877.
2020-02-19 08:50:51 +01:00
Frans de Jonge
5f10e8d6df
Bump luajit-launcher for Package refactor + LuaJIT bump (#5868)
https://github.com/koreader/android-luajit-launcher/pull/224
2020-02-15 21:57:26 +01:00
Matias Nitsche
1417ea94c2 PRSTUX: wifi/suspend fixes 2020-02-13 08:21:24 +01:00
NiLuJe
de15ab3a87
Unbreak OTA on crappy shells (#5850)
* Unbreak OTA on crappy shells

  Very, very old ash versions abort on set -o failures (as mandated by
POSIX, granted). This makes it impossible to reliably catch failures in
a single step.

So do it from the Lua side instead.

Should fix #5844

* Launch the zsync wrapper through bash on Cervantes
2020-02-12 00:07:05 +01:00
NiLuJe
24f1f435de
Log zsync2's output, too. (#5842)
Thanks to our good friend tee ;).

As suggested by @Frenzie on gitter ;).
2020-02-11 17:40:28 +01:00
NiLuJe
e49198cef8
Don't bypass fbdepth when starting KOReader @ 8bpp (#5841)
* [Kobo/reMarkable] Don't skip fbdepth when launching KOReader @ 8bpp

I'm not quite sure how that can happen unless you really want to, but
apparently it did on @Frenzie's H2O ;p
2020-02-11 00:08:38 +01:00
NiLuJe
73659b6bd6
Print zsync2's output on screen (#5824)
* Also remove the temporary files when doing a full retry
* Bump base
  Pickup the required zsync2/FBInk updates
  (https://github.com/koreader/koreader-base/pull/1038)
* Actually does what it says on the tin for Abort
  i.e., cleanup temporary files
2020-02-09 05:08:46 +01:00
Thomas Spurden
6f849c5285
A couple of minor remarkable port fixes (#5834)
* remarkable: remove unnecessary screen invalidate on resume

This is handled in uimanager if needsScreenRefreshAfterResume is enabled
(which is the default).

* remarkable: pass a path argument to reader.lua

Otherwise if lastfile is not set in the settings (e.g. install and then
exit without opening a file) koreader will just refuse to start.

* remarkable: pass koreader.sh args (if any) through to reader.lua
2020-02-08 18:07:09 +01:00
Martín Fernández
67627ce2d9
Remarkable port (#5828)
Touchscreen is mirrored in X & Y and has a different resolution from the eink panel.

Uses systemd for time/date/suspend/poweroff/reboot
Two systemd units for platform integration. button-listen is a very
simple launcher.
to-do: add support for wifi by implementing  a wpa supplicant dbus client.

Authored-by: Thomas Spurden <tcrs@users.noreply.github.com>
2020-02-08 01:58:10 +01:00
Martín Fernández
3856f04445 android: switch to connectivity manager
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2020-02-07 16:54:01 +01:00
NiLuJe
9a20fb5836
Switch to zsync2 (#5810)
* Switch to zsync2

Requires https://github.com/koreader/koreader-base/pull/1036

* Simplify FBInk syntax

The weird-ass workarounds for -s's subopts handling are
no longer needed w/ FBInk >= 1.21.0

* Update base

* Re-enable HW dithering on Kindle
  (https://github.com/koreader/koreader-base/pull/1034)
* Update SQLite to 3.31.1
  (https://github.com/koreader/koreader-base/pull/1035)
* reMarkable port
  (https://github.com/koreader/koreader-base/pull/1023)
* zsync2
  (https://github.com/koreader/koreader-base/pull/1036)

* zsync2 means we can finally have nice things

(OpenStack backed storage)

* We also no longer need that insane workaround on ARM

* And comment out @chrox's mirror, which appears to be down.

* Warn that a malformed URL will horribly blow up in fun and interesting
ways
2020-02-04 03:14:23 +01:00
Frans de Jonge
668eee97fa
[CI] Add curly braces check (#5809)
Update shellcheck and shfmt to the latest version.

Fixes <https://github.com/koreader/koreader/issues/5152>.

Btw, you can apply shellcheck suggestions with a command like:

```
shellcheck --include=SC2250 -f diff *.sh | git apply
```
2020-02-02 20:35:21 +01:00
Martín Fdez
f60b4c36ce fix #5781 2020-01-22 01:19:41 +01:00
Martín Fernández
b111ccc2b8 bump android, fixes ntx landscape tearing, thanks to @char11 2020-01-16 00:22:44 +01:00
NiLuJe
72fd93c4dd
Unbreak OTA on Kindle (#5758)
* Deref hardlinks in tarballs
* Ensure an OTA won't break the launcher script, which'd screw the user on exit.
2020-01-11 04:05:14 +01:00
Martín Fernández
081825285f bump luajit-launcher 2020-01-05 16:21:45 +01:00
Martín Fernández
51ed411ee4 android: OTA fallback using the browser
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2020-01-04 21:08:17 +01:00
Martín Fernández
419b42cf2c
android: call EPD test from within KOReader (#5737)
* android: call EPD test from within KOReader

Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2020-01-04 20:53:49 +01:00
Martín Fernández
9c120c6d7a bump luajit-launcher 2020-01-02 01:28:20 +01:00
NiLuJe
47da0ae1cd
Unbreak the KUAL extension (#5715)
* Prefer our own FBInk binary
* Get rid of the CRe config tweaks
* Oops, actually ship libkohelper in the KUAL extension.
* Bump extension version
* Flush to disk before printing final status message
2019-12-31 17:07:33 +01:00
Martín Fernández
7fb2db8f02 android: fix app crash when a bluetooth keyboard is connected/disconnected, (#5702)
use the freescale surfaceview on Crema devices
add support for nook 510
2019-12-22 20:08:20 +01:00
NiLuJe
70b2564c4b
Ensure we flush everything to disk after an update. (#5685)
WIll stall for longer, but with a visible message (vs. less stalling on
a white screen during the startup and a laggy FM for a while).
2019-12-17 00:28:51 +01:00
Martín Fernández
c6f553a1bd bump luajit launcher 2019-12-12 21:17:03 +01:00