2
0
mirror of https://github.com/koreader/koreader synced 2024-11-13 19:11:25 +00:00
Commit Graph

6491 Commits

Author SHA1 Message Date
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
NiLuJe
491f24d3d1 [UX] Don't show low battery warning when charging (#4563)
Fix #4560
2019-02-08 18:51:13 +01:00
NiLuJe
abc6d17a25
A few minor fixes after #4541 (#4561)
* Enforce dithering in PicDocument
* Ensure we'll get a flashing update on ScreenSaver exit
2019-02-08 18:31:40 +01:00
Frans de Jonge
1cc32362aa
[build, Android] Use faster lzma2 compression (#4562)
This greatly speeds up package creation and somewhat speeds up resource bundle extraction.
2019-02-08 18:18:32 +01:00
Frans de Jonge
154c1cd1c4
[Android] Miscellaneous fixes: refactor & Prime HD support (#4559)
* Refactor https://github.com/koreader/android-luajit-launcher/pull/104
* fix support for inkbook prime hd https://github.com/koreader/android-luajit-launcher/pull/111

References https://github.com/koreader/koreader/issues/4551#issuecomment-461526228
2019-02-08 12:17:25 +01:00
Frans de Jonge
97f7f75643
[fix, Android] hasEinkScreen function in eink_opt_menu_table (#4558)
Follow-up to #4557. Ten-second fixes are never a good idea.
This hides the E Ink settings menu properly again.
2019-02-08 11:12:43 +01:00
Frans de Jonge
e6b3542bdb
[fix, Android] hasEinkScreen should be a function (#4557)
Fixes https://github.com/koreader/koreader/pull/4541#issuecomment-461739983
2019-02-08 10:45:09 +01:00
NiLuJe
9e65ff4ac9
Bump base (#4556)
* Android basename fix
* FBInk 1.10.2
* lpeg mirror
2019-02-08 01:28:44 +01:00
NiLuJe
8189945be9
A few graphics fixes after #4541 (#4554)
* Various FocusManager related tweaks to limit its usage to devices with a DPad, and prevent initial button highlights in Dialogs on devices where it makes no sense (i.e., those without a DPad. And even on DPad devices, I'm not even sure how we'd go about making one of those pop up anyway, because no Touch ;)!).
* One mysterious fix to text-only Buttons so that the flash_ui highlight always works, and always honors `FrameContainer`'s pill shape. (Before that, an unhighlight on a text button with a callback that didn't repaint anything [say, the find first/find last buttons in the Reader's search bar when you're already on the first/last match] would do a square black highlight, and a white pill-shaped unhighlight (leaving the black corners visible)).
The workaround makes *absolutely* no sense to me (as `self[1] -> self.frame`, AFAICT), but it works, and ensures all highlights/unhighlights are pill-shaped, so at least we're not doing maths for rounded corners for nothing ;).
2019-02-08 00:56:32 +01:00
NiLuJe
812e595608
Enable HW dithering in a few key places (#4541)
* Enable HW dithering on supported devices (Clara HD, Forma; Oasis 2, PW4)
  * FileManager and co. (where appropriate, i.e., when covers are shown)
  * Book Status
  * Reader, where appropriate:
    * CRe: on pages whith image content (for over 7.5% of the screen area, should hopefully leave stuff like bullet points or small scene breaks alone).
    * Other engines: on user-request (in the gear tab of the bottom menu), via the new "Dithering" knob (will only appear on supported devices).
  * ScreenSaver
  * ImageViewer
* Minimize repaints when flash_ui is enabled (by, almost everywhere, only repainting the flashing element, and not the toplevel window which hosts it).
  (The first pass of this involved fixing a few Button instances whose show_parent was wrong, in particular, chevrons in the FM & TopMenu).
* Hunted down a few redundant repaints (unneeded setDirty("all") calls),
  either by switching the widget to nil when only a refresh was needed, and not a repaint,
  or by passing the appropritate widget to setDirty.
  (Note to self: Enable *verbose* debugging to catch broken setDirty calls via its post guard).
  There were also a few instances of 'em right behind a widget close.
* Don't repaint the underlying widget when initially showing TopMenu & ConfigDialog.
  We unfortunately do need to do it when switching tabs, because of their variable heights.
* On Kobo, disabled the extra and completely useless full refresh before suspend/reboot/poweroff, as well as on resume. No more double refreshes!
* Fix another debug guard in Kobo sysfs_light
* Switch ImageWidget & ImageViewer mostly to "ui" updates, which will be better suited to image content pretty much everywhere, REAGL or not.

PS: (Almost 💯 commits! :D)
2019-02-07 01:14:37 +01:00
Frans de Jonge
5d21990b0e
[Android] Add E Ink support for Inkbook Prime HD & exit after crash (#4552)
* add eink support for Inkbook Prime HD (https://github.com/koreader/android-luajit-launcher/pull/110) @pazos (references #4551)
* [fix] Exit after crashing to avoid unknown states (https://github.com/koreader/android-luajit-launcher/pull/109) @pazos
2019-02-05 21:01:22 +01:00
Martín Fernández
3f415604b9 fix android release version (#4549) 2019-02-04 13:52:20 +01:00
Frans de Jonge
778c42312d
[i18n] Add Slovak to translations (#4548) 2019-02-04 09:33:45 +01:00
poire-z
e802b96e45 cre: allow text selection/highlighting across pages
Panning to the bottom right corner (or top left corner) switches
to scroll mode and scroll the page forward (resp. backward) 1/3rd
of the screen.
One has to pan out of the corner to continue selection.
Panning again to that corner scrolls another 1/3rd of screen.
Page mode is restored when highlighting or dismissing the highlight
dialog, and a little marker is shown at where selection was started
so one does not get lost after all that scrolling and restoring.
2019-02-03 22:12:00 +01:00
poire-z
6e3b40e2bf Adds CreDocument:getScreenPositionFromXPointer()
Factorize same code used by ReaderLink and ReaderRolling into
CreDocument:getScreenPositionFromXPointer().
2019-02-03 22:12:00 +01:00
Frans de Jonge
81a2423982
[Android, feat] Set APK version to a sane automated value (#4546)
Includes "set android versionCode and android versionName at buildtime" (<https://github.com/koreader/android-luajit-launcher/pull/106>)

* versionCode uses the number of Git commits, because Google doesn't like values larger than `2100000000`
* versionName uses our existing version string

References #2040.
2019-02-03 20:19:52 +01:00