Merge "Reconcile MediaStore with MediaMetadataRetriever."
This commit is contained in:
@@ -38491,7 +38491,11 @@ package android.provider {
|
||||
method @NonNull public static String getVersion(@NonNull android.content.Context, @NonNull String);
|
||||
method @NonNull public static String getVolumeName(@NonNull android.net.Uri);
|
||||
method @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri);
|
||||
method @NonNull public static android.net.Uri setIncludeTrashed(@NonNull android.net.Uri);
|
||||
method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri);
|
||||
method public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri);
|
||||
method public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri, long);
|
||||
method public static void untrash(@NonNull android.content.Context, @NonNull android.net.Uri);
|
||||
field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE";
|
||||
field public static final String ACTION_IMAGE_CAPTURE_SECURE = "android.media.action.IMAGE_CAPTURE_SECURE";
|
||||
field public static final String ACTION_REVIEW = "android.provider.action.REVIEW";
|
||||
@@ -38584,14 +38588,11 @@ package android.provider {
|
||||
}
|
||||
|
||||
public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String ALBUM = "album";
|
||||
field public static final String ALBUM_ID = "album_id";
|
||||
field @Deprecated public static final String ALBUM_KEY = "album_key";
|
||||
field public static final String ARTIST = "artist";
|
||||
field public static final String ARTIST_ID = "artist_id";
|
||||
field @Deprecated public static final String ARTIST_KEY = "artist_key";
|
||||
field public static final String BOOKMARK = "bookmark";
|
||||
field public static final String COMPOSER = "composer";
|
||||
field public static final String GENRE = "genre";
|
||||
field public static final String GENRE_ID = "genre_id";
|
||||
field @Deprecated public static final String GENRE_KEY = "genre_key";
|
||||
@@ -38706,7 +38707,6 @@ package android.provider {
|
||||
field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3
|
||||
field public static final String MIME_TYPE = "mime_type";
|
||||
field public static final String PARENT = "parent";
|
||||
field public static final String TITLE = "title";
|
||||
}
|
||||
|
||||
public static final class MediaStore.Images {
|
||||
@@ -38715,6 +38715,9 @@ package android.provider {
|
||||
|
||||
public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String DESCRIPTION = "description";
|
||||
field public static final String EXPOSURE_TIME = "exposure_time";
|
||||
field public static final String F_NUMBER = "f_number";
|
||||
field public static final String ISO = "iso";
|
||||
field public static final String IS_PRIVATE = "isprivate";
|
||||
field @Deprecated public static final String LATITUDE = "latitude";
|
||||
field @Deprecated public static final String LONGITUDE = "longitude";
|
||||
@@ -38763,28 +38766,45 @@ package android.provider {
|
||||
}
|
||||
|
||||
public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
|
||||
field public static final String ALBUM = "album";
|
||||
field public static final String ALBUM_ARTIST = "album_artist";
|
||||
field public static final String ARTIST = "artist";
|
||||
field public static final String AUTHOR = "author";
|
||||
field public static final String BITRATE = "bitrate";
|
||||
field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
|
||||
field public static final String BUCKET_ID = "bucket_id";
|
||||
field public static final String CAPTURE_FRAMERATE = "capture_framerate";
|
||||
field public static final String CD_TRACK_NUMBER = "cd_track_number";
|
||||
field public static final String COMPILATION = "compilation";
|
||||
field public static final String COMPOSER = "composer";
|
||||
field @Deprecated public static final String DATA = "_data";
|
||||
field public static final String DATE_ADDED = "date_added";
|
||||
field public static final String DATE_EXPIRES = "date_expires";
|
||||
field public static final String DATE_MODIFIED = "date_modified";
|
||||
field public static final String DATE_TAKEN = "datetaken";
|
||||
field public static final String DISC_NUMBER = "disc_number";
|
||||
field public static final String DISPLAY_NAME = "_display_name";
|
||||
field public static final String DOCUMENT_ID = "document_id";
|
||||
field public static final String DURATION = "duration";
|
||||
field public static final String GENRE = "genre";
|
||||
field public static final String HEIGHT = "height";
|
||||
field public static final String INSTANCE_ID = "instance_id";
|
||||
field public static final String IS_FAVORITE = "is_favorite";
|
||||
field public static final String IS_PENDING = "is_pending";
|
||||
field public static final String IS_TRASHED = "is_trashed";
|
||||
field public static final String MIME_TYPE = "mime_type";
|
||||
field public static final String NUM_TRACKS = "num_tracks";
|
||||
field public static final String ORIENTATION = "orientation";
|
||||
field public static final String ORIGINAL_DOCUMENT_ID = "original_document_id";
|
||||
field public static final String OWNER_PACKAGE_NAME = "owner_package_name";
|
||||
field public static final String RELATIVE_PATH = "relative_path";
|
||||
field public static final String RESOLUTION = "resolution";
|
||||
field public static final String SIZE = "_size";
|
||||
field public static final String TITLE = "title";
|
||||
field public static final String VOLUME_NAME = "volume_name";
|
||||
field public static final String WIDTH = "width";
|
||||
field public static final String WRITER = "writer";
|
||||
field public static final String YEAR = "year";
|
||||
}
|
||||
|
||||
public static final class MediaStore.Video {
|
||||
@@ -38824,8 +38844,6 @@ package android.provider {
|
||||
}
|
||||
|
||||
public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String ALBUM = "album";
|
||||
field public static final String ARTIST = "artist";
|
||||
field public static final String BOOKMARK = "bookmark";
|
||||
field public static final String CATEGORY = "category";
|
||||
field public static final String COLOR_RANGE = "color_range";
|
||||
@@ -38837,7 +38855,6 @@ package android.provider {
|
||||
field @Deprecated public static final String LATITUDE = "latitude";
|
||||
field @Deprecated public static final String LONGITUDE = "longitude";
|
||||
field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
|
||||
field public static final String RESOLUTION = "resolution";
|
||||
field public static final String TAGS = "tags";
|
||||
}
|
||||
|
||||
|
||||
@@ -444,13 +444,12 @@ package android.provider {
|
||||
method @Deprecated @NonNull public static android.net.Uri createPending(@NonNull android.content.Context, @NonNull android.provider.MediaStore.PendingParams);
|
||||
method @Deprecated @NonNull public static java.util.Set<java.lang.String> getAllVolumeNames(@NonNull android.content.Context);
|
||||
method @Deprecated @NonNull public static android.provider.MediaStore.PendingSession openPending(@NonNull android.content.Context, @NonNull android.net.Uri);
|
||||
method @Deprecated @NonNull public static android.net.Uri setIncludeTrashed(@NonNull android.net.Uri);
|
||||
method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri);
|
||||
method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri, long);
|
||||
method @Deprecated public static void untrash(@NonNull android.content.Context, @NonNull android.net.Uri);
|
||||
}
|
||||
|
||||
public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String ALBUM = "album";
|
||||
field public static final String ARTIST = "artist";
|
||||
field public static final String COMPOSER = "composer";
|
||||
field public static final String DURATION = "duration";
|
||||
}
|
||||
|
||||
@@ -458,6 +457,10 @@ package android.provider {
|
||||
field @Deprecated public static final String DESCRIPTION = "description";
|
||||
}
|
||||
|
||||
public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String TITLE = "title";
|
||||
}
|
||||
|
||||
public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
|
||||
field public static final String BUCKET_ID = "bucket_id";
|
||||
@@ -468,10 +471,6 @@ package android.provider {
|
||||
|
||||
public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
|
||||
field @Deprecated public static final String GROUP_ID = "group_id";
|
||||
field @Deprecated public static final String HASH = "_hash";
|
||||
field @Deprecated public static final String IS_TRASHED = "is_trashed";
|
||||
field @Deprecated public static final String PRIMARY_DIRECTORY = "primary_directory";
|
||||
field @Deprecated public static final String SECONDARY_DIRECTORY = "secondary_directory";
|
||||
}
|
||||
|
||||
@Deprecated public static class MediaStore.PendingParams {
|
||||
@@ -491,11 +490,14 @@ package android.provider {
|
||||
}
|
||||
|
||||
public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
|
||||
field public static final String ALBUM = "album";
|
||||
field public static final String ARTIST = "artist";
|
||||
field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
|
||||
field public static final String BUCKET_ID = "bucket_id";
|
||||
field public static final String DATE_TAKEN = "datetaken";
|
||||
field public static final String DURATION = "duration";
|
||||
field public static final String GROUP_ID = "group_id";
|
||||
field public static final String RESOLUTION = "resolution";
|
||||
}
|
||||
|
||||
public static final class Settings.Global extends android.provider.Settings.NameValueTable {
|
||||
|
||||
@@ -47,6 +47,7 @@ import android.graphics.PostProcessor;
|
||||
import android.media.ExifInterface;
|
||||
import android.media.MediaFile;
|
||||
import android.media.MediaFormat;
|
||||
import android.media.MediaMetadataRetriever;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.CancellationSignal;
|
||||
@@ -589,9 +590,7 @@ public final class MediaStore {
|
||||
* @see MediaStore#setIncludeTrashed(Uri)
|
||||
* @see MediaStore#trash(Context, Uri)
|
||||
* @see MediaStore#untrash(Context, Uri)
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
public static @NonNull Uri setIncludeTrashed(@NonNull Uri uri) {
|
||||
return uri.buildUpon().appendQueryParameter(PARAM_INCLUDE_TRASHED, "1").build();
|
||||
}
|
||||
@@ -830,9 +829,7 @@ public final class MediaStore {
|
||||
* @see MediaStore#setIncludeTrashed(Uri)
|
||||
* @see MediaStore#trash(Context, Uri)
|
||||
* @see MediaStore#untrash(Context, Uri)
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
public static void trash(@NonNull Context context, @NonNull Uri uri) {
|
||||
trash(context, uri, 48 * DateUtils.HOUR_IN_MILLIS);
|
||||
}
|
||||
@@ -850,9 +847,7 @@ public final class MediaStore {
|
||||
* @see MediaStore#setIncludeTrashed(Uri)
|
||||
* @see MediaStore#trash(Context, Uri)
|
||||
* @see MediaStore#untrash(Context, Uri)
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
public static void trash(@NonNull Context context, @NonNull Uri uri,
|
||||
@DurationMillisLong long timeoutMillis) {
|
||||
if (timeoutMillis < 0) {
|
||||
@@ -874,9 +869,7 @@ public final class MediaStore {
|
||||
* @see MediaStore#setIncludeTrashed(Uri)
|
||||
* @see MediaStore#trash(Context, Uri)
|
||||
* @see MediaStore#untrash(Context, Uri)
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
public static void untrash(@NonNull Context context, @NonNull Uri uri) {
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(MediaColumns.IS_TRASHED, 0);
|
||||
@@ -907,26 +900,8 @@ public final class MediaStore {
|
||||
public static final String DATA = "_data";
|
||||
|
||||
/**
|
||||
* Hash of the media item on disk.
|
||||
* <p>
|
||||
* Contains a 20-byte binary blob which is the SHA-1 hash of the file as
|
||||
* persisted on disk. For performance reasons, the hash may not be
|
||||
* immediately available, in which case a {@code NULL} value will be
|
||||
* returned. If the underlying file is modified, this value will be
|
||||
* cleared and recalculated.
|
||||
* <p>
|
||||
* If you require the hash of a specific item, you can call
|
||||
* {@link ContentResolver#canonicalize(Uri)}, which will block until the
|
||||
* hash is calculated.
|
||||
*
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
@Column(value = Cursor.FIELD_TYPE_BLOB, readOnly = true)
|
||||
public static final String HASH = "_hash";
|
||||
|
||||
/**
|
||||
* The size of the media item.
|
||||
* Indexed value of {@link File#length()} extracted from this media
|
||||
* item.
|
||||
*/
|
||||
@BytesLong
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
@@ -942,12 +917,6 @@ public final class MediaStore {
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
public static final String DISPLAY_NAME = "_display_name";
|
||||
|
||||
/**
|
||||
* The title of the media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String TITLE = "title";
|
||||
|
||||
/**
|
||||
* The time the media item was first added.
|
||||
*/
|
||||
@@ -956,14 +925,22 @@ public final class MediaStore {
|
||||
public static final String DATE_ADDED = "date_added";
|
||||
|
||||
/**
|
||||
* The time the media item was last modified.
|
||||
* Indexed value of {@link File#lastModified()} extracted from this
|
||||
* media item.
|
||||
*/
|
||||
@CurrentTimeSecondsLong
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String DATE_MODIFIED = "date_modified";
|
||||
|
||||
/**
|
||||
* The time the media item was taken.
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_DATE} or
|
||||
* {@link ExifInterface#TAG_DATETIME_ORIGINAL} extracted from this media
|
||||
* item.
|
||||
* <p>
|
||||
* Note that images must define both
|
||||
* {@link ExifInterface#TAG_DATETIME_ORIGINAL} and
|
||||
* {@code ExifInterface#TAG_OFFSET_TIME_ORIGINAL} to reliably determine
|
||||
* this value in relation to the epoch.
|
||||
*/
|
||||
@CurrentTimeMillisLong
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
@@ -988,17 +965,6 @@ public final class MediaStore {
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
public static final String MIME_TYPE = "mime_type";
|
||||
|
||||
/**
|
||||
* The MTP object handle of a newly transfered file.
|
||||
* Used to pass the new file's object handle through the media scanner
|
||||
* from MTP to the media provider
|
||||
* For internal use only by MTP, media scanner and media provider.
|
||||
* @hide
|
||||
*/
|
||||
@Deprecated
|
||||
// @Column(Cursor.FIELD_TYPE_INTEGER)
|
||||
public static final String MEDIA_SCANNER_NEW_OBJECT_ID = "media_scanner_new_object_id";
|
||||
|
||||
/**
|
||||
* Non-zero if the media file is drm-protected
|
||||
* @hide
|
||||
@@ -1012,6 +978,10 @@ public final class MediaStore {
|
||||
* Flag indicating if a media item is pending, and still being inserted
|
||||
* by its owner. While this flag is set, only the owner of the item can
|
||||
* open the underlying file; requests from other apps will be rejected.
|
||||
* <p>
|
||||
* Pending items are retained either until they are published by setting
|
||||
* the field to {@code 0}, or until they expire as defined by
|
||||
* {@link #DATE_EXPIRES}.
|
||||
*
|
||||
* @see MediaStore#setIncludePending(Uri)
|
||||
*/
|
||||
@@ -1020,37 +990,53 @@ public final class MediaStore {
|
||||
|
||||
/**
|
||||
* Flag indicating if a media item is trashed.
|
||||
* <p>
|
||||
* Trashed items are retained until they expire as defined by
|
||||
* {@link #DATE_EXPIRES}.
|
||||
*
|
||||
* @see MediaColumns#IS_TRASHED
|
||||
* @see MediaStore#setIncludeTrashed(Uri)
|
||||
* @see MediaStore#trash(Context, Uri)
|
||||
* @see MediaStore#untrash(Context, Uri)
|
||||
* @removed
|
||||
*/
|
||||
@Deprecated
|
||||
@Column(Cursor.FIELD_TYPE_INTEGER)
|
||||
public static final String IS_TRASHED = "is_trashed";
|
||||
|
||||
/**
|
||||
* The time the media item should be considered expired. Typically only
|
||||
* meaningful in the context of {@link #IS_PENDING}.
|
||||
* meaningful in the context of {@link #IS_PENDING} or
|
||||
* {@link #IS_TRASHED}.
|
||||
*/
|
||||
@CurrentTimeSecondsLong
|
||||
@Column(Cursor.FIELD_TYPE_INTEGER)
|
||||
public static final String DATE_EXPIRES = "date_expires";
|
||||
|
||||
/**
|
||||
* The width of the media item, in pixels.
|
||||
* Indexed value of
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_VIDEO_WIDTH},
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_IMAGE_WIDTH} or
|
||||
* {@link ExifInterface#TAG_IMAGE_WIDTH} extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String WIDTH = "width";
|
||||
|
||||
/**
|
||||
* The height of the media item, in pixels.
|
||||
* Indexed value of
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_VIDEO_HEIGHT},
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_IMAGE_HEIGHT} or
|
||||
* {@link ExifInterface#TAG_IMAGE_LENGTH} extracted from this media
|
||||
* item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String HEIGHT = "height";
|
||||
|
||||
/**
|
||||
* Calculated value that combines {@link #WIDTH} and {@link #HEIGHT}
|
||||
* into a user-presentable string.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String RESOLUTION = "resolution";
|
||||
|
||||
/**
|
||||
* Package name that contributed this media. The value may be
|
||||
* {@code NULL} if ownership cannot be reliably determined.
|
||||
@@ -1096,28 +1082,6 @@ public final class MediaStore {
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
public static final String RELATIVE_PATH = "relative_path";
|
||||
|
||||
/**
|
||||
* The primary directory name this media exists under. The value may be
|
||||
* {@code NULL} if the media doesn't have a primary directory name.
|
||||
*
|
||||
* @removed
|
||||
* @deprecated Replaced by {@link #RELATIVE_PATH}.
|
||||
*/
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
@Deprecated
|
||||
public static final String PRIMARY_DIRECTORY = "primary_directory";
|
||||
|
||||
/**
|
||||
* The secondary directory name this media exists under. The value may
|
||||
* be {@code NULL} if the media doesn't have a secondary directory name.
|
||||
*
|
||||
* @removed
|
||||
* @deprecated Replaced by {@link #RELATIVE_PATH}.
|
||||
*/
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
@Deprecated
|
||||
public static final String SECONDARY_DIRECTORY = "secondary_directory";
|
||||
|
||||
/**
|
||||
* The primary bucket ID of this media item. This can be useful to
|
||||
* present the user a first-level clustering of related media items.
|
||||
@@ -1191,18 +1155,171 @@ public final class MediaStore {
|
||||
public static final String ORIGINAL_DOCUMENT_ID = "original_document_id";
|
||||
|
||||
/**
|
||||
* The duration of the media item.
|
||||
* Indexed value of
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_VIDEO_ROTATION},
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_IMAGE_ROTATION}, or
|
||||
* {@link ExifInterface#TAG_ORIENTATION} extracted from this media item.
|
||||
* <p>
|
||||
* For consistency the indexed value is expressed in degrees, such as 0,
|
||||
* 90, 180, or 270.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String ORIENTATION = "orientation";
|
||||
|
||||
/**
|
||||
* Flag indicating if the media item has been marked as being a
|
||||
* "favorite" by the user.
|
||||
*/
|
||||
@Column(Cursor.FIELD_TYPE_INTEGER)
|
||||
public static final String IS_FAVORITE = "is_favorite";
|
||||
|
||||
// =======================================
|
||||
// ==== MediaMetadataRetriever values ====
|
||||
// =======================================
|
||||
|
||||
/**
|
||||
* Indexed value of
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_CD_TRACK_NUMBER} extracted
|
||||
* from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String CD_TRACK_NUMBER = "cd_track_number";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_ALBUM}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String ALBUM = "album";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_ARTIST}
|
||||
* or {@link ExifInterface#TAG_ARTIST} extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String ARTIST = "artist";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_AUTHOR}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String AUTHOR = "author";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_COMPOSER}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String COMPOSER = "composer";
|
||||
|
||||
// METADATA_KEY_DATE is DATE_TAKEN
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_GENRE}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String GENRE = "genre";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_TITLE}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String TITLE = "title";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_YEAR}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String YEAR = "year";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_DURATION}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@DurationMillisLong
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String DURATION = "duration";
|
||||
|
||||
/**
|
||||
* The orientation for the media item, expressed in degrees. For
|
||||
* example, 0, 90, 180, or 270 degrees.
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_NUM_TRACKS}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String ORIENTATION = "orientation";
|
||||
public static final String NUM_TRACKS = "num_tracks";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_WRITER}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String WRITER = "writer";
|
||||
|
||||
// METADATA_KEY_MIMETYPE is MIME_TYPE
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_ALBUMARTIST}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String ALBUM_ARTIST = "album_artist";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_DISC_NUMBER}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String DISC_NUMBER = "disc_number";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_COMPILATION}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String COMPILATION = "compilation";
|
||||
|
||||
// HAS_AUDIO is ignored
|
||||
// HAS_VIDEO is ignored
|
||||
// VIDEO_WIDTH is WIDTH
|
||||
// VIDEO_HEIGHT is HEIGHT
|
||||
|
||||
/**
|
||||
* Indexed value of {@link MediaMetadataRetriever#METADATA_KEY_BITRATE}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String BITRATE = "bitrate";
|
||||
|
||||
// TIMED_TEXT_LANGUAGES is ignored
|
||||
// IS_DRM is ignored
|
||||
// LOCATION is LATITUDE and LONGITUDE
|
||||
// VIDEO_ROTATION is ORIENTATION
|
||||
|
||||
/**
|
||||
* Indexed value of
|
||||
* {@link MediaMetadataRetriever#METADATA_KEY_CAPTURE_FRAMERATE}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_FLOAT, readOnly = true)
|
||||
public static final String CAPTURE_FRAMERATE = "capture_framerate";
|
||||
|
||||
// HAS_IMAGE is ignored
|
||||
// IMAGE_COUNT is ignored
|
||||
// IMAGE_PRIMARY is ignored
|
||||
// IMAGE_WIDTH is WIDTH
|
||||
// IMAGE_HEIGHT is HEIGHT
|
||||
// IMAGE_ROTATION is ORIENTATION
|
||||
// VIDEO_FRAME_COUNT is ignored
|
||||
// EXIF_OFFSET is ignored
|
||||
// EXIF_LENGTH is ignored
|
||||
// COLOR_STANDARD is ignored
|
||||
// COLOR_TRANSFER is ignored
|
||||
// COLOR_RANGE is ignored
|
||||
// SAMPLERATE is ignored
|
||||
// BITS_PER_SAMPLE is ignored
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1331,10 +1448,7 @@ public final class MediaStore {
|
||||
@Column(Cursor.FIELD_TYPE_STRING)
|
||||
public static final String MIME_TYPE = "mime_type";
|
||||
|
||||
/**
|
||||
* The title of the media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String TITLE = "title";
|
||||
|
||||
/**
|
||||
@@ -1588,12 +1702,6 @@ public final class MediaStore {
|
||||
* Image metadata columns.
|
||||
*/
|
||||
public interface ImageColumns extends MediaColumns {
|
||||
/**
|
||||
* The description of the image
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String DESCRIPTION = "description";
|
||||
|
||||
/**
|
||||
* The picasa id of the image
|
||||
*
|
||||
@@ -1656,6 +1764,34 @@ public final class MediaStore {
|
||||
public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String GROUP_ID = "group_id";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link ExifInterface#TAG_IMAGE_DESCRIPTION}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String DESCRIPTION = "description";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link ExifInterface#TAG_EXPOSURE_TIME}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String EXPOSURE_TIME = "exposure_time";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link ExifInterface#TAG_F_NUMBER}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String F_NUMBER = "f_number";
|
||||
|
||||
/**
|
||||
* Indexed value of {@link ExifInterface#TAG_ISO_SPEED_RATINGS}
|
||||
* extracted from this media item.
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String ISO = "iso";
|
||||
}
|
||||
|
||||
public static final class Media implements ImageColumns {
|
||||
@@ -2093,10 +2229,7 @@ public final class MediaStore {
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String ARTIST_ID = "artist_id";
|
||||
|
||||
/**
|
||||
* The artist who created the audio file, if any
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String ARTIST = "artist";
|
||||
|
||||
/**
|
||||
@@ -2106,14 +2239,6 @@ public final class MediaStore {
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String ALBUM_ARTIST = "album_artist";
|
||||
|
||||
/**
|
||||
* Whether the song is part of a compilation
|
||||
* @hide
|
||||
*/
|
||||
@Deprecated
|
||||
// @Column(Cursor.FIELD_TYPE_STRING)
|
||||
public static final String COMPILATION = "compilation";
|
||||
|
||||
/**
|
||||
* A non human readable key calculated from the ARTIST, used for
|
||||
* searching, sorting and grouping
|
||||
@@ -2131,10 +2256,7 @@ public final class MediaStore {
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
public static final String ARTIST_KEY = "artist_key";
|
||||
|
||||
/**
|
||||
* The composer of the audio file, if any
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String COMPOSER = "composer";
|
||||
|
||||
/**
|
||||
@@ -2143,10 +2265,7 @@ public final class MediaStore {
|
||||
@Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
|
||||
public static final String ALBUM_ID = "album_id";
|
||||
|
||||
/**
|
||||
* The album the audio file is from, if any
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String ALBUM = "album";
|
||||
|
||||
/**
|
||||
@@ -2973,23 +3092,11 @@ public final class MediaStore {
|
||||
public interface VideoColumns extends MediaColumns {
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String DURATION = "duration";
|
||||
|
||||
/**
|
||||
* The artist who created the video file, if any
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String ARTIST = "artist";
|
||||
|
||||
/**
|
||||
* The album the video file is from, if any
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String ALBUM = "album";
|
||||
|
||||
/**
|
||||
* The resolution of the video file, formatted as "XxY"
|
||||
*/
|
||||
@Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
|
||||
/** @removed promoted to parent interface */
|
||||
public static final String RESOLUTION = "resolution";
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user