koreader/frontend/apps/reader/modules/readeractivityindicator.lua

55 lines
2 KiB
Lua
Raw Normal View History

2013-10-18 22:38:07 +02:00
local EventListener = require("ui/widget/eventlistener")
local Device = require("device")
2014-06-04 17:22:45 +08:00
local util = require("ffi/util")
2013-10-18 22:38:07 +02:00
-- lipc
2013-10-18 22:38:07 +02:00
local ReaderActivityIndicator = EventListener:new{}
function ReaderActivityIndicator:init()
local dev_mod = Device.model
if dev_mod == "KindlePaperWhite" or dev_mod == "KindlePaperWhite2" or dev_mod == "KindleVoyage" or dev_mod == "KindleBasic" or dev_mod == "KindlePaperWhite3" or dev_mod == "KindleOasis" or dev_mod == "KindleBasic2" or dev_mod == "KindleTouch" then
2015-01-13 00:14:56 +08:00
if (pcall(require, "liblipclua")) then
self.lipc_handle = lipc.init("com.github.koreader.activityindicator")
end
2014-03-13 21:52:43 +08:00
end
end
2014-06-04 17:22:45 +08:00
function ReaderActivityIndicator:onStartActivityIndicator()
2014-03-13 21:52:43 +08:00
if self.lipc_handle then
-- check if activity indicator is needed
if self.document.configurable.text_wrap == 1 then
-- start indicator depends on pillow being enabled
self.lipc_handle:set_string_property(
"com.lab126.pillow", "activityIndicator",
'{"activityIndicator":{ \
"action":"start","timeout":10000, \
"clientId":"com.github.koreader.activityindicator", \
"priority":true}}')
self.indicator_started = true
end
end
return true
end
function ReaderActivityIndicator:onStopActivityIndicator()
2014-03-13 21:52:43 +08:00
if self.lipc_handle and self.indicator_started then
-- stop indicator depends on pillow being enabled
self.lipc_handle:set_string_property(
"com.lab126.pillow", "activityIndicator",
'{"activityIndicator":{ \
"action":"stop","timeout":10000, \
"clientId":"com.github.koreader.activityindicator", \
"priority":true}}')
self.indicator_started = false
util.usleep(1000000)
end
return true
end
2013-10-18 22:38:07 +02:00
function ReaderActivityIndicator:coda()
if self.lipc_handle then
self.lipc_handle:close()
end
end
2013-10-18 22:38:07 +02:00
return ReaderActivityIndicator