Loading legacy/core/src/main/java/com/fsck/k9/preferences/AccountSettingsDescriptions.java +2 −2 Original line number Diff line number Diff line Loading @@ -303,8 +303,8 @@ public class AccountSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading legacy/core/src/main/java/com/fsck/k9/preferences/FolderSettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import com.fsck.k9.mail.FolderClass; Loading Loading @@ -59,8 +58,8 @@ class FolderSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading legacy/core/src/main/java/com/fsck/k9/preferences/GeneralSettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import android.content.Context; Loading Loading @@ -317,8 +316,8 @@ public class GeneralSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, false); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading legacy/core/src/main/java/com/fsck/k9/preferences/IdentitySettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import com.fsck.k9.CoreResourceProvider; Loading Loading @@ -52,8 +51,8 @@ class IdentitySettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading legacy/core/src/main/java/com/fsck/k9/preferences/Settings.java +7 −29 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ package com.fsck.k9.preferences; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; Loading Loading @@ -109,31 +108,21 @@ public class Settings { * @param validatedSettingsMutable * The settings as returned by {@link Settings#validate(int, Map, Map, boolean)}. * This map is modified and contains the upgraded settings when this method returns. * * @return A set of setting names that were removed during the upgrade process or {@code null} * if none were removed. */ public static Set<String> upgrade(int version, Map<Integer, SettingsUpgrader> customUpgraders, public static void upgrade(int version, Map<Integer, SettingsUpgrader> customUpgraders, Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable) { Set<String> deletedSettings = null; for (int toVersion = version + 1; toVersion <= VERSION; toVersion++) { if (customUpgraders.containsKey(toVersion)) { SettingsUpgrader upgrader = customUpgraders.get(toVersion); Set<String> settingsToDelete = upgrader.upgrade(validatedSettingsMutable); if (settingsToDelete != null) { deletedSettings = new HashSet<>(settingsToDelete); } upgrader.upgrade(validatedSettingsMutable); } deletedSettings = upgradeSettingsGeneric(settings, validatedSettingsMutable, deletedSettings, toVersion); upgradeSettingsGeneric(settings, validatedSettingsMutable, toVersion); } return deletedSettings; } private static Set<String> upgradeSettingsGeneric(Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable, Set<String> deletedSettingsMutable, int toVersion) { private static void upgradeSettingsGeneric(Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable, int toVersion) { for (Entry<String, TreeMap<Integer, SettingsDescription>> versions : settings.entrySet()) { String settingName = versions.getKey(); TreeMap<Integer, SettingsDescription> versionedSettings = versions.getValue(); Loading @@ -155,13 +144,10 @@ public class Settings { Integer highestVersion = versionedSettings.lastKey(); boolean isRemovedSetting = (highestVersion == toVersion && versionedSettings.get(highestVersion) == null); if (isRemovedSetting) { if (deletedSettingsMutable == null) { deletedSettingsMutable = new HashSet<>(); } upgradeSettingRemove(validatedSettingsMutable, deletedSettingsMutable, settingName); validatedSettingsMutable.remove(settingName); Timber.v("Removed setting \"%s\"", settingName); } } return deletedSettingsMutable; } private static <T> void upgradeSettingInsertDefault(Map<String, Object> validatedSettingsMutable, Loading @@ -175,14 +161,6 @@ public class Settings { } } private static void upgradeSettingRemove(Map<String, Object> validatedSettingsMutable, Set<String> deletedSettingsMutable, String settingName) { validatedSettingsMutable.remove(settingName); deletedSettingsMutable.add(settingName); Timber.v("Removed setting \"%s\"", settingName); } /** * Convert settings from the internal representation to the string representation used in the * preference storage. Loading Loading
legacy/core/src/main/java/com/fsck/k9/preferences/AccountSettingsDescriptions.java +2 −2 Original line number Diff line number Diff line Loading @@ -303,8 +303,8 @@ public class AccountSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading
legacy/core/src/main/java/com/fsck/k9/preferences/FolderSettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import com.fsck.k9.mail.FolderClass; Loading Loading @@ -59,8 +58,8 @@ class FolderSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading
legacy/core/src/main/java/com/fsck/k9/preferences/GeneralSettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import android.content.Context; Loading Loading @@ -317,8 +316,8 @@ public class GeneralSettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, false); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading
legacy/core/src/main/java/com/fsck/k9/preferences/IdentitySettingsDescriptions.java +2 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap; import com.fsck.k9.CoreResourceProvider; Loading Loading @@ -52,8 +51,8 @@ class IdentitySettingsDescriptions { return Settings.validate(version, SETTINGS, importedSettings, useDefaultValues); } public static Set<String> upgrade(int version, Map<String, Object> validatedSettings) { return Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); public static void upgrade(int version, Map<String, Object> validatedSettings) { Settings.upgrade(version, UPGRADERS, SETTINGS, validatedSettings); } public static Map<String, String> convert(Map<String, Object> settings) { Loading
legacy/core/src/main/java/com/fsck/k9/preferences/Settings.java +7 −29 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ package com.fsck.k9.preferences; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; Loading Loading @@ -109,31 +108,21 @@ public class Settings { * @param validatedSettingsMutable * The settings as returned by {@link Settings#validate(int, Map, Map, boolean)}. * This map is modified and contains the upgraded settings when this method returns. * * @return A set of setting names that were removed during the upgrade process or {@code null} * if none were removed. */ public static Set<String> upgrade(int version, Map<Integer, SettingsUpgrader> customUpgraders, public static void upgrade(int version, Map<Integer, SettingsUpgrader> customUpgraders, Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable) { Set<String> deletedSettings = null; for (int toVersion = version + 1; toVersion <= VERSION; toVersion++) { if (customUpgraders.containsKey(toVersion)) { SettingsUpgrader upgrader = customUpgraders.get(toVersion); Set<String> settingsToDelete = upgrader.upgrade(validatedSettingsMutable); if (settingsToDelete != null) { deletedSettings = new HashSet<>(settingsToDelete); } upgrader.upgrade(validatedSettingsMutable); } deletedSettings = upgradeSettingsGeneric(settings, validatedSettingsMutable, deletedSettings, toVersion); upgradeSettingsGeneric(settings, validatedSettingsMutable, toVersion); } return deletedSettings; } private static Set<String> upgradeSettingsGeneric(Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable, Set<String> deletedSettingsMutable, int toVersion) { private static void upgradeSettingsGeneric(Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, Object> validatedSettingsMutable, int toVersion) { for (Entry<String, TreeMap<Integer, SettingsDescription>> versions : settings.entrySet()) { String settingName = versions.getKey(); TreeMap<Integer, SettingsDescription> versionedSettings = versions.getValue(); Loading @@ -155,13 +144,10 @@ public class Settings { Integer highestVersion = versionedSettings.lastKey(); boolean isRemovedSetting = (highestVersion == toVersion && versionedSettings.get(highestVersion) == null); if (isRemovedSetting) { if (deletedSettingsMutable == null) { deletedSettingsMutable = new HashSet<>(); } upgradeSettingRemove(validatedSettingsMutable, deletedSettingsMutable, settingName); validatedSettingsMutable.remove(settingName); Timber.v("Removed setting \"%s\"", settingName); } } return deletedSettingsMutable; } private static <T> void upgradeSettingInsertDefault(Map<String, Object> validatedSettingsMutable, Loading @@ -175,14 +161,6 @@ public class Settings { } } private static void upgradeSettingRemove(Map<String, Object> validatedSettingsMutable, Set<String> deletedSettingsMutable, String settingName) { validatedSettingsMutable.remove(settingName); deletedSettingsMutable.add(settingName); Timber.v("Removed setting \"%s\"", settingName); } /** * Convert settings from the internal representation to the string representation used in the * preference storage. Loading