diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index 987fd6f37..59bbac801 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -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)) diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index c336145e3..40d0b09e6 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -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)) diff --git a/frontend/ui/network/networklistener.lua b/frontend/ui/network/networklistener.lua index 852e59497..2e783eaef 100644 --- a/frontend/ui/network/networklistener.lua +++ b/frontend/ui/network/networklistener.lua @@ -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