Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a37a5a7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add some @NonNull annotations" into main

parents f09c4099 1584d027
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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,
@@ -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.");
@@ -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,
@@ -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,
@@ -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);
    }

+3 −3
Original line number Diff line number Diff line
@@ -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());

@@ -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);

+6 −6
Original line number Diff line number Diff line
@@ -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);
@@ -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;
@@ -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("/")) {
@@ -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);
@@ -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) {
@@ -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) {
+4 −6
Original line number Diff line number Diff line
@@ -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);
@@ -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.");
+7 −6
Original line number Diff line number Diff line
@@ -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;
@@ -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.
 *
@@ -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,
@@ -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