diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 465ecd4b8..ac0a52145 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -12,7 +12,6 @@ repositories { jcenter() google() maven(url = "https://jitpack.io") - maven(url = "https://oss.sonatype.org/content/repositories/snapshots") } android { @@ -201,7 +200,7 @@ dependencies { implementation("androidx.work:work-runtime:${Versions.work}") implementation("com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0") implementation("com.mapbox.mapboxsdk:mapbox-sdk-services:4.6.0") - implementation("com.etesync:journalmanager:1.0.2-SNAPSHOT") + implementation("com.etesync:journalmanager:1.0.3") googleplayImplementation("com.crashlytics.sdk.android:crashlytics:${Versions.crashlytics}") googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.firebase}") diff --git a/app/src/main/java/org/tasks/etesync/EteSynchronizer.java b/app/src/main/java/org/tasks/etesync/EteSynchronizer.java index 2ae7efc06..1d1bbbb6c 100644 --- a/app/src/main/java/org/tasks/etesync/EteSynchronizer.java +++ b/app/src/main/java/org/tasks/etesync/EteSynchronizer.java @@ -180,11 +180,16 @@ public class EteSynchronizer { localChanges.put(task.getRemoteId(), task); } - Timber.v("Applying remote changes"); - client.getSyncEntries( - journal, - caldavCalendar, - syncEntries -> applyEntries(caldavCalendar, syncEntries, localChanges.keySet())); + String remoteCtag = journal.getLastUid(); + if (Strings.isNullOrEmpty(remoteCtag) || !remoteCtag.equals(caldavCalendar.getCtag())) { + Timber.v("Applying remote changes"); + client.getSyncEntries( + journal, + caldavCalendar, + syncEntries -> applyEntries(caldavCalendar, syncEntries, localChanges.keySet())); + } else { + Timber.d("%s up to date", caldavCalendar.getName()); + } List changes = new ArrayList<>(); for (CaldavTask task : caldavDao.getDeleted(caldavCalendar.getUuid())) { @@ -194,7 +199,7 @@ public class EteSynchronizer { changes.add(new SyncEntry(getVtodo(task), task.isNew() ? Actions.ADD : Actions.CHANGE)); } - String remoteCtag = caldavCalendar.getCtag(); + remoteCtag = caldavCalendar.getCtag(); CryptoManager crypto = client.getCrypto(journal); List> updates = new ArrayList<>(); JournalEntryManager.Entry previous =