From ffba15565f84c91530958da65e53feae19dd7eb7 Mon Sep 17 00:00:00 2001 From: Ivan Chiang Date: Mon, 4 Mar 2019 16:59:39 +0800 Subject: [PATCH] Update Nullability of Apis Update Nullability of apis in DocumentsContract, DocumentsProvider. Test: make Change-Id: Icc81333707bbeb9fe6d410ee35ade761e2d3b254 Fix: 126700626 Fix: 126702360 Fix: 126700352 --- api/current.txt | 4 ++-- api/system-current.txt | 4 ++-- core/java/android/provider/DocumentsContract.java | 6 ++++-- core/java/android/provider/DocumentsProvider.java | 13 ++++++++----- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/api/current.txt b/api/current.txt index 5c6689920f596..3f09d35132822 100644 --- a/api/current.txt +++ b/api/current.txt @@ -38330,10 +38330,10 @@ package android.provider { method public android.database.Cursor queryChildDocuments(String, @Nullable String[], @Nullable android.os.Bundle) throws java.io.FileNotFoundException; method public abstract android.database.Cursor queryDocument(String, String[]) throws java.io.FileNotFoundException; method public android.database.Cursor queryRecentDocuments(String, String[]) throws java.io.FileNotFoundException; - method public android.database.Cursor queryRecentDocuments(String, String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; + method @Nullable public android.database.Cursor queryRecentDocuments(@NonNull String, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException; method public abstract android.database.Cursor queryRoots(String[]) throws java.io.FileNotFoundException; method public android.database.Cursor querySearchDocuments(String, String, String[]) throws java.io.FileNotFoundException; - method public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException; + method @Nullable public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException; method public void removeDocument(String, String) throws java.io.FileNotFoundException; method public String renameDocument(String, String) throws java.io.FileNotFoundException; method public final void revokeDocumentPermission(String); diff --git a/api/system-current.txt b/api/system-current.txt index 9b552e26600f3..b65864029a7ff 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5929,8 +5929,8 @@ package android.provider { } public final class DocumentsContract { - method public static boolean isManageMode(android.net.Uri); - method public static android.net.Uri setManageMode(android.net.Uri); + method public static boolean isManageMode(@NonNull android.net.Uri); + method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri); field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS"; field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT"; field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED"; diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index 49567b29f7109..4632b7553ca0d 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -1252,7 +1252,8 @@ public final class DocumentsContract { * {@hide} */ @SystemApi - public static Uri setManageMode(Uri uri) { + public static @NonNull Uri setManageMode(@NonNull Uri uri) { + Preconditions.checkNotNull(uri, "uri can not be null"); return uri.buildUpon().appendQueryParameter(PARAM_MANAGE, "true").build(); } @@ -1262,7 +1263,8 @@ public final class DocumentsContract { * {@hide} */ @SystemApi - public static boolean isManageMode(Uri uri) { + public static boolean isManageMode(@NonNull Uri uri) { + Preconditions.checkNotNull(uri, "uri can not be null"); return uri.getBooleanQueryParameter(PARAM_MANAGE, false); } diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java index 9b9e2dee8f9ba..cb794ad023e3a 100644 --- a/core/java/android/provider/DocumentsProvider.java +++ b/core/java/android/provider/DocumentsProvider.java @@ -487,10 +487,12 @@ public abstract class DocumentsProvider extends ContentProvider { * @see DocumentsContract#EXTRA_LOADING */ @SuppressWarnings("unused") + @Nullable public Cursor queryRecentDocuments( - String rootId, String[] projection, @Nullable Bundle queryArgs, - @Nullable CancellationSignal signal) - throws FileNotFoundException { + @NonNull String rootId, @Nullable String[] projection, @Nullable Bundle queryArgs, + @Nullable CancellationSignal signal) throws FileNotFoundException { + Preconditions.checkNotNull(rootId, "rootId can not be null"); + Cursor c = queryRecentDocuments(rootId, projection); Bundle extras = new Bundle(); c.setExtras(extras); @@ -697,8 +699,9 @@ public abstract class DocumentsProvider extends ContentProvider { * @see DocumentsContract#EXTRA_ERROR */ @SuppressWarnings("unused") - public Cursor querySearchDocuments(@NonNull String rootId, @Nullable String[] projection, - @NonNull Bundle queryArgs) throws FileNotFoundException { + @Nullable + public Cursor querySearchDocuments(@NonNull String rootId, + @Nullable String[] projection, @NonNull Bundle queryArgs) throws FileNotFoundException { Preconditions.checkNotNull(rootId, "rootId can not be null"); Preconditions.checkNotNull(queryArgs, "queryArgs can not be null"); return querySearchDocuments(rootId, DocumentsContract.getSearchDocumentsQuery(queryArgs),