Handle folder events

Refs #71
pull/125/head
M66B 6 years ago
parent cd41d6812a
commit cf6670a7d2

@ -117,6 +117,9 @@ public interface DaoFolder {
@Query("UPDATE folder SET synchronize = :synchronize, unified = :unified, after = :after WHERE id = :id")
int setFolderProperties(long id, boolean synchronize, boolean unified, int after);
@Query("UPDATE folder SET name = :name WHERE account = :account AND name = :old")
int renameFolder(long account, String old, String name);
@Query("DELETE FROM folder WHERE account= :account AND name = :name")
void deleteFolder(Long account, String name);
}

@ -440,17 +440,32 @@ public class ServiceSynchronize extends LifecycleService {
istore.addFolderListener(new FolderAdapter() {
@Override
public void folderCreated(FolderEvent e) {
// TODO: folder created
Log.i(Helper.TAG, "Folder created=" + e.getFolder().getFullName());
synchronized (state) {
state.notifyAll();
}
}
@Override
public void folderRenamed(FolderEvent e) {
// TODO: folder renamed
Log.i(Helper.TAG, "Folder renamed=" + e.getFolder());
String old = e.getFolder().getFullName();
String name = e.getNewFolder().getFullName();
int count = db.folder().renameFolder(account.id, old, name);
Log.i(Helper.TAG, "Renamed to " + name + " count=" + count);
synchronized (state) {
state.notifyAll();
}
}
@Override
public void folderDeleted(FolderEvent e) {
// TODO: folder deleted
Log.i(Helper.TAG, "Folder deleted=" + e.getFolder().getFullName());
synchronized (state) {
state.notifyAll();
}
}
});

Loading…
Cancel
Save