mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Kindle: Make ReaderActivityIndicator a stub (#7002)
And only actually flesh it out and register it in the very few cases where it can actually do something (i.e., old FW 5.x with KPV).
This commit is contained in:
@@ -1,16 +1,43 @@
|
||||
local EventListener = require("ui/widget/eventlistener")
|
||||
-- Start with a empty stub, because 99.9% of users won't actually need this.
|
||||
local ReaderActivityIndicator = {}
|
||||
|
||||
function ReaderActivityIndicator:isStub() return true end
|
||||
function ReaderActivityIndicator:init() end
|
||||
function ReaderActivityIndicator:onStartActivityIndicator() end
|
||||
function ReaderActivityIndicator:onStopActivityIndicator() end
|
||||
function ReaderActivityIndicator:coda() end
|
||||
|
||||
-- Now, if we're on Kindle, and we haven't actually murdered Pillow, see what we can do...
|
||||
local Device = require("device")
|
||||
|
||||
if Device:isKindle() then
|
||||
if os.getenv("PILLOW_HARD_DISABLED") or os.getenv("PILLOW_SOFT_DISABLED") then
|
||||
-- Pillow is dead, bye!
|
||||
return ReaderActivityIndicator
|
||||
end
|
||||
|
||||
if not Device:isTouchDevice() then
|
||||
-- No lipc, bye!
|
||||
return ReaderActivityIndicator
|
||||
end
|
||||
else
|
||||
-- Not on Kindle, bye!
|
||||
return ReaderActivityIndicator
|
||||
end
|
||||
|
||||
|
||||
-- Okay, if we're here, it's basically because we're running on a Kindle on FW 5.x under KPV
|
||||
local EventListener = require("ui/widget/eventlistener")
|
||||
local util = require("ffi/util")
|
||||
-- lipc
|
||||
|
||||
local ReaderActivityIndicator = EventListener:new{}
|
||||
function ReaderActivityIndicator:isStub() return false end
|
||||
|
||||
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
|
||||
if (pcall(require, "liblipclua")) then
|
||||
self.lipc_handle = lipc.init("com.github.koreader.activityindicator")
|
||||
end
|
||||
if (pcall(require, "liblipclua")) then
|
||||
self.lipc_handle = lipc.init("com.github.koreader.activityindicator")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user