diff --git a/androidlibrary_lib/libs/odk-rest-interface-2.1.8.jar b/androidlibrary_lib/libs/odk-rest-interface-2.1.9.jar similarity index 83% rename from androidlibrary_lib/libs/odk-rest-interface-2.1.8.jar rename to androidlibrary_lib/libs/odk-rest-interface-2.1.9.jar index cdd7f61b..6aa56745 100644 Binary files a/androidlibrary_lib/libs/odk-rest-interface-2.1.8.jar and b/androidlibrary_lib/libs/odk-rest-interface-2.1.9.jar differ diff --git a/androidlibrary_lib/src/main/aidl/org/opendatakit/sync/service/logic/IAidlSynchronizer.aidl b/androidlibrary_lib/src/main/aidl/org/opendatakit/sync/service/logic/IAidlSynchronizer.aidl index b163b05e..b8ee549b 100644 --- a/androidlibrary_lib/src/main/aidl/org/opendatakit/sync/service/logic/IAidlSynchronizer.aidl +++ b/androidlibrary_lib/src/main/aidl/org/opendatakit/sync/service/logic/IAidlSynchronizer.aidl @@ -357,5 +357,5 @@ interface IAidlSynchronizer { * @throws IOException */ void downloadInstanceFileBatch(in List filesToDownload, - in String serverInstanceFileUri, in String instanceId, in String tableId); + in String serverInstanceFileUri, in String instanceId, in String tableId, in boolean reduceImageSize); } diff --git a/androidlibrary_lib/src/main/java/org/opendatakit/properties/CommonToolProperties.java b/androidlibrary_lib/src/main/java/org/opendatakit/properties/CommonToolProperties.java index 8b13e900..ee12eff0 100644 --- a/androidlibrary_lib/src/main/java/org/opendatakit/properties/CommonToolProperties.java +++ b/androidlibrary_lib/src/main/java/org/opendatakit/properties/CommonToolProperties.java @@ -218,6 +218,9 @@ public final class CommonToolProperties { // key used to store the timestamp of last successful sync in SyncFragment public static final String KEY_LAST_SYNC_INFO = "common.last_sync_info"; + // key used to store the AttachmentState of last sync that involved a download + public static final String KEY_PREV_SYNC_ATTACHMENT_STATE = "common.prev_sync_attachment_state"; + // key used to store the sync type spinner's preference in SyncFragment public static final String KEY_SYNC_ATTACHMENT_STATE = "common.sync_attachment_state"; @@ -284,6 +287,7 @@ public static void accumulateProperties(Context context, deviceProperties.put(PropertiesSingleton.toolFirstRunPropertyName("sensors"), ""); deviceProperties.put(KEY_SURVEY_SORT_ORDER,"sortByName"); deviceProperties.put(KEY_PREF_TABLES_SORT_BY_ORDER,"SORT_ASC"); + deviceProperties.put(KEY_PREV_SYNC_ATTACHMENT_STATE, "NONE"); } // handle the secure properties. If these are in the incoming syncable general // property file, those values will be used to initialize these fields (if there is not an diff --git a/androidlibrary_lib/src/main/java/org/opendatakit/sync/service/SyncAttachmentState.java b/androidlibrary_lib/src/main/java/org/opendatakit/sync/service/SyncAttachmentState.java index 784192f6..cbb269ab 100644 --- a/androidlibrary_lib/src/main/java/org/opendatakit/sync/service/SyncAttachmentState.java +++ b/androidlibrary_lib/src/main/java/org/opendatakit/sync/service/SyncAttachmentState.java @@ -19,7 +19,7 @@ import android.os.Parcelable; public enum SyncAttachmentState implements Parcelable { - SYNC, UPLOAD, DOWNLOAD, NONE, REDUCED_SYNC, RE_DOWNLOAD; + SYNC, UPLOAD, DOWNLOAD, NONE, REDUCED_DOWNLOAD, SYNC_WITH_REDUCED_DOWNLOAD; @Override public int describeContents() { @@ -42,4 +42,14 @@ public SyncAttachmentState[] newArray(int size) { } }; + public static boolean involvesDownload(SyncAttachmentState state) { + return state == SYNC || state == DOWNLOAD || state == REDUCED_DOWNLOAD || state == SYNC_WITH_REDUCED_DOWNLOAD; + } + public static boolean involvesReducedImgDownload(SyncAttachmentState state) { + return state == REDUCED_DOWNLOAD || state == SYNC_WITH_REDUCED_DOWNLOAD; + } + + public static boolean involvesFullSizeImgDownload(SyncAttachmentState state) { + return state == SYNC || state == DOWNLOAD; + } }