diff --git a/frontend/apps/filemanager/filemanagerhistory.lua b/frontend/apps/filemanager/filemanagerhistory.lua index a79999f66..cd266a46b 100644 --- a/frontend/apps/filemanager/filemanagerhistory.lua +++ b/frontend/apps/filemanager/filemanagerhistory.lua @@ -1,7 +1,6 @@ local InputContainer = require("ui/widget/container/inputcontainer") local CenterContainer = require("ui/widget/container/centercontainer") local ButtonDialog = require("ui/widget/buttondialog") -local ReaderUI = require("apps/reader/readerui") local lfs = require("libs/libkoreader-lfs") local UIManager = require("ui/uimanager") local DocSettings = require("docsettings") @@ -79,6 +78,7 @@ function FileManagerHistory:addToMainMenu(tab_item_table) end function FileManagerHistory:updateItemTable() + local ReaderUI = require("apps/reader/readerui") self.hist = {} for f in lfs.dir(history_dir) do diff --git a/frontend/apps/filemanager/filemanagersearch.lua b/frontend/apps/filemanager/filemanagersearch.lua index 773077ab8..d4add2dc1 100644 --- a/frontend/apps/filemanager/filemanagersearch.lua +++ b/frontend/apps/filemanager/filemanagersearch.lua @@ -3,7 +3,6 @@ local InputContainer = require("ui/widget/container/inputcontainer") local DocumentRegistry = require("document/documentregistry") local InputDialog = require("ui/widget/inputdialog") local InfoMessage = require("ui/widget/infomessage") -local ReaderUI = require("apps/reader/readerui") local lfs = require("libs/libkoreader-lfs") local UIManager = require("ui/uimanager") local Menu = require("ui/widget/menu") @@ -498,6 +497,7 @@ function Search:onMenuHold(item) end function Search:showresults() + local ReaderUI = require("apps/reader/readerui") local menu_container = CenterContainer:new{ dimen = Screen:getSize(), } @@ -544,6 +544,7 @@ function Search:showresults() end function Search:browse(option,run,chosen) + local ReaderUI = require("apps/reader/readerui") local restart_me = false local menu_container = CenterContainer:new{ dimen = Screen:getSize(), diff --git a/frontend/ui/device.lua b/frontend/ui/device.lua index 4e36f8d5d..cba781791 100644 --- a/frontend/ui/device.lua +++ b/frontend/ui/device.lua @@ -1,8 +1,4 @@ -local AndroidPowerd = require("ui/device/androidpowerd") -local KindlePowerD = require("ui/device/kindlepowerd") local isAndroid, android = pcall(require, "android") -local KoboPowerD = require("ui/device/kobopowerd") -local BasePowerD = require("ui/device/basepowerd") local lfs = require("libs/libkoreader-lfs") local Screen = require("ui/device/screen") local util = require("ffi/util") @@ -288,12 +284,16 @@ function Device:getPowerDevice() else local model = self:getModel() if model == "KindleTouch" or model == "KindlePaperWhite" or model == "KindlePaperWhite2" then + local KindlePowerD = require("ui/device/kindlepowerd") self.powerd = KindlePowerD:new{model = model} elseif self:isKobo() then + local KoboPowerD = require("ui/device/kobopowerd") self.powerd = KoboPowerD:new() elseif self.isAndroid then + local AndroidPowerd = require("ui/device/androidpowerd") self.powerd = AndroidPowerd:new() else -- emulated FrontLight + local BasePowerD = require("ui/device/basepowerd") self.powerd = BasePowerD:new() end end @@ -322,4 +322,13 @@ function Device:isSpecialOffers() return self.is_special_offers end +-- FIXME: this is a dirty hack, normally we don't need to get power device this early, +-- but Kobo devices somehow may need to init the frontlight module at startup? +-- because `kobolight = require("ffi/kobolight")` used to be in the `koreader-base` script +-- and run as the first line of koreader script no matter which device you are running on, +-- which is utterly ugly. So I refactored it into the `init` method of `kobopowerd` and +-- `kobolight` will be init here. It's pretty safe to comment this line for non-kobo devices +-- so if kobo users find this line is useless, please don't hesitate to get rid of it. +local dummy_powerd = Device:getPowerDevice() + return Device diff --git a/frontend/ui/device/kobopowerd.lua b/frontend/ui/device/kobopowerd.lua index 0816276d0..103ed5446 100644 --- a/frontend/ui/device/kobopowerd.lua +++ b/frontend/ui/device/kobopowerd.lua @@ -5,7 +5,7 @@ local KoboPowerD = BasePowerD:new{ flIntensity = 20, restore_settings = true, fl = nil, - + batt_capacity_file = "/sys/devices/platform/pmic_battery.1/power_supply/mc13892_bat/capacity", is_charging_file = "/sys/devices/platform/pmic_battery.1/power_supply/mc13892_bat/charge_now", battCapacity = nil, @@ -13,6 +13,7 @@ local KoboPowerD = BasePowerD:new{ } function KoboPowerD:init() + local kobolight = require("ffi/kobolight") local ok, light = pcall(kobolight.open) if ok then self.fl = light end end diff --git a/reader.lua b/reader.lua index ef59703fd..f463fcba1 100755 --- a/reader.lua +++ b/reader.lua @@ -1,4 +1,4 @@ -#!./koreader-base +#!./luajit require "defaults" pcall(dofile, "defaults.persistent.lua") @@ -100,6 +100,7 @@ local function showusage() return end +local ARGV = arg local argidx = 1 while argidx <= #ARGV do local arg = ARGV[argidx] diff --git a/wtest.lua b/utils/wtest.lua similarity index 99% rename from wtest.lua rename to utils/wtest.lua index 24ec22c3a..e9112f7fd 100755 --- a/wtest.lua +++ b/utils/wtest.lua @@ -1,4 +1,5 @@ -#!./koreader-base +-- widget test utility +-- usage: ./luajit util/wtest.lua require "defaults" print(package.path)