A BackgroundRunner plugin instance will stop running
(rescheduling a check every 2 seconds) when there is no
(or no more) job to run.
Clients of this service now have to emit an event after
adding a job into PluginShare.backgroundJobs, so an
already loaded but stopped BackgroundRunner can notice
it and start running again.
Some combination of Travis and/or older Busted necessitated insufficient insulation.
Follow-up to https://github.com/koreader/koreader/pull/4970
Space condensing carried over; reset at the start of readertoc.
* Use getCapacityHW() to ensure latest battery capacity can be retrieved
* BackgroundRunner
* Start background_runner_spec.lua
* AutofrontLight plugin now uses BackgroundRunner plugin
Also fix touch zone dependency graph generation code.
ReaderHighlight has now been migrated to use touch zone
Inputcontainer's touch event handling logic changed to only stop
propagation when handler returns `true`. Previously, it stops
propagation when a handler is found. This is needed to support
both readerhighlight_tap and tap_forward touch zones.
This is a major overhaul of the hardware abstraction layer.
A few notes:
General platform distinction happens in
frontend/device.lua
which will delegate everything else to
frontend/device/<platform_name>/device.lua
which should extend
frontend/device/generic/device.lua
Screen handling is implemented in
frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.
The same goes for input handling.