Code dump with latest updates. Import from https://github.com/google/mobile-data-download/pull/6/commits/ Some changes required to build in Android are documented in http://shortn/_9vXTP4rdzj Test: atest Bug: 276946864 Change-Id: Idd9386c9de7743909103405a7367e69e10f1b6ab
diff --git a/java/com/google/android/libraries/mobiledatadownload/GetFileGroupRequest.java b/java/com/google/android/libraries/mobiledatadownload/GetFileGroupRequest.java index bf117d5..05cabf8 100644 --- a/java/com/google/android/libraries/mobiledatadownload/GetFileGroupRequest.java +++ b/java/com/google/android/libraries/mobiledatadownload/GetFileGroupRequest.java
@@ -34,8 +34,12 @@ public abstract boolean preserveZipDirectories(); + public abstract boolean verifyIsolatedStructure(); + public static Builder newBuilder() { - return new AutoValue_GetFileGroupRequest.Builder().setPreserveZipDirectories(false); + return new AutoValue_GetFileGroupRequest.Builder() + .setPreserveZipDirectories(false) + .setVerifyIsolatedStructure(true); } /** Builder for {@link GetFileGroupRequest}. */ @@ -60,6 +64,21 @@ */ public abstract Builder setPreserveZipDirectories(boolean preserve); + /** + * By default, file groups will isolated structures will have this structure checked for each + * file when returning the file group. If the isolated structure is not correct, MDD will return + * a failure. + * + * <p>Setting this option to false allows clients to bypass this check, reducing the latency for + * critical callpaths. + * + * <p>For groups that do not have an isolated structure, this option is a no-op. + * + * <p>NOTE: All groups with isolated structures are also verified/fixed during MDD's maintenance + * periodic task. + */ + public abstract Builder setVerifyIsolatedStructure(boolean verifyIsolatedStructure); + public abstract GetFileGroupRequest build(); } }