Commit Graph

6506 Commits

Author SHA1 Message Date
NiLuJe
afa12ef8ce [fix] Leave size_t alone in FFI stuff: flip that back to size_t (#4629) 2019-02-21 09:56:54 +01:00
Frans de Jonge
4015901136 Bump base for better BB8 performance and bitness FFI stuff (#4631)
* Leave bitness-dependent types alone in FFI stuff https://github.com/koreader/koreader-base/pull/825 @NiLuJe
  Required for #4629.
* A few blitting changes for better BB8 performance https://github.com/koreader/koreader-base/pull/816 @NiLuJe
2019-02-21 09:56:22 +01:00
NiLuJe
6c29b7da65 [fix] PicDocument: Pass a copy of image_bb in getCoverPageImage() (#4628)
Avoids a use-after-free in mupdf.scaleBlitBuffer

Fix koreader/koreader-base#821

Thanks for the hint, @poire-z ;).

* As @poire-z suggested, the original unscaled bb should probably be free'd.
2019-02-21 08:59:41 +01:00
Frans de Jonge
8e5c1addf5 [feat] Update check (#4620)
The concept is quite simple: stick a file on the OTA server named
something like `koreader-appimage-latest-stable` (by analogy with
`koreader-cervantes-latest-stable.zsync`), which contains nothing
but a filename.

The difference with the zsync update is that the link is then launched
in the user's browser (AppImage) or DownloadManager (Android, not yet
implemented).

* Android hasOTAUpdate = no for the moment
2019-02-21 08:26:48 +01:00
Frans de Jonge
35ea8893fb Bump base to download GNU deps from mirror (#4626)
https://github.com/koreader/koreader-base/pull/824

This is a simple one. https://ftp.gnu.org/ is currently offline but we shouldn't actually be using it anyway.

https://www.gnu.org/server/mirror.en.html

> First, for users/downloaders: the address http://ftpmirror.gnu.org/ multiplexes between the mirrors, trying to choose one that is nearby and up to date. E.g., http://ftpmirror.gnu.org/emacs/ goes to a mirror's directory of GNU Emacs. We recommend using this generic ftpmirror.gnu.org address wherever possible in links, documentation, etc., to reduce load on the main GNU server.

tl;dr http://ftpmirror.gnu.org should be more stable.
2019-02-20 17:08:38 +01:00
NiLuJe
869b8aebd1 [Cervantes, Kobo] Stricter WiFi callback (#4616)
* Double-checks that the connection was successful, and forcefully kills WiFi if it didn't, to avoid leaving stuff in an inconsistent state.

Should fix #2183

* Limit the turnOffWifi call to devices where it might make some sense to
do
2019-02-20 14:59:33 +01:00
Frans de Jonge
a2c47b35de [UX] Gesture manager: add paged zoom gestures (#4610)
References #4333.
2019-02-20 13:45:14 +01:00
Frans de Jonge
13d4ead330 [fix] Gesture manager: check multiswipe defaults (#4623)
Pointed out by @poire-z

Also add default previous location action for left, right.
2019-02-20 09:34:44 +01:00
NiLuJe
5495c5d108 [fix] Fix partial refresh when coming out of ScreenSaver in landscape (#4622)
When we rotate to show a screensaver, restore original rotation *before* closing the ScreenSaver window.

And ensure closing the ScreenSaver *always* triggers a full update, no
matter the settings.

Fix #4621
2019-02-19 18:17:58 +01:00
Frans de Jonge
388871a2c3 [fix, Android] Bump luajit-launcher to unbreak fullscreen toggle in api14-15 (#4619)
* add support for older energy ereaders https://github.com/koreader/android-luajit-launcher/pull/116
* README: slight tweaks https://github.com/koreader/android-luajit-launcher/pull/117
* [chore] Fix README codacy issues https://github.com/koreader/android-luajit-launcher/pull/118
* fix codacy issues, part one: unused imports and minor fixes https://github.com/koreader/android-luajit-launcher/pull/120
* unbreak fullscreen toggle in api14-15 https://github.com/koreader/android-luajit-launcher/pull/119
2019-02-19 08:01:59 +01:00
Frans de Jonge
8abf79b497 [spec] Add GestureDetector stub (#4614)
Cf. #4613.
2019-02-19 07:38:25 +01:00
NiLuJe
e3bcd6c2a9 Really disable HW dithering on Kindle ;) (#4617)
* Cosmestic tweak to an error message.
PicDocument handles more than just JPEGs ;)
* Bump base
To really disable HW dithering on Kindle ;).
2019-02-19 00:52:28 +01:00
NiLuJe
bad6305124 Bump base (#4615)
* Bump base
  * PB fb setup cleanups (https://github.com/koreader/koreader-base/pull/813)
  * Buildsystem tweaks (https://github.com/koreader/koreader-base/pull/817)
  * Disable HW dithering on Kindle https://github.com/koreader/koreader-base/pull/819)
2019-02-18 19:45:11 +01:00
Frans de Jonge
c09045efcd [fix] GestureDetector: multiswipe rotation (#4613)
Reported by @poire-z in <https://github.com/koreader/koreader/pull/4607#issuecomment-464622906>.

Also refactor slightly along the way to make the translations more straightforward.
2019-02-18 16:42:34 +01:00
NiLuJe
b70eaa7322 Warn that the restart may fail...
(Hopefully, only when there are actual changes to the startup script,
which should be a rare occurence).
2019-02-18 15:59:06 +01:00
NiLuJe
a3f8e49a0d Use a temporary copy of our tar binary during OTA updating, to avoid the
potential for a SIGBUS error...

Fix #4602
2019-02-18 15:59:06 +01:00
NiLuJe
3bc29aa618 Re-order tar CLI args to be closer to other platforms 2019-02-18 15:59:06 +01:00
Martín Fernández
b6683b7a9f android: update wifi menus 2019-02-18 14:32:35 +01:00
Martín Fernández
4ab7e367b5 strings, not ints 2019-02-18 14:32:35 +01:00
Martín Fernández
04e17424d0 display network settings based on device capabilities + fix android basic network info 2019-02-18 14:32:35 +01:00
Frans de Jonge
f3a36f8285 [fix] GestureDetector typo (#4612) 2019-02-18 09:18:10 +01:00
Frans de Jonge
635927269d [feat] ReaderGesture: add multiswipe support (#4607)
This basic initial implementation offers an introductory message
on the first multiswipe with the option to disable, as well as
a few example multiswipes.

Custom multiswipes can be added to `settings/multiswipes.lua`.
2019-02-17 21:38:02 +01:00
Frans de Jonge
0adbd510c1 [feat] GestureDetector: add multiswipes (#4606)
The basic idea is that you gain an infinite amount of extra gestures,
although in practice you're probably mostly limited to your 16 basic
two swipe combinations and maybe a few three swipe ones.
2019-02-17 21:09:09 +01:00
poire-z
62d548fc61 Highlight adjusting: avoid start and end crossing each other 2019-02-17 16:54:54 +01:00
poire-z
e717d67896 bump crengine: font, text and highlights fixes
Includes:
- [CI] Add .codacy.yml
- Footnotes, text selection: don't clip on left and right margins
- Fix underline overflowing last word
- Fix ldomXPointer::getRectEx(), cleanup getSegmentRects() workaround
- Update remaining font metrics from Int8 to Int16

cre.cpp:
- adds compareXPointers()
2019-02-17 16:54:54 +01:00
Frans de Jonge
1623acc007 [UX] ReaderGesture: add option - toggle rotation 2019-02-16 22:13:19 +01:00
Frans de Jonge
e4b4680b04 [UX] ReaderGesture: add option - show history 2019-02-16 22:13:19 +01:00
Frans de Jonge
45b87307b4 [UX] ReaderGesture: add option - suspend action 2019-02-16 22:13:19 +01:00
Frans de Jonge
333f8658bb [UX] ReaderGesture: add back to previous location as an option (#4600)
See https://github.com/koreader/koreader/issues/4333#issuecomment-464361133
2019-02-16 18:20:30 +01:00
Martín Fernández
de6b6370ac bump base to pick cervantes framebuffer changes 2019-02-16 17:32:43 +01:00
Martín Fernández
48013dc70d move dicts from external storage to internal partition,
do this after usbms seasons
2019-02-16 17:32:43 +01:00
Martín Fernández
301aa580cc cervantes: add usb storage on devices w/updated 3rd party tools 2019-02-16 17:32:43 +01:00
Martín Fernández
51ce6664e5 move Cervantes4 to new natural light interface, like Kobo Forma and Kobo ClaraHD 2019-02-16 17:32:43 +01:00
Martín Fernández
62f25351b4 use fractional sleep as a fallback for devices where usleep isn't present 2019-02-16 17:32:43 +01:00
Frans de Jonge
35e5c24cb8 [Android] Bump luajit-launcher for os.execute quote problem half-fix (#4598)
There is at least one very obvious issue remaining (i.e., one quotes arguments to enclose spaces) but it's not caused by this PR.

Fixes #4586.
2019-02-16 15:24:26 +01:00
Frans de Jonge
33840c17cb [fix] Highlight moving button text shouldn't be translated (#4597) 2019-02-16 15:03:27 +01:00
Galunid
015fb4d34e Allows adjusting highlight start and end (#4582)
Adds arrow buttons under Delete|Edit.
Tap to move by word, hold to move by char.
2019-02-16 00:42:27 +01:00
Frans de Jonge
f3b6d7fc46 README: add a cute little version tag badge (#4596) 2019-02-16 00:32:37 +01:00
poire-z
5657fb087e bump crengine: fix font clipping and hyphenation with HB (#4593)
Includes:
- Page drawing: don't clip on left and right margins
- Rendering: draw borders before their inner content
- Harfbuzz: fix rendering when hyphenating on a ligature
2019-02-15 00:40:11 +01:00
Frans de Jonge
74f80fc4bf Bump base for fb:clear() (#4592)
https://github.com/koreader/koreader-base/pull/814 necessary for https://github.com/koreader/koreader/pull/4591

Also includes https://github.com/koreader/koreader-base/pull/809 https://github.com/koreader/koreader-base/pull/808 and https://github.com/koreader/koreader-base/pull/810
2019-02-14 21:06:52 +01:00
NiLuJe
134998a323 [fix] Eliminate ghosting on eInk when showing an image ScreenSaver (#4591)
* Flash a white screen before showing a screensaver image, to prevent
ghosting.

* Really limit the white flash to full-screen images

* Limit that behavior to eInk screens

(Not that clear() is implemented anywhere else, but, still).
2019-02-14 20:23:28 +01:00
Frans de Jonge
8026ffbddb [Android, fix] Fullscreen, bigger aspect ratio (#4589)
Fixes #4584

Includes https://github.com/koreader/android-luajit-launcher/pull/113
2019-02-14 15:02:46 +01:00
NiLuJe
b274080846 Some more repaint/refresh tweaks (#4578)
* ReaderView & ReaderPaging panning should *probably* keep using "partial" ;). (Fix #4575)
* Try to avoid unnecessary footer repaints (mini status bar)
2019-02-11 03:28:46 +01:00
Frans de Jonge
e123cc5dca [fix, AppImage] writable zsync outbox location (#4568)
* [fix, AppImage] writable zsync outbox location

* change to zsync-outbox
2019-02-09 20:46:25 +01:00
poire-z
058d73443c bump crengine: fix search stuck on some pages and others (#4572)
Includes:
- (Upstream) Support UTF-8 filenames in zip archives
- Update French hyphenation pattern
- cre:findText(): fix search getting stuck on some pages
- CSS: fix ancessor rule parsing
2019-02-09 18:32:02 +01:00
Frans de Jonge
0b2f586d28 [Android] Bump luajit-launcher for Boyue Likebook Plus (#4573)
Includes https://github.com/koreader/android-luajit-launcher/pull/112

References https://github.com/koreader/koreader/issues/4551#issuecomment-461743510

Also log time elapsed installing
2019-02-09 18:10:44 +01:00
NiLuJe
8aacd2ffcb Bump base (#4571)
SQLite 3.27.1
2019-02-09 17:39:55 +01:00
NiLuJe
5eb4fc5c2d [UX] Add Prev/Next page actions to GestureManager (#4570)
c.f., https://www.mobileread.com/forums/showthread.php?t=315023
2019-02-09 16:28:22 +01:00
Frans de Jonge
48af47109f [Android] kodev run android: show all errors (#4569)
It will introduce some minor noise, but too much stuff is simply not seen otherwise, for example:

*:E
```
02-09 12:45:53.359  2580  2609 E IconLoader: Unexpected null component name or activity info: ComponentInfo{org.koreader.launcher/org.koreader.launcher.MainActivity}, null
```

*:F
```
--------- beginning of system
--------- beginning of main
--------- beginning of crash
02-09 12:47:31.275  4985  5003 F libc    : /home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed
02-09 12:47:31.275  4985  5003 F libc    : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 5003 (Thread-37), pid 4985 (reader.launcher)
02-09 12:47:31.512  5085  5085 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-09 12:47:31.512  5085  5085 F DEBUG   : Build fingerprint: 'Android/sdk_phone_x86_64/generic_x86_64:9/PSR1.180720.012/4923214:userdebug/test-keys'
02-09 12:47:31.512  5085  5085 F DEBUG   : Revision: '0'
02-09 12:47:31.513  5085  5085 F DEBUG   : ABI: 'x86'
02-09 12:47:31.513  5085  5085 F DEBUG   : pid: 4985, tid: 5003, name: Thread-37  >>> org.koreader.launcher <<<
02-09 12:47:31.513  5085  5085 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
02-09 12:47:31.513  5085  5085 F DEBUG   : Abort message: '/home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed'
02-09 12:47:31.513  5085  5085 F DEBUG   :     eax 00000000  ebx 00001379  ecx 0000138b  edx 00000006
02-09 12:47:31.513  5085  5085 F DEBUG   :     edi 00000000  esi 00000000
02-09 12:47:31.513  5085  5085 F DEBUG   :     ebp 33167a17  esp de3e9528  eip f70d8b59
02-09 12:47:31.515  5085  5085 F DEBUG   : 
02-09 12:47:31.515  5085  5085 F DEBUG   : backtrace:
02-09 12:47:31.515  5085  5085 F DEBUG   :     #00 pc 00000b59  [vdso:f70d8000] (__kernel_vsyscall+9)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #01 pc 0001fc08  /system/lib/libc.so (syscall+40)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #02 pc 000321f3  /system/lib/libc.so (abort+115)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #03 pc 00032681  /system/lib/libc.so (__assert2+49)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #04 pc 000046b0  /data/data/org.koreader.launcher/files/libs/libfmq.so.1
02-09 12:47:31.515  5085  5085 F DEBUG   :     #05 pc 00008e54  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #06 pc 00056a61  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #07 pc 0006ed92  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #08 pc 00006fc9  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #09 pc 00061f73  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #10 pc 00006fc9  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #11 pc 00061f73  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #12 pc 00006fc9  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #13 pc 0001c470  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (lua_pcall+80)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #14 pc 0000571a  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (android_main+458)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #15 pc 00070a38  /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515  5085  5085 F DEBUG   :     #16 pc 0009cce5  /system/lib/libc.so (__pthread_start(void*)+53)
02-09 12:47:31.515  5085  5085 F DEBUG   :     #17 pc 00033c1b  /system/lib/libc.so (__start_thread+75)
```
2019-02-09 15:11:52 +01:00
NiLuJe
011370882f [chore] Some Wi-Fi tweaks (#4564)
* On Kobo, kill WiFi on startup if we detect an inconsistent state...

Untested, not terribly pretty.

The other solution is to slow down the Wi-Fi meny by doing the same
check for the "Wi-Fi connection" checkbox as in the later wifi_status
one...

* Don't enable auto_restore_wifi by default

It's liable to silently murder batteries for no good reason, given that
we prompt to enable WiFi by default when needed, and we otherwise have
no actual need to keep WiFi on in the background.

re #2215 (in particular, this directly contradicts @houqp in
https://github.com/koreader/koreader/pull/2215#discussion_r74696133 ;)).
2019-02-08 22:29:11 +01:00