From 6c00bee1e46f5aa2a1552d1594c25f4cb5526b5c Mon Sep 17 00:00:00 2001 From: Frans de Jonge Date: Mon, 8 Apr 2024 22:28:39 +0200 Subject: [PATCH] Add a migration --- frontend/ui/data/onetime_migration.lua | 13 ++++++++++++- frontend/ui/screensaver.lua | 11 +---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/frontend/ui/data/onetime_migration.lua b/frontend/ui/data/onetime_migration.lua index 255a90938..2d4a8e8b0 100644 --- a/frontend/ui/data/onetime_migration.lua +++ b/frontend/ui/data/onetime_migration.lua @@ -10,7 +10,7 @@ local util = require("util") local _ = require("gettext") -- Date at which the last migration snippet was added -local CURRENT_MIGRATION_DATE = 20231217 +local CURRENT_MIGRATION_DATE = 20240408 -- Retrieve the date of the previous migration, if any local last_migration_date = G_reader_settings:readSetting("last_migration_date", 0) @@ -647,5 +647,16 @@ if last_migration_date < 20231217 then end end +-- 20240408, drop sleep screen/screensaver image_file setting in favor of document cover +if last_migration_date < 20240408 then + logger.info("Performing one-time migration for 20240408") + + local image_file = G_reader_settings:readSetting("screensaver_type") == "image_file" and G_reader_settings:readSetting("screensaver_image") + if image_file then + G_reader_settings:saveSetting("screensaver_type", "document_cover") + G_reader_settings:saveSetting("screensaver_document_cover", image_file) + end +end + -- We're done, store the current migration date G_reader_settings:saveSetting("last_migration_date", CURRENT_MIGRATION_DATE) diff --git a/frontend/ui/screensaver.lua b/frontend/ui/screensaver.lua index efa5facfb..e93cd826e 100644 --- a/frontend/ui/screensaver.lua +++ b/frontend/ui/screensaver.lua @@ -383,7 +383,6 @@ end function Screensaver:modeIsImage() return self.screensaver_type == "cover" or self.screensaver_type == "random_image" - or self.screensaver_type == "image_file" end function Screensaver:withBackground() @@ -456,14 +455,6 @@ function Screensaver:setup(event, event_message) self.screensaver_type = "random_image" end end - -- NB Kept around to support old settings. - if self.screensaver_type == "image_file" then - self.image_file = G_reader_settings:readSetting(self.prefix .. "screensaver_image") - or G_reader_settings:readSetting("screensaver_image") - if self.image_file == nil or lfs.attributes(self.image_file, "mode") ~= "file" then - self.screensaver_type = "random_image" - end - end if self.screensaver_type == "readingprogress" then -- This is implemented by the Statistics plugin if Screensaver.getReaderProgress == nil then @@ -536,7 +527,7 @@ function Screensaver:show() -- Build the main widget for the effective mode, all the sanity checks were handled in setup local widget = nil - if self.screensaver_type == "cover" or self.screensaver_type == "image_file" or self.screensaver_type == "random_image" then + if self.screensaver_type == "cover" or self.screensaver_type == "random_image" then local widget_settings = { width = Screen:getWidth(), height = Screen:getHeight(),