diff --git a/frontend/ui/networkmgr.lua b/frontend/ui/networkmgr.lua index 7b6e3e742..000c52b4b 100644 --- a/frontend/ui/networkmgr.lua +++ b/frontend/ui/networkmgr.lua @@ -70,4 +70,13 @@ function NetworkMgr:promptWifiOff() }) end +function NetworkMgr:getWifiStatus() + local wifi_status = os.execute("ping -c3 8.8.8.8") + if wifi_status == 2 then + return false + else + return true + end +end + return NetworkMgr diff --git a/frontend/ui/otamanager.lua b/frontend/ui/otamanager.lua index 02a43243b..e70c12d6c 100644 --- a/frontend/ui/otamanager.lua +++ b/frontend/ui/otamanager.lua @@ -65,10 +65,6 @@ function OTAManager:checkUpdate() url = ota_zsync_file, sink = ltn12.sink.file(io.open(local_zsync_file, "w"))} -- prompt users to turn on Wifi if network is unreachable - if h == nil then - NetworkMgr:promptWifiOn() - return - end if c ~= 200 then return end -- parse OTA package version local ota_package = nil @@ -143,6 +139,10 @@ function OTAManager:getOTAMenuTable() { text = _("Check update"), callback = function() + if NetworkMgr:getWifiStatus() == false then + NetworkMgr:promptWifiOn() + return + end local ota_version = OTAManager:checkUpdate() if ota_version == 0 then UIManager:show(InfoMessage:new{