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

Commit fc246152 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Promote generic columns up to MediaColumns.

Based on feedback from developers, they need to query these columns
on the general "Files" table, so we need to promote them to the
general "MediaColumns" common interface to make them available.

Bug: 130254706
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: I66afa14799ae42deea519d121177b2c8469889ab
parent 89082d70
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -38591,7 +38591,6 @@ package android.provider {
    field 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 DURATION = "duration";
    field public static final String IS_ALARM = "is_alarm";
    field public static final String IS_AUDIOBOOK = "is_audiobook";
    field public static final String IS_MUSIC = "is_music";
@@ -38709,16 +38708,11 @@ package android.provider {
  }
  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";
    field public static final String DATE_TAKEN = "datetaken";
    field public static final String DESCRIPTION = "description";
    field public static final String GROUP_ID = "group_id";
    field public static final String IS_PRIVATE = "isprivate";
    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 ORIENTATION = "orientation";
    field @Deprecated public static final String PICASA_ID = "picasa_id";
  }
@@ -38762,16 +38756,22 @@ package android.provider {
  }
  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
    field public static final String BUCKET_ID = "bucket_id";
    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 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 GROUP_ID = "group_id";
    field public static final String HEIGHT = "height";
    field public static final String INSTANCE_ID = "instance_id";
    field public static final String IS_PENDING = "is_pending";
    field public static final String MIME_TYPE = "mime_type";
    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";
@@ -38820,13 +38820,8 @@ package android.provider {
    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 BUCKET_DISPLAY_NAME = "bucket_display_name";
    field public static final String BUCKET_ID = "bucket_id";
    field public static final String CATEGORY = "category";
    field public static final String DATE_TAKEN = "datetaken";
    field public static final String DESCRIPTION = "description";
    field public static final String DURATION = "duration";
    field public static final String GROUP_ID = "group_id";
    field public static final String IS_PRIVATE = "isprivate";
    field public static final String LANGUAGE = "language";
    field @Deprecated public static final String LATITUDE = "latitude";
+20 −0
Original line number Diff line number Diff line
@@ -522,6 +522,18 @@ package android.provider {
    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 DURATION = "duration";
  }

  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";
    field public static final String DATE_TAKEN = "datetaken";
    field public static final String GROUP_ID = "group_id";
    field public static final String ORIENTATION = "orientation";
  }

  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
    field @Deprecated public static final String HASH = "_hash";
    field @Deprecated public static final String IS_TRASHED = "is_trashed";
@@ -546,6 +558,14 @@ package android.provider {
    method @NonNull public android.net.Uri publish();
  }

  public static interface MediaStore.Video.VideoColumns 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";
    field public static final String DATE_TAKEN = "datetaken";
    field public static final String DURATION = "duration";
    field public static final String GROUP_ID = "group_id";
  }

  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
    field @Deprecated public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync";
  }
