diff --git a/src/main/java/bisq/common/storage/CorruptedDatabaseFilesHandler.java b/src/main/java/bisq/common/storage/CorruptedDatabaseFilesHandler.java index f11f54d..f33d8ac 100644 --- a/src/main/java/bisq/common/storage/CorruptedDatabaseFilesHandler.java +++ b/src/main/java/bisq/common/storage/CorruptedDatabaseFilesHandler.java @@ -17,16 +17,38 @@ package bisq.common.storage; +import javax.inject.Inject; + import java.util.ArrayList; import java.util.List; +import java.util.Optional; -import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class CorruptedDatabaseFilesHandler { - @Getter private List corruptedDatabaseFiles = new ArrayList<>(); + @Inject + public CorruptedDatabaseFilesHandler() { + } + public void onFileCorrupted(String fileName) { corruptedDatabaseFiles.add(fileName); } + + public Optional> getCorruptedDatabaseFiles() { + if (!corruptedDatabaseFiles.isEmpty()) { + if (corruptedDatabaseFiles.size() == 1 && corruptedDatabaseFiles.get(0).equals("ViewPathAsString")) { + log.debug("We detected incompatible data base file for Navigation. " + + "That is a minor issue happening with refactoring of UI classes " + + "and we don't display a warning popup to the user."); + return Optional.empty(); + } else { + return Optional.of(corruptedDatabaseFiles); + } + } else { + return Optional.empty(); + } + } }