Check journal lastUid before fetching entries

pull/898/head
Alex Baker 6 years ago
parent 368d26484e
commit 285fe0db91

@ -12,7 +12,6 @@ repositories {
jcenter() jcenter()
google() google()
maven(url = "https://jitpack.io") maven(url = "https://jitpack.io")
maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
} }
android { android {
@ -201,7 +200,7 @@ dependencies {
implementation("androidx.work:work-runtime:${Versions.work}") implementation("androidx.work:work-runtime:${Versions.work}")
implementation("com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0") implementation("com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0")
implementation("com.mapbox.mapboxsdk:mapbox-sdk-services:4.6.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.crashlytics.sdk.android:crashlytics:${Versions.crashlytics}")
googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.firebase}") googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.firebase}")

@ -180,11 +180,16 @@ public class EteSynchronizer {
localChanges.put(task.getRemoteId(), task); localChanges.put(task.getRemoteId(), task);
} }
String remoteCtag = journal.getLastUid();
if (Strings.isNullOrEmpty(remoteCtag) || !remoteCtag.equals(caldavCalendar.getCtag())) {
Timber.v("Applying remote changes"); Timber.v("Applying remote changes");
client.getSyncEntries( client.getSyncEntries(
journal, journal,
caldavCalendar, caldavCalendar,
syncEntries -> applyEntries(caldavCalendar, syncEntries, localChanges.keySet())); syncEntries -> applyEntries(caldavCalendar, syncEntries, localChanges.keySet()));
} else {
Timber.d("%s up to date", caldavCalendar.getName());
}
List<SyncEntry> changes = new ArrayList<>(); List<SyncEntry> changes = new ArrayList<>();
for (CaldavTask task : caldavDao.getDeleted(caldavCalendar.getUuid())) { 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)); changes.add(new SyncEntry(getVtodo(task), task.isNew() ? Actions.ADD : Actions.CHANGE));
} }
String remoteCtag = caldavCalendar.getCtag(); remoteCtag = caldavCalendar.getCtag();
CryptoManager crypto = client.getCrypto(journal); CryptoManager crypto = client.getCrypto(journal);
List<Pair<Entry, SyncEntry>> updates = new ArrayList<>(); List<Pair<Entry, SyncEntry>> updates = new ArrayList<>();
JournalEntryManager.Entry previous = JournalEntryManager.Entry previous =

Loading…
Cancel
Save