diff --git a/frontend/apps/reader/modules/readerwikipedia.lua b/frontend/apps/reader/modules/readerwikipedia.lua index 17821e181..34537ad33 100644 --- a/frontend/apps/reader/modules/readerwikipedia.lua +++ b/frontend/apps/reader/modules/readerwikipedia.lua @@ -1,5 +1,6 @@ local ReaderDictionary = require("apps/reader/modules/readerdictionary") local EventListener = require("ui/widget/eventlistener") +local NetworkMgr = require("ui/networkmgr") local Translator = require("ui/translator") local Wikipedia = require("ui/wikipedia") local UIManager = require("ui/uimanager") @@ -17,7 +18,12 @@ local ReaderWikipedia = ReaderDictionary:new{ } function ReaderWikipedia:onLookupWikipedia(word, box) - local lang = Translator:detect(word) or "en" + local ok, lang = pcall(Translator.detect, Translator, word) + -- prompt users to turn on Wifi if network is unreachable + if not ok and lang and lang:find("Network is unreachable") then + NetworkMgr:promptWifiOn() + return + end -- convert "zh-CN" and "zh-TW" to "zh" lang = lang:match("(.*)-") or lang local results = {} diff --git a/frontend/ui/otamanager.lua b/frontend/ui/otamanager.lua index 663b1130b..ac682f257 100644 --- a/frontend/ui/otamanager.lua +++ b/frontend/ui/otamanager.lua @@ -1,5 +1,6 @@ local InfoMessage = require("ui/widget/infomessage") local ConfirmBox = require("ui/widget/confirmbox") +local NetworkMgr = require("ui/networkmgr") local UIManager = require("ui/uimanager") local Device = require("ui/device") local DEBUG = require("dbg") @@ -63,8 +64,13 @@ function OTAManager:checkUpdate() local r, c, h = http.request{ url = ota_zsync_file, sink = ltn12.sink.file(io.open(local_zsync_file, "w"))} - -- parse OTA package version + -- 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 local zsync = io.open(local_zsync_file, "r") if zsync then diff --git a/frontend/ui/translator.lua b/frontend/ui/translator.lua index 357d8c83b..13299d438 100644 --- a/frontend/ui/translator.lua +++ b/frontend/ui/translator.lua @@ -79,6 +79,8 @@ function Translator:detect(text) local src_lang = result.src DEBUG("detected language:", src_lang) return src_lang + else + return self.default_lang end end