2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
Commit Graph

155 Commits

Author SHA1 Message Date
Hzj_jie
1a2e4f5b55 Force Kobo to suspend (#2691)
Without this change, the device resumed randomly. With this change, the device had not resumed randomly anymore. (Technically speaking, it still randomly resumed, but got suspended immediately.)
2017-04-01 17:14:06 +02:00
Hzj_jie
0b29e73e2e BatteryStat plugin and instruction of KoboLight plugin (#2643)
* Start battery stat plugin

* BatteryStat & kobolight

* Several minor improvements

* Remove a useless function

* flush settings

* Some review feedbacks

* Resolve review comments

* Remaining Minutes -> Remaining Hours

* Add dump_file

* typo

* realpath

* realpath on folder

* Remove useless os.time()

* Resolve review comments

* warning

* Add BatteryStat.debugging flag

* treat log as txt

* Minor improvement

* Charging hour should be positive

* Use warn instead of info

* onSuspend in Kobo

* Charging events for kobo and kindle

* More events

* dumpOrLog

* Warnings

* Typo

* More space

* Singleton

* slightly format change

* BatteryStat singleton

* Init

* Remove debugging flag

* sleeping percentage is still negative

* Read settings

* Do not need to change was_suspending and was_charging

* Typo

* Remove debugging flag

* Not charging should happen before suspend

* Resolve review comments

* was_suspend and was_charging should be updated each time in onCallback()
2017-03-23 23:36:15 -07:00
Qingping Hou
f95ad00b9e feat: add logger module & rewrite kobo suspend script in lua 2017-01-02 19:52:09 -08:00
poire-z
adbe76c156 Reset refresh rate counter on explicit full refreshs (#2394) 2016-12-04 12:03:11 -08:00
Bastien Dejean
64bc5cd63c Make the powered off state customizable
This changes the behavior of the powered off transition phase for the
Kobo devices: instead of displaying a confirmation dialog, a screensaver
is used after a 2 seconds press delay.

Users can specify separate directories/files/messages for the powered
off and sleeping states through the `path` and `message` attributes of
the `{poweroff,suspend}_screensaver` settings.

Fixes #2327 and closes #2306.
2016-11-18 12:54:00 -08:00
Qingping Hou
816d0a551a kobo: handle charging/uncharging event 2016-10-30 15:25:51 -07:00
Zijie He
f36f8cb464 KOSync plugin should respect onNetworkConnected and onFlushSettings events 2016-10-25 23:24:42 -07:00
Qingping Hou
902403bf0a kobo(fix): prevent usb plug events from interrupting sleep 2016-09-21 23:32:56 -07:00
Qingping Hou
71afe3606c kobo(fix): set suspend wait timeout to 15 seconds
Otherwise, suspend might fail and the device will ended up in a false
sleep state and drain the battery.
2016-09-21 23:32:52 -07:00
Qingping Hou
4036e2c460 kobo(fix): do not wake up device when cover is closed 2016-09-21 23:29:22 -07:00
Qingping Hou
93b3262db7 kobo(fix): make sure sleep cover is not interrupting sleeping when ignore_power_sleepcover is set 2016-09-21 23:29:22 -07:00
Qingping Hou
22964a77a0 kobo(fix): always put device to suspend state when cover is closed 2016-09-21 23:29:17 -07:00
Qingping Hou
ebc7055b43 chore: move kobo specific code into kobo/device.lua 2016-09-19 01:10:53 -07:00
chrox
b0498ec9b9 revert 9ab005a changes to UIManager:sendEvent
which would make readerui handle swipe event twice.

And use broadcastEvent to emit `FlushSettings` event.

This should fix #2225 and fix #2226.
2016-08-19 00:00:01 +08:00
chrox
166aa52a24 move painting and drawing debug log to verbose 2016-08-12 17:47:35 +08:00
chrox
9ab005a1d3 fix unit test of readerlink and readerpaging
and have more confidence with the unit testing framework.

Now `make testfront` won't retry on failure and testing files are
ordered in each run so that it's possible to reproduce testing failure.

And this patch also fix flush settings not working before suspend issue:
at some point the `FlushSettings` event is sent to `UIManager` instead
of `ReaderUI`, but `UIManager` only delegated events to active widgets
and `ReaderUI` is actually not an active widgets thus will miss the event.

This patch also add a verbose debug mode with "-v" as a switch to turn
on this mode. With verbose mode on, event handling will be logged.
2016-08-12 17:05:07 +08:00
bingo619
43797ed813 Oasis orientation 2016-08-02 19:43:16 +10:00
chrox
41c79407b9 diable double tap by default in the widget stack
This should fix #2141 and fix #2130.
2016-07-14 08:56:10 +08:00
chrox
551857ce6e fix some luacheck warnings 2016-06-28 00:43:23 +08:00
chrox
03fda94562 fix #2110 by adding disable double tap option in screen options 2016-06-27 23:02:10 +08:00
chrox
3d7fe1002c we should disable double tap by default
Currently only column-zoom mode in PDF uses double tap gesture.
2016-06-26 22:36:54 +08:00
Qingping Hou
7d13d00eff uimanager(fix): honor second when calling Input:waitEvent 2016-06-22 01:11:23 -07:00
Qingping Hou
fadad90447 uimanager(fix): handle stack change in close 2016-06-21 01:53:42 -07:00
Qingping Hou
af2f3c30c7 uimanager(fix): handle last widget in broadcast event properly 2016-06-18 22:32:08 -07:00
chrox
5983050d79 PDF free zoom mode revisit
this should implement feature request of zoom mode for multi-columns
page in #501
This PR depends on koreader/koreader-base#435

How to use?
1. Tap the top left corner of a PDF/Djvu page to get into the flipping
mode
2. Double-tap on text block will zoom in to that column
3. Double-tap on any area will zoom out to an overview of the page
4. repeat step 2 to focus to another page block

How does it work?
1. We first find the mask of text blocks in the page. (Pic 1)
2. Then we intersect page boxes with user tap to form a page block. (Pic 2)
3. Finally we zoom the page to the page block and center current view to
that block. (Pic 3)
2016-06-15 02:05:09 +08:00
Qingping Hou
ce7ae2dfac uimanager(fix): handle edge case where second widget in stack is ignored 2016-06-11 12:17:18 -07:00
Qingping Hou
8268d8d32c test(fix): clean up after screenshot test 2016-06-01 21:32:35 -07:00
Qingping Hou
a92a88e063 uimanager(fix): check active widgets in the correct order 2016-05-29 22:03:04 -07:00
Qingping Hou
42dde82c43 uimanager(minor): simplify suspend event handler's signature 2016-05-02 22:42:05 -07:00
Cosmin Gorgovan
19338cb439 Kobo: Offer to power off if the power button is held for at least 3 seconds 2016-05-01 14:09:21 +01:00
Cosmin Gorgovan
18c0cee18f UIManager: add method for broadcasting an event to all widgets 2016-05-01 13:48:21 +01:00
Qingping Hou
eb71d29716 kodev(minor): fix arg test 2016-04-23 21:22:57 -07:00
Qingping Hou
0166ff8add reader(fix): force draw info message before loading document
Since the doShowReader will run in nextTick, it will get picked up by
checkTask, which is in the beginning of next UI loop and blocks
UIManager from redrawing the screen for the info popup.
2016-04-23 21:17:38 -07:00
Qingping Hou
144fd170f1 uimanager(refactor): replace autosuspend if check with noop 2016-03-29 10:02:53 -07:00
Qingping Hou
e3137134f8 dbg(add): guard method to toggle assert at based at runtimemode 2016-03-28 23:38:25 -07:00
Zijie He
b86aa5a02b Implement auto-suspend function for Kobo. Add test case for UIManager:_checkTasks, which should not clear _task_queue_dirty bit before looping. 2016-03-28 17:53:18 -07:00
Qingping Hou
e52c74afcc test: more uimanager scheduler test 2016-03-07 22:52:52 -08:00
NiLuJe
a82fe3ac44 is_fl_on -> is_frontlight_on outside of powerd
Matches the reader setting we're reading/writing at that point,
and avoids confusion related to scoping because it doesn't necessarily
match powerd.is_fl_on at that point.

Well, at least I had to wrap my mind around it ^^
2016-03-02 19:15:11 +01:00
Qingping Hou
399d676cf0 kobo: rename frontlight_state config to is_frontlight_on 2016-03-02 18:25:17 +01:00
Qingping Hou
cf3b97537b kobo: build fl_state based on fl_intensity if model does not support toggle 2016-03-02 18:25:17 +01:00
zijiehe
e84093c414 Add a flState in Kobo, and KoboPowerD:toggleFrontlight uses flState to control the light instead of intensity. 2016-02-26 15:34:23 +08:00
Qingping Hou
b63ddb8736 fix: kill in fly hinting event on document close 2016-02-16 23:26:08 -08:00
Qingping Hou
1f082d7f5c build: fix travis build 2016-02-16 09:58:24 -08:00
Qingping Hou
e422842256 minor: a lot of luacheck fixes 2016-02-15 23:10:07 -08:00
Qingping Hou
1609becd61 Merge pull request #1772 from dset0x/frontlight-sync
WIP Synchronise frontlight level with nickel config
2016-02-01 21:15:00 -08:00
Qingping Hou
5a3b9c6856 style: make staick-check happier 2016-01-31 15:08:24 -08:00
Dimitrios Semitsoglou-Tsiapos
699781de68 nickel_conf: handle missing file/key/section 2016-01-12 16:22:37 +02:00
Dimitrios Semitsoglou-Tsiapos
eb47c5a39f Synchronise frontlight level with nickel config
* Drops support for mocking the frontlight setting internally which may
  cause incorrect in-memory values.

* Adds new supported value for `KOBO_LIGHT_ON_START` (-2), which sets
  'Kobo eReader.conf' as the source to update `settings.reader.lua`'s
  brightness setting on startup, thus using the value from it
  indirectly.

* Adds the `KOBO_SYNC_BRIGHTNESS_WITH_NICKEL` configuration variable
  which updates 'Kobo eReader.conf' every time the brightness setting is
  changed within koreader.

* Fixes missing call to save brightness when modifying via two-finger
  swipe.

Closes #1523.
2016-01-11 23:30:22 +02:00
Qingping Hou
6fe9f7870b chore: more luacheck fixes 2016-01-03 01:18:54 -08:00
Qingping Hou
b1a1aeca0a fix(task scheduler): many race conditions
_checkTasks first get number of tasks in the stack and does a numeric
for loop to go through each task. The problem is a task might call
schedule or unschedule, which will reorder tasks in the stack. This will
invalidate many of the table indexes used in the for loop.

This patch turns the task stack into an ordered queue, so _checkTasks
only pops one item out of the queue each time instead of setting up a
for loop at the beginning. This should avoid the race condition
mentioned above.
2015-12-26 12:59:48 -08:00