From a891c83518aa7b02c9b3c1d6befcbf84100cc66e Mon Sep 17 00:00:00 2001 From: LoveIsGrief Date: Sat, 25 Jan 2020 15:25:48 +0100 Subject: [PATCH] Only persist downloaded files if sharing thereof is enabled Otherwise we might inadvertently share downloads --- core/src/main/groovy/com/muwire/core/Core.groovy | 2 +- .../com/muwire/core/files/PersisterFolderService.groovy | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/src/main/groovy/com/muwire/core/Core.groovy b/core/src/main/groovy/com/muwire/core/Core.groovy index c0dda2ba..b9cb5985 100644 --- a/core/src/main/groovy/com/muwire/core/Core.groovy +++ b/core/src/main/groovy/com/muwire/core/Core.groovy @@ -262,7 +262,7 @@ public class Core { eventBus.register(UILoadedEvent.class, persisterService) log.info "initializing folder persistence service" - persisterFolderService = new PersisterFolderService(new File(home, "files"), eventBus) + persisterFolderService = new PersisterFolderService(this, new File(home, "files"), eventBus) eventBus.register(PersisterDoneEvent.class, persisterFolderService) eventBus.register(FileDownloadedEvent.class, persisterFolderService) eventBus.register(FileLoadedEvent.class, persisterFolderService) diff --git a/core/src/main/groovy/com/muwire/core/files/PersisterFolderService.groovy b/core/src/main/groovy/com/muwire/core/files/PersisterFolderService.groovy index 7ed4daaf..f58b5db0 100644 --- a/core/src/main/groovy/com/muwire/core/files/PersisterFolderService.groovy +++ b/core/src/main/groovy/com/muwire/core/files/PersisterFolderService.groovy @@ -28,6 +28,7 @@ class PersisterFolderService extends BasePersisterService { final static int CUT_LENGTH = 6 + private final Core core; final File location final EventBus listener final int interval @@ -36,7 +37,8 @@ class PersisterFolderService extends BasePersisterService { new Thread(r, "file persister") } as ThreadFactory) - PersisterFolderService(File location, EventBus listener) { + PersisterFolderService(Core core, File location, EventBus listener) { + this.core = core; this.location = location this.listener = listener this.interval = interval @@ -58,7 +60,9 @@ class PersisterFolderService extends BasePersisterService { } void onFileDownloadedEvent(FileDownloadedEvent downloadedEvent) { - persistFile(downloadedEvent.downloadedFile) + if (core.getMuOptions().getShareDownloadedFiles()) { + persistFile(downloadedEvent.downloadedFile) + } } /**