From a01271b8a6fd698eaccc3ace26f6e763d0bef5e0 Mon Sep 17 00:00:00 2001 From: mwoz123 Date: Sat, 28 Oct 2017 17:51:34 +0200 Subject: [PATCH] [Android] Wifi status in footer (#3396) Implemented through the Android API so it's reasonably cheap. --- frontend/apps/reader/modules/readerfooter.lua | 15 +++++++++++++++ frontend/device/android/device.lua | 3 +++ frontend/ui/network/manager.lua | 1 + 3 files changed, 19 insertions(+) diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index 689216fcd..9d36ac288 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -27,6 +27,7 @@ local MODE = { chapter_time_to_read = 7, frontlight = 8, mem_usage = 9, + wifi_status = 10, } local MODE_NB = 0 @@ -101,6 +102,14 @@ local footerTextGeneratorMap = { end return "" end, + wifi_status = function() + local NetworkMgr = require("ui/network/manager") + if NetworkMgr:isWifiOn() then + return "W:On" + else + return "W:Off" + end + end, } local ReaderFooter = WidgetContainer:extend{ @@ -138,6 +147,7 @@ function ReaderFooter:init() chapter_time_to_read = true, frontlight = false, mem_usage = false, + wifi_status = false, } if self.settings.disabled then @@ -331,6 +341,7 @@ local option_titles = { chapter_time_to_read = _("Chapter time to read"), frontlight = _("Frontlight level"), mem_usage = _("KOReader memory usage"), + wifi_status = _("Wi-Fi status"), } function ReaderFooter:addToMainMenu(menu_items) @@ -458,6 +469,9 @@ function ReaderFooter:addToMainMenu(menu_items) table.insert(sub_items, getMinibarOption("frontlight")) end table.insert(sub_items, getMinibarOption("mem_usage")) + if Device:isAndroid() then + table.insert(sub_items, getMinibarOption("wifi_status")) + end end -- this method will be updated at runtime based on user setting @@ -606,6 +620,7 @@ function ReaderFooter:applyFooterMode(mode) -- 7 for from statistics chapter time to read -- 8 for front light level -- 9 for memory usage + -- 10 for wifi status if mode ~= nil then self.mode = mode end self.view.footer_visible = (self.mode ~= MODE.off) if not self.view.footer_visible or self.settings.all_at_once then return end diff --git a/frontend/device/android/device.lua b/frontend/device/android/device.lua index 3d6ebd7d6..b1af3e6ea 100644 --- a/frontend/device/android/device.lua +++ b/frontend/device/android/device.lua @@ -59,6 +59,9 @@ function Device:initNetworkManager(NetworkMgr) NetworkMgr.turnOffWifi = function() android.setWifiEnabled(false) end + NetworkMgr.isWifiOn = function() + return android.isWifiEnabled() + end end return Device diff --git a/frontend/ui/network/manager.lua b/frontend/ui/network/manager.lua index a18a56071..b0430720b 100644 --- a/frontend/ui/network/manager.lua +++ b/frontend/ui/network/manager.lua @@ -25,6 +25,7 @@ end -- NetworkMgr:setWirelessBackend function NetworkMgr:turnOnWifi() end function NetworkMgr:turnOffWifi() end +function NetworkMgr:isWifiOn() end function NetworkMgr:getNetworkList() end function NetworkMgr:getCurrentNetwork() end function NetworkMgr:authenticateNetwork() end