diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-04-21 19:23:17 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-04-21 19:23:17 +0300 |
commit | 546f95a9db0e36efecd841c84ff6825b936a9e27 (patch) | |
tree | bb2eccd4a93577002c4f618a5168f74a2f872522 /app/src/main | |
parent | 94315a1e6d1899ca9723332cbdffe56863a05399 (diff) |
#831 Also update modified date (next to etag) before pulling remote changes
Diffstat (limited to 'app/src/main')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index 252490e9..ddc05981 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -163,8 +163,13 @@ abstract class NotesServerSyncTask extends Thread { Log.d(TAG, "pullRemoteChanges() for account " + localAccount.getAccountName()); try { final Map<Long, Long> idMap = db.getIdMap(localAccount.getId()); + // FIXME re-reading the localAccount is only a workaround for a not-up-to-date eTag in localAccount. - final ServerResponse.NotesResponse response = notesClient.getNotes(ssoAccount, localAccount.getModified(), db.getAccountDao().getAccountById(localAccount.getId()).getETag()); + final Account accountFromDatabase = db.getAccountDao().getAccountById(localAccount.getId()); + localAccount.setModified(accountFromDatabase.getModified()); + localAccount.setETag(accountFromDatabase.getETag()); + + final ServerResponse.NotesResponse response = notesClient.getNotes(ssoAccount, localAccount.getModified(), localAccount.getETag()); final List<Note> remoteNotes = response.getNotes(); final Set<Long> remoteIDs = new HashSet<>(); // pull remote changes: update or create each remote note |