From 0bb25299ca01561eb3a8e69b042f8f16dc440882 Mon Sep 17 00:00:00 2001 From: Steve McKay Date: Tue, 24 Jan 2017 11:45:18 -0800 Subject: [PATCH] Don't mark query+cancellationSignal final. Bug: 34517733 Test: None. Change-Id: Iff281c676b928859c0e2e975d9f0cfabb36479d9 --- api/current.txt | 1 - api/system-current.txt | 1 - api/test-current.txt | 1 - core/java/android/provider/DocumentsProvider.java | 12 +++++++++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/api/current.txt b/api/current.txt index e4ef7b037dff3..82bac78090534 100644 --- a/api/current.txt +++ b/api/current.txt @@ -33031,7 +33031,6 @@ package android.provider { method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public android.content.res.AssetFileDescriptor openTypedDocument(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String); - method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal); method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal); method public abstract android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], java.lang.String) throws java.io.FileNotFoundException; method public android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], android.os.Bundle) throws java.io.FileNotFoundException; diff --git a/api/system-current.txt b/api/system-current.txt index 4c63b93a5a9f1..f180f41e78dcf 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -35856,7 +35856,6 @@ package android.provider { method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public android.content.res.AssetFileDescriptor openTypedDocument(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String); - method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal); method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal); method public abstract android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], java.lang.String) throws java.io.FileNotFoundException; method public android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], android.os.Bundle) throws java.io.FileNotFoundException; diff --git a/api/test-current.txt b/api/test-current.txt index 4f28ed6ecf9b7..4ad5467412c0a 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -33147,7 +33147,6 @@ package android.provider { method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public android.content.res.AssetFileDescriptor openTypedDocument(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException; method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String); - method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal); method public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal); method public abstract android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], java.lang.String) throws java.io.FileNotFoundException; method public android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], android.os.Bundle) throws java.io.FileNotFoundException; diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java index 6170eb48444dd..f5e558a01c563 100644 --- a/core/java/android/provider/DocumentsProvider.java +++ b/core/java/android/provider/DocumentsProvider.java @@ -678,8 +678,18 @@ public abstract class DocumentsProvider extends ContentProvider { throw new UnsupportedOperationException("Pre-Android-O query format not supported."); } + /** + * WARNING: Sub-classes should not override this method. This method is non-final + * solely for the purposes of backwards compatibility. + * + * @see #queryChildDocuments(String, String[], Bundle), + * {@link #queryDocument(String, String[])}, + * {@link #queryRecentDocuments(String, String[])}, + * {@link #queryRoots(String[])}, and + * {@link #querySearchDocuments(String, String, String[])}. + */ @Override - public final Cursor query(Uri uri, String[] projection, String selection, + public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder, CancellationSignal cancellationSignal) { // As of Android-O, ContentProvider#query (w/ bundle arg) is the primary // transport method. We override that, and don't ever delegate to this metohd.