Loading src/com/android/documentsui/archives/Archive.java +5 −5 Original line number Diff line number Diff line Loading @@ -190,7 +190,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.queryChildDocuments(String, String[], String) */ public Cursor queryChildDocuments(String documentId, @Nullable String[] projection, public Cursor queryChildDocuments(@NonNull String documentId, @Nullable String[] projection, @Nullable String sortOrder) throws FileNotFoundException { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -219,7 +219,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.getDocumentType(String) */ public String getDocumentType(String documentId) throws FileNotFoundException { public String getDocumentType(@NonNull String documentId) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, "Mismatching archive Uri. Expected: %s, actual: %s."); Loading @@ -239,7 +239,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.isChildDocument(String, String) */ public boolean isChildDocument(String parentDocumentId, String documentId) { public boolean isChildDocument(@NonNull String parentDocumentId, @NonNull String documentId) { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(parentDocumentId); final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -271,7 +271,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.queryDocument(String, String[]) */ public Cursor queryDocument(String documentId, @Nullable String[] projection) public Cursor queryDocument(@NonNull String documentId, @Nullable String[] projection) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, Loading Loading @@ -328,7 +328,7 @@ public abstract class Archive implements Closeable { /** * Creates an archive id for the passed path. */ public ArchiveId createArchiveId(String path) { public ArchiveId createArchiveId(@NonNull String path) { return new ArchiveId(mArchiveUri, mAccessMode, path); } Loading src/com/android/documentsui/archives/ArchiveId.java +3 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,9 @@ public class ArchiveId { public final @NonNull Uri mArchiveUri; public final int mAccessMode; public final String mPath; public final @NonNull String mPath; public ArchiveId(@NonNull Uri archiveUri, int accessMode, String path) { public ArchiveId(@NonNull Uri archiveUri, int accessMode, @NonNull String path) { assert(archiveUri.toString().indexOf(DELIMITER) == -1); assert(!path.isEmpty()); Loading @@ -36,7 +36,7 @@ public class ArchiveId { mPath = path; } static public ArchiveId fromDocumentId(String documentId) { public static ArchiveId fromDocumentId(@NonNull String documentId) { final int delimiterPosition = documentId.indexOf(DELIMITER); assert(delimiterPosition != -1); Loading src/com/android/documentsui/archives/ArchivesProvider.java +6 −6 Original line number Diff line number Diff line Loading @@ -95,7 +95,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public Cursor queryChildDocuments(String documentId, @Nullable String[] projection, public Cursor queryChildDocuments(@NonNull String documentId, @Nullable String[] projection, @Nullable String sortOrder) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); Loading Loading @@ -140,7 +140,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public String getDocumentType(String documentId) throws FileNotFoundException { public String getDocumentType(@NonNull String documentId) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); if (archiveId.mPath.equals("/")) { return Document.MIME_TYPE_DIR; Loading Loading @@ -183,7 +183,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public Cursor queryDocument(String documentId, @Nullable String[] projection) public Cursor queryDocument(@NonNull String documentId, @Nullable String[] projection) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); if (archiveId.mPath.equals("/")) { Loading Loading @@ -286,7 +286,7 @@ public class ArchivesProvider extends DocumentsProvider { /** * The archive won't close until all clients release it. */ private void acquireArchive(String documentId) { private void acquireArchive(@NonNull String documentId) { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); synchronized (mArchives) { final Key key = Key.fromArchiveId(archiveId); Loading @@ -305,7 +305,7 @@ public class ArchivesProvider extends DocumentsProvider { /** * If all clients release the archive, then it will be closed. */ private void releaseArchive(String documentId) { private void releaseArchive(@NonNull String documentId) { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); final Key key = Key.fromArchiveId(archiveId); synchronized (mArchives) { Loading @@ -318,7 +318,7 @@ public class ArchivesProvider extends DocumentsProvider { } } private Loader getLoaderOrThrow(String documentId) { private Loader getLoaderOrThrow(@NonNull String documentId) { final ArchiveId id = ArchiveId.fromDocumentId(documentId); final Key key = Key.fromArchiveId(id); synchronized (mArchives) { Loading src/com/android/documentsui/archives/ReadableArchive.java +4 −6 Original line number Diff line number Diff line Loading @@ -268,9 +268,8 @@ public class ReadableArchive extends Archive { } @Override public ParcelFileDescriptor openDocument( String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { public ParcelFileDescriptor openDocument(@NonNull String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { MorePreconditions.checkArgumentEquals("r", mode, "Invalid mode. Only reading \"r\" supported, but got: \"%s\"."); final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); Loading @@ -295,9 +294,8 @@ public class ReadableArchive extends Archive { } @Override public AssetFileDescriptor openDocumentThumbnail( String documentId, Point sizeHint, final CancellationSignal signal) throws FileNotFoundException { public AssetFileDescriptor openDocumentThumbnail(@NonNull String documentId, Point sizeHint, final CancellationSignal signal) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, "Mismatching archive Uri. Expected: %s, actual: %s."); Loading src/com/android/documentsui/archives/WriteableArchive.java +7 −6 Original line number Diff line number Diff line Loading @@ -27,12 +27,15 @@ import android.provider.DocumentsContract.Document; import android.util.Log; import androidx.annotation.GuardedBy; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; Loading @@ -41,9 +44,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.TimeUnit; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; /** * Provides basic implementation for creating archives. * Loading Loading @@ -132,7 +132,8 @@ public class WriteableArchive extends Archive { @Override @VisibleForTesting public String createDocument(String parentDocumentId, String mimeType, String displayName) public String createDocument(@NonNull String parentDocumentId, String mimeType, String displayName) throws FileNotFoundException { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(parentDocumentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -199,7 +200,7 @@ public class WriteableArchive extends Archive { @Override public ParcelFileDescriptor openDocument( String documentId, String mode, @Nullable final CancellationSignal signal) @NonNull String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { MorePreconditions.checkArgumentEquals("w", mode, "Invalid mode. Only writing \"w\" supported, but got: \"%s\"."); Loading Loading
src/com/android/documentsui/archives/Archive.java +5 −5 Original line number Diff line number Diff line Loading @@ -190,7 +190,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.queryChildDocuments(String, String[], String) */ public Cursor queryChildDocuments(String documentId, @Nullable String[] projection, public Cursor queryChildDocuments(@NonNull String documentId, @Nullable String[] projection, @Nullable String sortOrder) throws FileNotFoundException { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -219,7 +219,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.getDocumentType(String) */ public String getDocumentType(String documentId) throws FileNotFoundException { public String getDocumentType(@NonNull String documentId) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, "Mismatching archive Uri. Expected: %s, actual: %s."); Loading @@ -239,7 +239,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.isChildDocument(String, String) */ public boolean isChildDocument(String parentDocumentId, String documentId) { public boolean isChildDocument(@NonNull String parentDocumentId, @NonNull String documentId) { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(parentDocumentId); final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -271,7 +271,7 @@ public abstract class Archive implements Closeable { * * @see DocumentsProvider.queryDocument(String, String[]) */ public Cursor queryDocument(String documentId, @Nullable String[] projection) public Cursor queryDocument(@NonNull String documentId, @Nullable String[] projection) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, Loading Loading @@ -328,7 +328,7 @@ public abstract class Archive implements Closeable { /** * Creates an archive id for the passed path. */ public ArchiveId createArchiveId(String path) { public ArchiveId createArchiveId(@NonNull String path) { return new ArchiveId(mArchiveUri, mAccessMode, path); } Loading
src/com/android/documentsui/archives/ArchiveId.java +3 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,9 @@ public class ArchiveId { public final @NonNull Uri mArchiveUri; public final int mAccessMode; public final String mPath; public final @NonNull String mPath; public ArchiveId(@NonNull Uri archiveUri, int accessMode, String path) { public ArchiveId(@NonNull Uri archiveUri, int accessMode, @NonNull String path) { assert(archiveUri.toString().indexOf(DELIMITER) == -1); assert(!path.isEmpty()); Loading @@ -36,7 +36,7 @@ public class ArchiveId { mPath = path; } static public ArchiveId fromDocumentId(String documentId) { public static ArchiveId fromDocumentId(@NonNull String documentId) { final int delimiterPosition = documentId.indexOf(DELIMITER); assert(delimiterPosition != -1); Loading
src/com/android/documentsui/archives/ArchivesProvider.java +6 −6 Original line number Diff line number Diff line Loading @@ -95,7 +95,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public Cursor queryChildDocuments(String documentId, @Nullable String[] projection, public Cursor queryChildDocuments(@NonNull String documentId, @Nullable String[] projection, @Nullable String sortOrder) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); Loading Loading @@ -140,7 +140,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public String getDocumentType(String documentId) throws FileNotFoundException { public String getDocumentType(@NonNull String documentId) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); if (archiveId.mPath.equals("/")) { return Document.MIME_TYPE_DIR; Loading Loading @@ -183,7 +183,7 @@ public class ArchivesProvider extends DocumentsProvider { } @Override public Cursor queryDocument(String documentId, @Nullable String[] projection) public Cursor queryDocument(@NonNull String documentId, @Nullable String[] projection) throws FileNotFoundException { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); if (archiveId.mPath.equals("/")) { Loading Loading @@ -286,7 +286,7 @@ public class ArchivesProvider extends DocumentsProvider { /** * The archive won't close until all clients release it. */ private void acquireArchive(String documentId) { private void acquireArchive(@NonNull String documentId) { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); synchronized (mArchives) { final Key key = Key.fromArchiveId(archiveId); Loading @@ -305,7 +305,7 @@ public class ArchivesProvider extends DocumentsProvider { /** * If all clients release the archive, then it will be closed. */ private void releaseArchive(String documentId) { private void releaseArchive(@NonNull String documentId) { final ArchiveId archiveId = ArchiveId.fromDocumentId(documentId); final Key key = Key.fromArchiveId(archiveId); synchronized (mArchives) { Loading @@ -318,7 +318,7 @@ public class ArchivesProvider extends DocumentsProvider { } } private Loader getLoaderOrThrow(String documentId) { private Loader getLoaderOrThrow(@NonNull String documentId) { final ArchiveId id = ArchiveId.fromDocumentId(documentId); final Key key = Key.fromArchiveId(id); synchronized (mArchives) { Loading
src/com/android/documentsui/archives/ReadableArchive.java +4 −6 Original line number Diff line number Diff line Loading @@ -268,9 +268,8 @@ public class ReadableArchive extends Archive { } @Override public ParcelFileDescriptor openDocument( String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { public ParcelFileDescriptor openDocument(@NonNull String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { MorePreconditions.checkArgumentEquals("r", mode, "Invalid mode. Only reading \"r\" supported, but got: \"%s\"."); final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); Loading @@ -295,9 +294,8 @@ public class ReadableArchive extends Archive { } @Override public AssetFileDescriptor openDocumentThumbnail( String documentId, Point sizeHint, final CancellationSignal signal) throws FileNotFoundException { public AssetFileDescriptor openDocumentThumbnail(@NonNull String documentId, Point sizeHint, final CancellationSignal signal) throws FileNotFoundException { final ArchiveId parsedId = ArchiveId.fromDocumentId(documentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedId.mArchiveUri, "Mismatching archive Uri. Expected: %s, actual: %s."); Loading
src/com/android/documentsui/archives/WriteableArchive.java +7 −6 Original line number Diff line number Diff line Loading @@ -27,12 +27,15 @@ import android.provider.DocumentsContract.Document; import android.util.Log; import androidx.annotation.GuardedBy; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; Loading @@ -41,9 +44,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.TimeUnit; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; /** * Provides basic implementation for creating archives. * Loading Loading @@ -132,7 +132,8 @@ public class WriteableArchive extends Archive { @Override @VisibleForTesting public String createDocument(String parentDocumentId, String mimeType, String displayName) public String createDocument(@NonNull String parentDocumentId, String mimeType, String displayName) throws FileNotFoundException { final ArchiveId parsedParentId = ArchiveId.fromDocumentId(parentDocumentId); MorePreconditions.checkArgumentEquals(mArchiveUri, parsedParentId.mArchiveUri, Loading Loading @@ -199,7 +200,7 @@ public class WriteableArchive extends Archive { @Override public ParcelFileDescriptor openDocument( String documentId, String mode, @Nullable final CancellationSignal signal) @NonNull String documentId, String mode, @Nullable final CancellationSignal signal) throws FileNotFoundException { MorePreconditions.checkArgumentEquals("w", mode, "Invalid mode. Only writing \"w\" supported, but got: \"%s\"."); Loading