emit an event on every dir sync so that UI can update timestamps

This commit is contained in:
Zlatin Balevsky
2020-03-28 02:47:29 +00:00
parent 2c52486476
commit 9837e1e3d7
4 changed files with 16 additions and 0 deletions

View File

@ -163,6 +163,7 @@ class WatchedDirectoryManager {
log.fine("syncing ${wd.directory}")
wd.lastSync = now
doPersist(wd)
eventBus.publish(new WatchedDirectorySyncEvent(directory: wd.directory, when: now))
def cb = new DirSyncCallback()
fileManager.positiveTree.list(wd.directory, cb)

View File

@ -0,0 +1,8 @@
package com.muwire.core.files.directories
import com.muwire.core.Event
class WatchedDirectorySyncEvent extends Event {
File directory
long when
}

View File

@ -7,6 +7,7 @@ import com.muwire.core.files.DirectoryUnsharedEvent;
import com.muwire.core.files.DirectoryWatchedEvent;
import com.muwire.core.files.directories.UISyncDirectoryEvent;
import com.muwire.core.files.directories.WatchedDirectoryConfigurationEvent;
import com.muwire.core.files.directories.WatchedDirectorySyncEvent;
public class AdvancedSharingManager {
@ -29,6 +30,10 @@ public class AdvancedSharingManager {
revision++;
}
public void onWatchedDirectorySyncEvent(WatchedDirectorySyncEvent e) {
revision++;
}
void sync(File dir) {
revision++;

View File

@ -37,6 +37,7 @@ import com.muwire.core.files.FileHashingEvent;
import com.muwire.core.files.FileLoadedEvent;
import com.muwire.core.files.FileSharedEvent;
import com.muwire.core.files.FileUnsharedEvent;
import com.muwire.core.files.directories.WatchedDirectorySyncEvent;
import com.muwire.core.search.BrowseStatusEvent;
import com.muwire.core.search.UIResultBatchEvent;
import com.muwire.core.search.UIResultEvent;
@ -181,6 +182,7 @@ public class MuWireClient {
AdvancedSharingManager advancedSharingManager = new AdvancedSharingManager(core);
core.getEventBus().register(DirectoryWatchedEvent.class, advancedSharingManager);
core.getEventBus().register(DirectoryUnsharedEvent.class, advancedSharingManager);
core.getEventBus().register(WatchedDirectorySyncEvent.class, advancedSharingManager);
servletContext.setAttribute("searchManager", searchManager);
servletContext.setAttribute("downloadManager", downloadManager);