+64 −83
Original line number Diff line number Diff line
@@ -967,6 +967,13 @@ public final class MediaStore {
        @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
        public static final String DATE_MODIFIED = "date_modified";

        /**
         * The time the media item was taken.
         */
        @CurrentTimeMillisLong
        @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
        public static final String DATE_TAKEN = "datetaken";

        /**
         * The MIME type of the media item.
         * <p>
@@ -1116,6 +1123,38 @@ public final class MediaStore {
        @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.
         * This is a read-only column that is automatically computed.
         */
        @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
        public static final String BUCKET_ID = "bucket_id";

        /**
         * The primary bucket display name of this media item. This can be
         * useful to present the user a first-level clustering of related
         * media items. This is a read-only column that is automatically
         * computed.
         */
        @Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
        public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";

        /**
         * The group ID of this media item. This can be useful to present
         * the user a grouping of related media items, such a burst of
         * images, or a {@code JPG} and {@code DNG} version of the same
         * image.
         * <p>
         * This is a read-only column that is automatically computed based
         * on the first portion of the filename. For example,
         * {@code IMG1024.BURST001.JPG} and {@code IMG1024.BURST002.JPG}
         * will have the same {@link #GROUP_ID} because the first portion of
         * their filenames is identical.
         */
        @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
        public static final String GROUP_ID = "group_id";

        /**
         * The "document ID" GUID as defined by the <em>XMP Media
         * Management</em> standard, extracted from any XMP metadata contained
@@ -1152,6 +1191,20 @@ public final class MediaStore {
         */
        @Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
        public static final String ORIGINAL_DOCUMENT_ID = "original_document_id";

        /**
         * The duration of the 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.
         */
        @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
        public static final String ORIENTATION = "orientation";
    }

    /**
@@ -1573,18 +1626,9 @@ public final class MediaStore {
            @Column(value = Cursor.FIELD_TYPE_FLOAT, readOnly = true)
            public static final String LONGITUDE = "longitude";

            /**
             * The time the media item was taken.
             */
            @CurrentTimeMillisLong
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String DATE_TAKEN = "datetaken";

            /**
             * The orientation for the image expressed as degrees.
             * Only degrees 0, 90, 180, 270 will work.
             */
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String ORIENTATION = "orientation";

            /**
@@ -1598,36 +1642,11 @@ public final class MediaStore {
            @Column(Cursor.FIELD_TYPE_INTEGER)
            public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";

            /**
             * The primary bucket ID of this media item. This can be useful to
             * present the user a first-level clustering of related media items.
             * This is a read-only column that is automatically computed.
             */
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String BUCKET_ID = "bucket_id";

            /**
             * The primary bucket display name of this media item. This can be
             * useful to present the user a first-level clustering of related
             * media items. This is a read-only column that is automatically
             * computed.
             */
            @Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";

            /**
             * The group ID of this media item. This can be useful to present
             * the user a grouping of related media items, such a burst of
             * images, or a {@code JPG} and {@code DNG} version of the same
             * image.
             * <p>
             * This is a read-only column that is automatically computed based
             * on the first portion of the filename. For example,
             * {@code IMG1024.BURST001.JPG} and {@code IMG1024.BURST002.JPG}
             * will have the same {@link #GROUP_ID} because the first portion of
             * their filenames is identical.
             */
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String GROUP_ID = "group_id";
        }

@@ -2048,11 +2067,7 @@ public final class MediaStore {
            @Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
            public static final String TITLE_KEY = "title_key";

            /**
             * The duration of the audio item.
             */
            @DurationMillisLong
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String DURATION = "duration";

            /**
@@ -2885,12 +2900,7 @@ public final class MediaStore {
         * Video metadata columns.
         */
        public interface VideoColumns extends MediaColumns {

            /**
             * The duration of the video item.
             */
            @DurationMillisLong
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String DURATION = "duration";

            /**
@@ -2965,11 +2975,7 @@ public final class MediaStore {
            @Column(value = Cursor.FIELD_TYPE_FLOAT, readOnly = true)
            public static final String LONGITUDE = "longitude";

            /**
             * The time the media item was taken.
             */
            @CurrentTimeMillisLong
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String DATE_TAKEN = "datetaken";

            /**
@@ -2983,36 +2989,11 @@ public final class MediaStore {
            @Column(Cursor.FIELD_TYPE_INTEGER)
            public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";

            /**
             * The primary bucket ID of this media item. This can be useful to
             * present the user a first-level clustering of related media items.
             * This is a read-only column that is automatically computed.
             */
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String BUCKET_ID = "bucket_id";

            /**
             * The primary bucket display name of this media item. This can be
             * useful to present the user a first-level clustering of related
             * media items. This is a read-only column that is automatically
             * computed.
             */
            @Column(value = Cursor.FIELD_TYPE_STRING, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";

            /**
             * The group ID of this media item. This can be useful to present
             * the user a grouping of related media items, such a burst of
             * images, or a {@code JPG} and {@code DNG} version of the same
             * image.
             * <p>
             * This is a read-only column that is automatically computed based
             * on the first portion of the filename. For example,
             * {@code IMG1024.BURST001.JPG} and {@code IMG1024.BURST002.JPG}
             * will have the same {@link #GROUP_ID} because the first portion of
             * their filenames is identical.
             */
            @Column(value = Cursor.FIELD_TYPE_INTEGER, readOnly = true)
            /** @removed promoted to parent interface */
            public static final String GROUP_ID = "group_id";

            /**