diff options
-rw-r--r-- | api/current.txt | 1 | ||||
-rw-r--r-- | core/java/android/provider/Downloads.java | 9 | ||||
-rw-r--r-- | core/java/android/provider/MediaStore.java | 12 | ||||
-rw-r--r-- | test-mock/src/android/test/mock/MockContentProvider.java | 9 |
4 files changed, 30 insertions, 1 deletions
diff --git a/api/current.txt b/api/current.txt index f81eb54743ca..79040ad2922d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -38047,6 +38047,7 @@ package android.provider { } public static abstract interface MediaStore.DownloadColumns implements android.provider.MediaStore.MediaColumns { + field public static final java.lang.String DESCRIPTION = "description"; field public static final java.lang.String DOWNLOAD_URI = "download_uri"; field public static final java.lang.String REFERER_URI = "referer_uri"; } diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java index e5fd29cc09b1..b348da45e2d6 100644 --- a/core/java/android/provider/Downloads.java +++ b/core/java/android/provider/Downloads.java @@ -409,6 +409,15 @@ public final class Downloads { public static final String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri"; /** + * Similar to {@link #COLUMN_MEDIAPROVIDER_URI}, except this cannot be updated/queried + * by apps and will be the source of truth when updating/deleting download entries in + * MediaProvider database. + * + * <P>Type: TEXT</P> + */ + public static final String COLUMN_MEDIASTORE_URI = "mediastore_uri"; + + /** * The column that is used to remember whether the media scanner was invoked. * It can take the values: null or 0(not scanned), 1(scanned), 2 (not scannable). * <P>Type: TEXT</P> diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java index f7ae28437bb2..cdbc9790c952 100644 --- a/core/java/android/provider/MediaStore.java +++ b/core/java/android/provider/MediaStore.java @@ -1025,6 +1025,11 @@ public final class MediaStore { return AUTHORITY_URI.buildUpon().appendPath(volumeName).appendPath("dir").build(); } + /** @hide */ + public static final Uri getContentUriForPath(String path) { + return getContentUri(getVolumeNameForPath(path)); + } + /** * Fields for master table for all media files. * Table also contains MediaColumns._ID, DATA, SIZE and DATE_MODIFIED. @@ -1131,6 +1136,13 @@ public final class MediaStore { * Type: TEXT */ String REFERER_URI = "referer_uri"; + + /** + * The description of the download. + * <p> + * Type: Text + */ + String DESCRIPTION = "description"; } /** diff --git a/test-mock/src/android/test/mock/MockContentProvider.java b/test-mock/src/android/test/mock/MockContentProvider.java index 0ac35bc2628c..e9a5ff70a7cc 100644 --- a/test-mock/src/android/test/mock/MockContentProvider.java +++ b/test-mock/src/android/test/mock/MockContentProvider.java @@ -119,7 +119,7 @@ public class MockContentProvider extends ContentProvider { @Override public IBinder asBinder() { - throw new UnsupportedOperationException(); + return MockContentProvider.this.getIContentProviderBinder(); } @Override @@ -279,6 +279,13 @@ public class MockContentProvider extends ContentProvider { } /** + * @hide + */ + public IBinder getIContentProviderBinder() { + throw new UnsupportedOperationException("unimplemented mock method"); + } + + /** * Like {@link #attachInfo(Context, android.content.pm.ProviderInfo)}, but for use * when directly instantiating the provider for testing. * |