Commit Graph

6491 Commits (a3f8e49a0dc6d613a93bde9ed9173c2760e8599d)
 

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
5 years ago
NiLuJe 3bc29aa618 Re-order tar CLI args to be closer to other platforms 5 years ago
Martín Fernández b6683b7a9f android: update wifi menus 5 years ago
Martín Fernández 4ab7e367b5 strings, not ints 5 years ago
Martín Fernández 04e17424d0 display network settings based on device capabilities + fix android basic network info 5 years ago
Frans de Jonge f3a36f8285
[fix] GestureDetector typo (#4612) 5 years ago
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`.
5 years ago
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.
5 years ago
poire-z 62d548fc61 Highlight adjusting: avoid start and end crossing each other 5 years ago
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()
5 years ago
Frans de Jonge 1623acc007 [UX] ReaderGesture: add option - toggle rotation 5 years ago
Frans de Jonge e4b4680b04 [UX] ReaderGesture: add option - show history 5 years ago
Frans de Jonge 45b87307b4 [UX] ReaderGesture: add option - suspend action 5 years ago
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
5 years ago
Martín Fernández de6b6370ac bump base to pick cervantes framebuffer changes 5 years ago
Martín Fernández 48013dc70d move dicts from external storage to internal partition,
do this after usbms seasons
5 years ago
Martín Fernández 301aa580cc cervantes: add usb storage on devices w/updated 3rd party tools 5 years ago
Martín Fernández 51ce6664e5 move Cervantes4 to new natural light interface, like Kobo Forma and Kobo ClaraHD 5 years ago
Martín Fernández 62f25351b4 use fractional sleep as a fallback for devices where usleep isn't present 5 years ago
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.
5 years ago
Frans de Jonge 33840c17cb
[fix] Highlight moving button text shouldn't be translated (#4597) 5 years ago
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.
5 years ago
Frans de Jonge f3b6d7fc46 README: add a cute little version tag badge (#4596) 5 years ago
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
5 years ago
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
5 years ago
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).
5 years ago
Frans de Jonge 8026ffbddb
[Android, fix] Fullscreen, bigger aspect ratio (#4589)
Fixes #4584

Includes https://github.com/koreader/android-luajit-launcher/pull/113
5 years ago
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)
5 years ago
Frans de Jonge e123cc5dca
[fix, AppImage] writable zsync outbox location (#4568)
* [fix, AppImage] writable zsync outbox location

* change to zsync-outbox
5 years ago
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
5 years ago
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
5 years ago
NiLuJe 8aacd2ffcb Bump base (#4571)
SQLite 3.27.1
5 years ago
NiLuJe 5eb4fc5c2d [UX] Add Prev/Next page actions to GestureManager (#4570)
c.f., https://www.mobileread.com/forums/showthread.php?t=315023
5 years ago
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)
```
5 years ago
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 ;)).
5 years ago
NiLuJe 491f24d3d1 [UX] Don't show low battery warning when charging (#4563)
Fix #4560
5 years ago
NiLuJe abc6d17a25
A few minor fixes after #4541 (#4561)
* Enforce dithering in PicDocument
* Ensure we'll get a flashing update on ScreenSaver exit
5 years ago
Frans de Jonge 1cc32362aa
[build, Android] Use faster lzma2 compression (#4562)
This greatly speeds up package creation and somewhat speeds up resource bundle extraction.
5 years ago
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
5 years ago
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.
5 years ago
Frans de Jonge e6b3542bdb
[fix, Android] hasEinkScreen should be a function (#4557)
Fixes https://github.com/koreader/koreader/pull/4541#issuecomment-461739983
5 years ago
NiLuJe 9e65ff4ac9
Bump base (#4556)
* Android basename fix
* FBInk 1.10.2
* lpeg mirror
5 years ago
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 ;).
5 years ago
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)
5 years ago
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
5 years ago
Martín Fernández 3f415604b9 fix android release version (#4549) 5 years ago
Frans de Jonge 778c42312d
[i18n] Add Slovak to translations (#4548) 5 years ago
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.
5 years ago
poire-z 6e3b40e2bf Adds CreDocument:getScreenPositionFromXPointer()
Factorize same code used by ReaderLink and ReaderRolling into
CreDocument:getScreenPositionFromXPointer().
5 years ago
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.
5 years ago