Merge pull request #2291 from koreader/houqp-master

Show wifi scan error in UI
pull/2301/head
Frans de Jonge 8 years ago committed by GitHub
commit b7392f7013

@ -130,6 +130,7 @@ function Kobo:init()
return "Light"
end
end,
-- NOTE: usb hotplug event is also available in /tmp/nickel-hardware-status
[102] = "Home",
[116] = "Power",
}

@ -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

@ -9,4 +9,6 @@ sleep 1
ifconfig eth0 up
wlarm_le -i eth0 up
pidof wpa_supplicant >/dev/null || env -u LD_LIBRARY_PATH wpa_supplicant -s -ieth0 -O /var/run/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -B
pidof wpa_supplicant >/dev/null || \
env -u LD_LIBRARY_PATH \
wpa_supplicant -s -ieth0 -O /var/run/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -B

Loading…
Cancel
Save