mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
NetworkListener: fix FM integration & properly gate behind hasWifiToggle (#11858)
This commit is contained in:
@@ -23,6 +23,7 @@ local InputDialog = require("ui/widget/inputdialog")
|
||||
local LanguageSupport = require("languagesupport")
|
||||
local Menu = require("ui/widget/menu")
|
||||
local MultiConfirmBox = require("ui/widget/multiconfirmbox")
|
||||
local NetworkListener = require("ui/network/networklistener")
|
||||
local PluginLoader = require("pluginloader")
|
||||
local ReadCollection = require("readcollection")
|
||||
local ReaderDeviceStatus = require("apps/reader/modules/readerdevicestatus")
|
||||
@@ -423,6 +424,7 @@ function FileManager:init()
|
||||
self:registerModule("wikipedia", ReaderWikipedia:new{ ui = self })
|
||||
self:registerModule("devicestatus", ReaderDeviceStatus:new{ ui = self })
|
||||
self:registerModule("devicelistener", DeviceListener:new{ ui = self })
|
||||
self:registerModule("networklistener", NetworkListener:new{ ui = self })
|
||||
|
||||
-- koreader plugins
|
||||
for _, plugin_module in ipairs(PluginLoader:loadPlugins()) do
|
||||
@@ -438,11 +440,6 @@ function FileManager:init()
|
||||
end
|
||||
end
|
||||
|
||||
if Device:hasWifiToggle() then
|
||||
local NetworkListener = require("ui/network/networklistener")
|
||||
table.insert(self, NetworkListener:new{ ui = self })
|
||||
end
|
||||
|
||||
self:initGesListener()
|
||||
self:handleEvent(Event:new("SetDimensions", self.dimen))
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ local InfoMessage = require("ui/widget/infomessage")
|
||||
local InputContainer = require("ui/widget/container/inputcontainer")
|
||||
local InputDialog = require("ui/widget/inputdialog")
|
||||
local LanguageSupport = require("languagesupport")
|
||||
local NetworkListener = require("ui/network/networklistener")
|
||||
local Notification = require("ui/widget/notification")
|
||||
local PluginLoader = require("pluginloader")
|
||||
local ReaderActivityIndicator = require("apps/reader/modules/readeractivityindicator")
|
||||
@@ -435,6 +436,12 @@ function ReaderUI:init()
|
||||
view = self.view,
|
||||
ui = self,
|
||||
})
|
||||
self:registerModule("networklistener", NetworkListener:new {
|
||||
document = self.document,
|
||||
view = self.view,
|
||||
ui = self,
|
||||
})
|
||||
|
||||
-- koreader plugins
|
||||
for _, plugin_module in ipairs(PluginLoader:loadPlugins()) do
|
||||
local ok, plugin_or_err = PluginLoader:createPluginInstance(
|
||||
@@ -452,15 +459,6 @@ function ReaderUI:init()
|
||||
end
|
||||
end
|
||||
|
||||
if Device:hasWifiToggle() then
|
||||
local NetworkListener = require("ui/network/networklistener")
|
||||
self:registerModule("networklistener", NetworkListener:new {
|
||||
document = self.document,
|
||||
view = self.view,
|
||||
ui = self,
|
||||
})
|
||||
end
|
||||
|
||||
-- Allow others to change settings based on external factors
|
||||
-- Must be called after plugins are loaded & before setting are read.
|
||||
self:handleEvent(Event:new("DocSettingsLoad", self.doc_settings, self.document))
|
||||
|
||||
@@ -16,6 +16,10 @@ local NetworkListener = EventListener:extend{
|
||||
_activity_check_delay_seconds = nil,
|
||||
}
|
||||
|
||||
if not Device:hasWifiToggle() then
|
||||
return NetworkListener
|
||||
end
|
||||
|
||||
local function enableWifi()
|
||||
local toggle_im = InfoMessage:new{
|
||||
text = _("Turning on Wi-Fi…"),
|
||||
@@ -173,11 +177,9 @@ end
|
||||
|
||||
function NetworkListener:onNetworkConnected()
|
||||
logger.dbg("NetworkListener: onNetworkConnected")
|
||||
if Device:hasWifiToggle() then
|
||||
-- This is for the sake of events that don't emanate from NetworkMgr itself (e.g., the Emu)...
|
||||
NetworkMgr:setWifiState(true)
|
||||
NetworkMgr:setConnectionState(true)
|
||||
end
|
||||
-- This is for the sake of events that don't emanate from NetworkMgr itself (e.g., the Emu)...
|
||||
NetworkMgr:setWifiState(true)
|
||||
NetworkMgr:setConnectionState(true)
|
||||
|
||||
if not G_reader_settings:isTrue("auto_disable_wifi") then
|
||||
return
|
||||
@@ -190,10 +192,8 @@ end
|
||||
|
||||
function NetworkListener:onNetworkDisconnected()
|
||||
logger.dbg("NetworkListener: onNetworkDisconnected")
|
||||
if Device:hasWifiToggle() then
|
||||
NetworkMgr:setWifiState(false)
|
||||
NetworkMgr:setConnectionState(false)
|
||||
end
|
||||
NetworkMgr:setWifiState(false)
|
||||
NetworkMgr:setConnectionState(false)
|
||||
|
||||
NetworkListener:_unscheduleActivityCheck()
|
||||
-- Reset NetworkMgr's beforeWifiAction marker
|
||||
|
||||
Reference in New Issue
Block a user