refactoring: generate check update menu entry table in OTAManager

pull/753/head
chrox 10 years ago
parent c140f5aa16
commit a7fc4cccde

@ -138,26 +138,7 @@ function FileManagerMenu:setUpdateItemTable()
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
-- info tab
table.insert(self.tab_item_table.info, {
text = _("Check update"),
callback = function()
local ota_version = OTAManager:checkUpdate()
if ota_version == 0 then
UIManager:show(InfoMessage:new{
text = _("Your koreader is updated."),
})
elseif ota_version == nil then
UIManager:show(InfoMessage:new{
text = _("OTA server is not available."),
})
elseif ota_version then
UIManager:show(ConfirmBox:new{
text = _("Do you want to update to version ")..ota_version.."?",
ok_callback = function() OTAManager:zsync() end
})
end
end
})
table.insert(self.tab_item_table.info, OTAManager:genMenuEntry())
table.insert(self.tab_item_table.info, {
text = _("Version"),
callback = function()

@ -138,26 +138,7 @@ function ReaderMenu:setUpdateItemTable()
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
-- info tab
table.insert(self.tab_item_table.info, {
text = _("Check update"),
callback = function()
local ota_version = OTAManager:checkUpdate()
if ota_version == 0 then
UIManager:show(InfoMessage:new{
text = _("Your koreader is updated."),
})
elseif ota_version == nil then
UIManager:show(InfoMessage:new{
text = _("OTA server is not available."),
})
elseif ota_version then
UIManager:show(ConfirmBox:new{
text = _("Do you want to update to version ")..ota_version.."?",
ok_callback = function() OTAManager:zsync() end
})
end
end
})
table.insert(self.tab_item_table.info, OTAManager:genMenuEntry())
table.insert(self.tab_item_table.info, {
text = _("Version"),
callback = function()

@ -1,5 +1,9 @@
local InfoMessage = require("ui/widget/infomessage")
local ConfirmBox = require("ui/widget/confirmbox")
local UIManager = require("ui/uimanager")
local Device = require("ui/device")
local DEBUG = require("dbg")
local _ = require("gettext")
local OTAManager = {
ota_server = "http://vislab.bjmu.edu.cn/apps/koreader/ota/",
@ -78,11 +82,46 @@ end
function OTAManager:zsync()
if self:_buildLocalPackage() == 0 then
return os.execute(string.format(
"./zsync -i %s -o %s -u %s %s &",
"./zsync -i %s -o %s -u %s %s",
self.installed_package, self.updated_package,
self.ota_server, "ota/" .. self:getZsyncFilename()
))
end
end
function OTAManager:genMenuEntry()
return {
text = _("Check update"),
callback = function()
local ota_version = OTAManager:checkUpdate()
if ota_version == 0 then
UIManager:show(InfoMessage:new{
text = _("Your koreader is updated."),
})
elseif ota_version == nil then
UIManager:show(InfoMessage:new{
text = _("OTA server is not available."),
})
elseif ota_version then
UIManager:show(ConfirmBox:new{
text = _("Do you want to update to version ")..ota_version.."?",
ok_callback = function()
UIManager:show(InfoMessage:new{
text = _("Downloading may take several minutes..."),
timeout = 3,
})
UIManager:scheduleIn(1, function()
if OTAManager:zsync() == 0 then
UIManager:show(InfoMessage:new{
text = _("Koreader will be updated on next restart."),
})
end
end)
end
})
end
end
}
end
return OTAManager

@ -1 +1 @@
Subproject commit 9d54e91f82090ad8d2a5f00f9db94b38c0afa4b7
Subproject commit 7bd19dfee79f608911224c8195a08fb33c594d54
Loading…
Cancel
Save