diff --git a/frontend/device/pocketbook/device.lua b/frontend/device/pocketbook/device.lua index e0379ad55..63542c8e5 100644 --- a/frontend/device/pocketbook/device.lua +++ b/frontend/device/pocketbook/device.lua @@ -334,10 +334,28 @@ function PocketBook:reboot() end function PocketBook:initNetworkManager(NetworkMgr) + local UIManager = require("ui/uimanager") + + local function keepWifiAlive() + -- Make sure only one wifiKeepAlive is scheduled + UIManager:unschedule(keepWifiAlive) + + if NetworkMgr:isWifiOn() then + logger.dbg("ping wifi keep alive and reschedule") + + inkview.NetMgrPing() + UIManager:scheduleIn(30, keepWifiAlive) + else + logger.dbg("wifi is disabled do not reschedule") + end + end + function NetworkMgr:turnOnWifi(complete_callback) inkview.WiFiPower(1) - if inkview.NetConnect(nil) ~= C.NET_OK then - logger.info('NetConnect failed') + if inkview.NetConnect(nil) == C.NET_OK then + keepWifiAlive() + else + logger.info("NetConnect failed") end if complete_callback then complete_callback()