emulator: add fake network manager (#6314)

pull/6318/head
Martín Fernández 4 years ago committed by GitHub
parent 46bf88c573
commit 32207523b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -329,6 +329,29 @@ function Device:simulateResume()
})
end
-- fake network manager for the emulator
function Emulator:initNetworkManager(NetworkMgr)
local UIManager = require("ui/uimanager")
local connectionChangedEvent = function()
if G_reader_settings:nilOrTrue("emulator_fake_wifi_connected") then
UIManager:broadcastEvent(Event:new("NetworkConnected"))
else
UIManager:broadcastEvent(Event:new("NetworkDisconnected"))
end
end
function NetworkMgr:turnOffWifi(complete_callback)
G_reader_settings:flipNilOrTrue("emulator_fake_wifi_connected")
UIManager:scheduleIn(2, connectionChangedEvent)
end
function NetworkMgr:turnOnWifi(complete_callback)
G_reader_settings:flipNilOrTrue("emulator_fake_wifi_connected")
UIManager:scheduleIn(2, connectionChangedEvent)
end
function NetworkMgr:isWifiOn()
return G_reader_settings:nilOrTrue("emulator_fake_wifi_connected")
end
end
-------------- device probe ------------
if os.getenv("APPIMAGE") then
return AppImage

@ -120,7 +120,7 @@ function NetworkMgr:beforeWifiAction(callback)
end
function NetworkMgr:isConnected()
if Device:isAndroid() or Device:isCervantes() or Device:isPocketBook() then
if Device:isAndroid() or Device:isCervantes() or Device:isPocketBook() or Device:isEmulator() then
return self:isWifiOn()
else
-- Pull the default gateway first, so we don't even try to ping anything if there isn't one...
@ -189,7 +189,7 @@ end
function NetworkMgr:getWifiToggleMenuTable()
return {
text = _("Wi-Fi connection"),
enabled_func = function() return Device:hasWifiToggle() and not Device:isEmulator() end,
enabled_func = function() return Device:hasWifiToggle() end,
checked_func = function() return NetworkMgr:isWifiOn() end,
callback = function(touchmenu_instance)
local wifi_status = NetworkMgr:isWifiOn() and NetworkMgr:isConnected()

Loading…
Cancel
Save