Browse Source

Handle folder events

Refs #71
main
M66B 5 years ago
parent
commit
cf6670a7d2
2 changed files with 21 additions and 3 deletions
  1. +3
    -0
      app/src/main/java/eu/faircode/email/DaoFolder.java
  2. +18
    -3
      app/src/main/java/eu/faircode/email/ServiceSynchronize.java

+ 3
- 0
app/src/main/java/eu/faircode/email/DaoFolder.java View File

@ -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);
}

+ 18
- 3
app/src/main/java/eu/faircode/email/ServiceSynchronize.java View File

@ -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