From e481e60aa187f369114e310ae56ca259aed55799 Mon Sep 17 00:00:00 2001 From: weijiuqiao Date: Tue, 15 Nov 2022 19:04:12 +0800 Subject: [PATCH] Syncservice: fix not updating services after adding new ones --- frontend/apps/cloudstorage/syncservice.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/apps/cloudstorage/syncservice.lua b/frontend/apps/cloudstorage/syncservice.lua index e82466c5a..e5346bf63 100644 --- a/frontend/apps/cloudstorage/syncservice.lua +++ b/frontend/apps/cloudstorage/syncservice.lua @@ -27,7 +27,6 @@ local SyncService = Menu:extend{ } function SyncService:init() - self.cs_settings = LuaSettings:open(DataStorage:getSettingsDir().."/cloudstorage.lua") self.item_table = self:generateItemTable() self.width = Screen:getWidth() self.height = Screen:getHeight() @@ -37,7 +36,7 @@ end function SyncService:generateItemTable() local item_table = {} -- select and/or add server - local added_servers = self.cs_settings:readSetting("cs_servers") or {} + local added_servers = LuaSettings:open(DataStorage:getSettingsDir().."/cloudstorage.lua"):readSetting("cs_servers") or {} for _, server in ipairs(added_servers) do if server.type == "dropbox" or server.type == "webdav" then local item = { @@ -73,6 +72,11 @@ function SyncService:generateItemTable() bold = true, callback = function() local cloud_storage = require("apps/cloudstorage/cloudstorage"):new{} + local onClose = cloud_storage.onClose + cloud_storage.onClose = function(this) + onClose(this) + self:switchItemTable(nil, self:generateItemTable()) + end UIManager:show(cloud_storage) end })