diff --git a/frontend/apps/reader/modules/readeractivityindicator.lua b/frontend/apps/reader/modules/readeractivityindicator.lua index 2b4175224..035aacecc 100644 --- a/frontend/apps/reader/modules/readeractivityindicator.lua +++ b/frontend/apps/reader/modules/readeractivityindicator.lua @@ -45,4 +45,10 @@ function ReaderActivityIndicator:onStopActivityIndicator() return true end +function ReaderActivityIndicator:coda() + if self.lipc_handle then + self.lipc_handle:close() + end +end + return ReaderActivityIndicator diff --git a/frontend/ui/device/kindlepowerd.lua b/frontend/ui/device/kindlepowerd.lua index 9cfe8fa2d..18397f828 100644 --- a/frontend/ui/device/kindlepowerd.lua +++ b/frontend/ui/device/kindlepowerd.lua @@ -8,7 +8,7 @@ local KindlePowerD = BasePowerD:new{ kt_kpw_capacity = "/sys/devices/system/yoshi_battery/yoshi_battery0/battery_capacity", kpw_charging = "/sys/devices/platform/aplite_charger.0/charging", kt_charging = "/sys/devices/platform/fsl-usb2-udc/charging", - + flIntensity = nil, battCapacity = nil, is_charging = nil, @@ -26,9 +26,9 @@ end function KindlePowerD:init(model) local lipc = require("liblipclua") if lipc then - self.lipc_handle = lipc.init("com.github.koreader") + self.lipc_handle = lipc.init("com.github.koreader.kindlepowerd") end - + if model == "KindleTouch" then self.batt_capacity_file = self.kt_kpw_capacity self.is_charging_file = self.kt_charging @@ -83,4 +83,10 @@ function KindlePowerD:isChargingHW() return self.is_charging == 1 end +function KindlePowerD:coda() + if self.lipc_handle then + self.lipc_handle:close() + end +end + return KindlePowerD diff --git a/reader.lua b/reader.lua index 035cf5e58..e973cf45a 100755 --- a/reader.lua +++ b/reader.lua @@ -30,6 +30,8 @@ local InfoMessage = require("ui/widget/infomessage") local UIManager = require("ui/uimanager") local Menu = require("ui/widget/menu") local Device = require("ui/device") +local KindlePowerD = require("ui/device/kindlepowerd") +local ReaderActivityIndicator = require("apps/reader/modules/readeractivityindicator") local Screen = require("ui/screen") local DEBUG = require("dbg") @@ -42,6 +44,10 @@ function exitReader() input.closeAll() + -- Close lipc handles + KindlePowerD:coda() + ReaderActivityIndicator:coda() + if not util.isEmulated() then if Device:isKindle3() or (Device:getModel() == "KindleDXG") then -- send double menu key press events to trigger screen refresh