Commit Graph

685 Commits

Author SHA1 Message Date
Robert-Jan de Dreu
e5e140d5fd Fix invert for pocketbooks by disabling hardware invert (#8803)
With the inkview library inverting the screen seems possible but needs some 
discussion with the developers of Pocketbook. For now disable HWInvert so 
this feature is not broken while we figure out how to change the invert with inkview.
2022-02-19 19:50:52 +01:00
NiLuJe
fb45576429 Kobo: Use the right input protocol on the Nia (#8794)
c.f., https://github.com/baskerville/plato/issues/220
2022-02-09 23:25:37 +01:00
NiLuJe
2d4e1584c7 Kobo: Drop deprecated comment
Inherited from the original Device abstraction implementation,
7 years ago, but it never made any sense on Kobo ;).
2022-02-08 00:25:13 +01:00
NiLuJe
eca27fe497 Disable the WAIT_FOR ioctls on the Libra 2
Much like the Libra, it seems to be having issue with these...

Fix #8664
Re #8414
2022-02-08 00:25:13 +01:00
NiLuJe
0408816a54 ReaderFooter: Take the PowerCover into account in the battery level
widget

Since we only use a single icon, we have to take a few shortcuts:

* The icon itself is computed based on the average of both batteries.
* The actual value is the sum of both batteries.
* Much like everywhere else, charging means the *aux* battery charging
  (i.e., connected to a power source).

Re #8741, which does the same for ReaderHeader.
2022-02-02 00:37:05 +01:00
NiLuJe
5518a8109b PowerD: Ensure we actually pull battery capacity during early boot.
(i.e., when MONOTONIC returns something lower than 60).

Fix https://github.com/koreader/koreader/pull/8711#issuecomment-1021106079
2022-02-02 00:37:05 +01:00
Andrej Shadura
f3ac95321b PocketBook: make canAssociateFileExtensions always return true (#8729)
This change drops the #koreader signature check. 

This check prevents KOReader from modifying associations if something else has changed the file without putting a verbatim "#koreader" string back.

While this prevents KOReader from interfering with another application or the system trying to own the file, it also leads to hard to diagnose issues, when the user can inadvertently change associations without realising they’re doing so, and being unable to return back.
2022-01-30 22:01:28 +01:00
Robert-Jan de Dreu
e8fa5bdedd PocketBook: Check NET_CONNECTED to see if wifi is really connected (#8730)
I've emailed with PocketBook about the problem with Wifi on the newer models. They explained the wrong constant was being used:

> Dear Robert,
>
> Thank you for choosing Pocketbook.
​
> Wi-Fi Connection" enabled when no connection:
> https://github.com/koreader/koreader/issues/8617  
> The problem is in incorrect usage of constant. You should use flag NET_CONNECTED with bit AND operation as shown in example below.
>
> function NetworkMgr:isWifiOn()
>     local state = inkview.QueryNetwork()
>     return band(state, C.NET_CONNECTED) ~= 0
> end
>
> Inkpad3 Wifi Standby
> https://github.com/koreader/koreader/issues/4747 
> the same solution for this issue

Related issues:
https://github.com/koreader/koreader/issues/8617
https://github.com/koreader/koreader/issues/4747

Since I made the previous hack and their suggestion seems to work on the PB741 color. I've made this PR to remove my hack.

It might be wise to also test this fix on older models.
2022-01-29 20:58:28 +01:00
roshavagarga
4f707bb49d PocketBook: add support for PB617 (Basic Lux 3) (#8740) 2022-01-28 23:42:42 +01:00
Robert-Jan de Dreu
943dc99645 PocketBook: handle rendering of interface and books directly with inkview (#8727)
Use ffi/framebuffer_pocketbook.lua, using Pocketbooks's own
inkview library for framebuffer interactions.
2022-01-28 16:17:36 +01:00
Martín Fernández
4423082949 Colordict: use generic send intent. (#8721)
Its custom intent was borked on last update and doesn't work anymore.

Fixes https://github.com/koreader/koreader/issues/8718
2022-01-24 18:04:34 +01:00
Martín Fernández
d67d92bcab android screen: decouple epd and color properties (#8717)
also included new devices: 

- added onyx nova 3
- fixed onyx note 5
2022-01-24 16:01:33 +01:00
poire-z
16e3b2f0ac Allow Backspace to work as back button 2022-01-24 08:50:47 +01:00
NiLuJe
e39ee325f9 Cleverer UIManager <-> PowerD circular dependency handling
Thanks to @poire-z ;).
2022-01-24 08:42:45 +01:00
NiLuJe
2462c1c5c1 PowerD: Make sure we immediately display accurate battery capacity on
resume.

(MONOTONIC doesn't trick during suspend, so we could happily display the
pre-suspend capacity for a while).
2022-01-24 08:42:45 +01:00
NiLuJe
69718d6ee1 PowerD: Fix a stupid typo in getCapacity
Regression since #8672
2022-01-24 08:42:45 +01:00
NiLuJe
689ec2a839 PowerD: Prevent potential dependency loop in get*Capacity
Not currently happening in vanilla code, but, not entirely unlikely.
stateChanged already uses a similar guard.

Re https://github.com/koreader/koreader/pull/8672#discussion_r790126388
2022-01-24 08:42:45 +01:00
NiLuJe
eb0c2bfc93 Kobo: Handle a few PowerCover quirks...
* The first few capacity reads after connecting to the cover may fail

* The PowerCover may trigger spurious move/add usb_plug uevent,
which translate into Charging events for us.
Instead of blindly lighting up the charging LED on those,
check if the device is actually charging, first.
2022-01-19 12:44:35 +01:00
NiLuJe
607f5db1dd Kobo: Accurately toggle the charging LED on startup
Kobo: Also refresh charging LED state on resume
2022-01-19 12:44:35 +01:00
NiLuJe
dc98384177 PowerD: Add a framework to report the status of auxiliary batteries
Implement it on the Kobo Sage, for the PowerCover

TouchMenu: Display auxiliary battery status

Kobo: More accurately report the PowerCover's charging status

i.e., try to actually figure out if the auxiliary battery is charging
instead of just checking the reader's battery (because that one will
often swap between the charging and discharging state as it drains the
aux battery...).

PowerD: Use a cached timestamp when doing battery pull checks
2022-01-19 12:44:35 +01:00
yparitcher
0508014c1b SDL & Android: Do not set FM banner on resize
regression from #8648

FileManager.instance.banner was removed and replaced with TitleBar
2022-01-18 09:35:32 +01:00
Andrej Shadura
11cd34973b Pocketbook: switch the Wi-Fi on before attempting to connect (#8546)
Fixes #4747.

Apparently, inkview.NetConnect() doesn’t enable the Wi-Fi on its own,
this results in a failure if the device has been put into the sleep or
standby mode, when the Wi-Fi hardware is powered down.

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
2022-01-11 12:41:19 +01:00
Robert-Jan de Dreu
e2a5fd5c36 [Pocketbook] wifi: fallback to new API when old API is out of bounds 2022-01-07 21:39:40 +01:00
zwim
6c9e222d33 Screensaver: allow limiting stretch of covers and images (#8570)
ImageWidget: adds stretch_limit_percentage parameter.
Add support for screensaver on the emulator, for easier testing.
2022-01-02 23:13:19 +01:00
zwim
a001a13ab6 ReaderRolling: avoid ANR on Android when (re)rendering. (#8501)
Wrap document opening and re-renderings (which can block
the app for some time) with setIgnoreInput() to avoid ANR
on Android.
Any setting update that could possibly cause a re-rendering
should send the UpdatePos event, to ensure the re-rendering
happens in ReaderRolling:onUpdatePos() where precautions
are taken to avoid ANR.
2021-12-07 19:55:55 +01:00
Martín Fernández
3427c207b0 android: bump test activity (#8483)
Now users can test light drivers too. See https://github.com/koreader/android-luajit-launcher/pull/339#issuecomment-977822717
2021-11-25 22:04:09 +01:00
NiLuJe
1ff19f8ba7 Kobo: On sunxi, add a delay between the white flash and the sleep
screen.

Otherwise, on the Sage, weird flash glitches may happen, depending on
what was on screen...
(e.g., there's some weird update merging shenanigans going on
despite those updates being flagged NO_MERGE...).
2021-11-01 23:38:22 +01:00
zwim
a7cfc65928 Fix crash when entering a digit on the SDL keyboard (#8388)
Fixes #8387.
2021-10-29 12:59:03 +02:00
NiLuJe
e17b136d67 Initial support for the Kobo Libra 2 (#8367)
* Initial support for the Kobo Libra 2

* It's the same touch panel as the Elipsa & Sage.
* Plug in proper nightmode waveforms on mxcfb.

* Bump base

https://github.com/koreader/koreader-base/pull/1423
2021-10-24 20:26:04 +02:00
NiLuJe
db21521968 Support frontlight warmth on the Sage (#8366)
Follow-up to #8361.
2021-10-23 20:56:35 +02:00
Mike Kozlowski
2cd4d09db4 Add initial support for Kobo Sage (Cadmus) (#8361) 2021-10-23 13:27:25 +02:00
ElimGarak1
863255c9f4 Add PocketBook InkPad Lite (PB970) (#8335)
Closes #8331.
2021-10-17 10:08:51 +02:00
zwim
0c7d174cd7 [frontlight, kobo, cervantes] Remove auto_warmth (#8154)
The feature is now provided by the "Auto warmth
and night mode" plugin (#8129).
2021-09-25 23:24:34 +02:00
NiLuJe
4a2f519600 Kobo: Use CLOEXEC in the Device module
We have a guarantee that it's supported on this platform.
2021-09-25 23:09:43 +02:00
NiLuJe
53b8ed48bf Kobo: Don't leak fds in isWifiOn
io.lines only closes the fd when the loop is exited sanely, not by a
control flow keyword (i.e., no break or return allowed).

Regression since #8169
2021-09-25 23:09:43 +02:00
NiLuJe
48da545e32 Kobo/Elipsa: More fine-grained control over the amount of online CPU
cores

* Only keep a single core online most of the time.
* Device: Add an enableCPUCores method to allow controlling the amount of
  online CPU cores.
* Move the initial core onlining setup to Kobo:init, instead of the startup script.
* Enable two CPU cores while hinting new (e.g., cache miss) pages in PDF land.
* Enable two CPU cores while processing book metadata.
* Drive-by fix to isolate the DocCache pressure check to KoptInterface
  and actually apply it when it matters most (e.g., k2pdfopt stuff).
2021-09-25 02:47:06 +02:00
zwim
debf5dc550 Footer: add Warmth as footer item (#8060) 2021-09-02 22:44:22 +02:00
NiLuJe
af8988ef5f Minor script tweaks (#8169)
* Neater fbdepth usage on sunxi
* Make sure we only ever match *loaded* modules when we check lsmod
2021-09-02 22:33:10 +02:00
NiLuJe
edfb29b406 Fix duplicate suspend scheduling in Device:onPowerEvent
We should always unschedule suspend before scheduling it again (i.e.,
use rescheduleSuspend ;)).

Fix #8097 (many thanks to @Mel-kior for the detailed repro!)
2021-08-19 22:40:04 +02:00
Galunid
611a5311b6 Fix warmth settings on some android devices (#8104) 2021-08-19 15:55:11 +02:00
Martín Fdez
6fb52528cd disable light settings on ChromeOS, android TV and e-ink devices without lights 2021-08-13 11:35:43 +02:00
Martín Fdez
8bf19a7327 flush settings before being killed 2021-08-13 11:35:43 +02:00
NiLuJe
1e9346aec6 Fix Wi-Fi toggle on the Elipsa
It turns out that the kernel needs a little push now that the dedicated
wifi power control module is gone ;).

Issue was only exposed if you booted KOReader while the Wi-Fi was down.
2021-08-09 02:33:07 +02:00
NiLuJe
bc133e70d3 Input: Minor simplifications around pen/finger discrimination & the snow protocol (#8021)
* Decode EV_KEY:KEY_BATTERY
* Input: Only drop hovering *pen* events.
  There are currently too many broken 0-pressure *finger* events being
  reported on the Elipsa, making a dumb rejection highly annoying.
* Bump base
https://github.com/koreader/koreader-base/pull/1393
* Rely on actual events to detect loss of contact for the "snow"
protocol.
  Allows simplifying the whole thing.
* Use `ipairs` over `pairs` for pure arrays.
2021-08-03 20:57:53 +02:00
Martín Fernández
990b6768f4 disable battery level on desktop Linux (#8026)
This also include ChromeOS laptops (chromebooks) since the power sysfs attributes don't exist in linux containers.
2021-07-25 23:29:30 +02:00
NiLuJe
817e9e26e8 Minor input tweak after #7986 (#8004) 2021-07-21 22:20:08 +02:00
NiLuJe
ae35e898fb Kobo Elipsa support (#7986)
Includes a few minor cleanups along the way ;).
2021-07-21 18:12:58 +02:00
poire-z
16ab5aa194 SDL keyboard input: should go to top level widget only
Avoid the typed input to be added to all
InputText present on the stack: only the
top one should handle it.
2021-07-15 23:18:47 +02:00
hius07
884c664f63 Device status alarm: battery and memory (#7857)
Move former low battery alarm into a device status
alarm menu, and add high memory usage checks.
2021-06-29 14:07:29 +02:00
Martín Fernández
ee92ca68e8 workaround for Onyx Poke2 nonsense (#7872)
Requires koreader/android-luajit-launcher#320

Also the luajit-launcher bump adds support for Likebook P78 and sanitizes clipboard text.
2021-06-20 15:42:00 +02:00