|
|
|
@ -1,3 +1,4 @@
|
|
|
|
|
local InfoMessage = require("ui/widget/infomessage")
|
|
|
|
|
local ConfirmBox = require("ui/widget/confirmbox")
|
|
|
|
|
local UIManager = require("ui/uimanager")
|
|
|
|
|
local Device = require("device")
|
|
|
|
@ -83,10 +84,72 @@ function NetworkMgr:getWifiStatus()
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function NetworkMgr:setHTTPProxy(proxy)
|
|
|
|
|
local http = require("socket.http")
|
|
|
|
|
http.PROXY = proxy
|
|
|
|
|
if proxy then
|
|
|
|
|
G_reader_settings:saveSetting("http_proxy", proxy)
|
|
|
|
|
G_reader_settings:saveSetting("http_proxy_enabled", true)
|
|
|
|
|
else
|
|
|
|
|
G_reader_settings:saveSetting("http_proxy_enabled", false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function NetworkMgr:getWifiMenuTable()
|
|
|
|
|
return {
|
|
|
|
|
text = _("Wifi connection"),
|
|
|
|
|
enabled_func = function() return Device:isKindle() or Device:isKobo() end,
|
|
|
|
|
checked_func = function() return NetworkMgr:getWifiStatus() end,
|
|
|
|
|
callback = function()
|
|
|
|
|
if NetworkMgr:getWifiStatus() then
|
|
|
|
|
NetworkMgr:promptWifiOff()
|
|
|
|
|
else
|
|
|
|
|
NetworkMgr:promptWifiOn()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function NetworkMgr:getProxyMenuTable()
|
|
|
|
|
local proxy_enabled = function()
|
|
|
|
|
return G_reader_settings:readSetting("http_proxy_enabled")
|
|
|
|
|
end
|
|
|
|
|
local proxy = function()
|
|
|
|
|
return G_reader_settings:readSetting("http_proxy")
|
|
|
|
|
end
|
|
|
|
|
return {
|
|
|
|
|
text_func = function()
|
|
|
|
|
return _("HTTP proxy ") .. (proxy_enabled() and proxy() or "")
|
|
|
|
|
end,
|
|
|
|
|
checked_func = function() return proxy_enabled() end,
|
|
|
|
|
callback = function()
|
|
|
|
|
if not proxy_enabled() and proxy() then
|
|
|
|
|
NetworkMgr:setHTTPProxy(proxy())
|
|
|
|
|
elseif proxy_enabled() then
|
|
|
|
|
NetworkMgr:setHTTPProxy(nil)
|
|
|
|
|
end
|
|
|
|
|
if not proxy() then
|
|
|
|
|
UIManager:show(InfoMessage:new{
|
|
|
|
|
text = _("Tips:\nlong press on this menu entry to configure HTTP proxy."),
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
hold_input = {
|
|
|
|
|
title = _("input proxy address"),
|
|
|
|
|
type = "text",
|
|
|
|
|
hint = proxy() or "",
|
|
|
|
|
callback = function(input)
|
|
|
|
|
if input ~= "" then
|
|
|
|
|
NetworkMgr:setHTTPProxy(input)
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- set network proxy if global variable NETWORK_PROXY is defined
|
|
|
|
|
if NETWORK_PROXY then
|
|
|
|
|
local http = require("socket.http")
|
|
|
|
|
http.PROXY = NETWORK_PROXY
|
|
|
|
|
NetworkMgr:setHTTPProxy(NETWORK_PROXY)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return NetworkMgr
|
|
|
|
|