minor: show wifi scan error in UI

pull/2291/head
Qingping Hou 8 years ago
parent 6091378bc6
commit ad711d8033

@ -170,8 +170,12 @@ function NetworkMgr:showNetworkMenu(complete_callback)
local info = InfoMessage:new{text = _("Scanning…")}
UIManager:show(info)
UIManager:nextTick(function()
local network_list = self:getNetworkList()
local network_list, err = self:getNetworkList()
UIManager:close(info)
if network_list == nil then
UIManager:show(InfoMessage:new{text = err})
return
end
UIManager:show(require("ui/widget/networksetting"):new{
network_list = network_list,
connect_callback = complete_callback,

@ -2,12 +2,19 @@ local UIManager = require("ui/uimanager")
local WpaClient = require('lj-wpaclient/wpaclient')
local InfoMessage = require("ui/widget/infomessage")
local sleep = require("ffi/util").sleep
local T = require("ffi/util").template
local _ = require("gettext")
local CLIENT_INIT_ERR_MSG = _("Failed to initialize network control client: %1.")
local WpaSupplicant = {}
function WpaSupplicant:getNetworkList()
local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface)
local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface)
if wcli == nil then
return nil, T(CLIENT_INIT_ERR_MSG, err)
end
local list = wcli:scanThenGetResults()
wcli:close()
@ -33,9 +40,8 @@ function WpaSupplicant:authenticateNetwork(network)
-- TODO: support passwordless network
local err, wcli, nw_id
wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface)
if not wcli then
return false, _("Failed to initialize network control client: ")..err
return false, T(CLIENT_INIT_ERR_MSG, err)
end
nw_id, err = wcli:addNetwork()
@ -90,13 +96,19 @@ end
function WpaSupplicant:disconnectNetwork(network)
if not network.wpa_supplicant_id then return end
local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface)
local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface)
if wcli == nil then
return nil, T(CLIENT_INIT_ERR_MSG, err)
end
wcli:removeNetwork(network.wpa_supplicant_id)
wcli:close()
end
function WpaSupplicant:getCurrentNetwork()
local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface)
local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface)
if wcli == nil then
return nil, T(CLIENT_INIT_ERR_MSG, err)
end
local nw = wcli:getCurrentNetwork()
wcli:close()
return nw

Loading…
Cancel
Save