From 523415e814a04e2012de2ebc22028c422c5b913f Mon Sep 17 00:00:00 2001 From: Jae Seo Date: Wed, 25 Jan 2017 15:09:49 -0800 Subject: [PATCH] TIF: Add more fields needed for new content recommendation Test: build Bug: 34160270 Change-Id: Ibb40ed39573049ace180ae319cebe96222f84b00 --- api/current.txt | 16 ++ api/system-current.txt | 16 ++ api/test-current.txt | 16 ++ media/java/android/media/tv/TvContract.java | 166 ++++++++++++++++++++ 4 files changed, 214 insertions(+) diff --git a/api/current.txt b/api/current.txt index e50a72b1c7b81..9a3715e7b7217 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23851,8 +23851,16 @@ package android.media.tv { } public static final class TvContract.Programs implements android.media.tv.TvContract.BaseTvColumns { + field public static final java.lang.String ASPECT_RATIO_16_9 = "ASPECT_RATIO_16_9"; + field public static final java.lang.String ASPECT_RATIO_1_1 = "ASPECT_RATIO_1_1"; + field public static final java.lang.String ASPECT_RATIO_2_3 = "ASPECT_RATIO_2_3"; + field public static final java.lang.String ASPECT_RATIO_3_2 = "ASPECT_RATIO_3_2"; + field public static final java.lang.String AVAILABILITY_AVAILABLE = "AVAILABILITY_AVAILABLE"; + field public static final java.lang.String AVAILABILITY_FREE_WITH_SUBSCRIPTION = "AVAILABILITY_FREE_WITH_SUBSCRIPTION"; + field public static final java.lang.String AVAILABILITY_PAID_CONTENT = "AVAILABILITY_PAID_CONTENT"; field public static final java.lang.String COLUMN_AUDIO_LANGUAGE = "audio_language"; field public static final java.lang.String COLUMN_AUTHOR = "author"; + field public static final java.lang.String COLUMN_AVAILABILITY = "availability"; field public static final java.lang.String COLUMN_BROADCAST_GENRE = "broadcast_genre"; field public static final java.lang.String COLUMN_CANONICAL_GENRE = "canonical_genre"; field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; @@ -23869,7 +23877,12 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id"; + field public static final java.lang.String COLUMN_ITEM_COUNT = "item_count"; + field public static final java.lang.String COLUMN_LIVE = "live"; + field public static final java.lang.String COLUMN_LOGO = "logo"; field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; + field public static final java.lang.String COLUMN_OFFER_PRICE = "offer_price"; + field public static final java.lang.String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_PREVIEW_DURATION = "preview_duration"; field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; @@ -23877,6 +23890,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri"; field public static final java.lang.String COLUMN_PREVIEW_WEIGHT = "preview_weight"; field public static final java.lang.String COLUMN_RECORDING_PROHIBITED = "recording_prohibited"; + field public static final java.lang.String COLUMN_RELEASE_DATE = "release_date"; field public static final java.lang.String COLUMN_REVIEW_RATING = "review_rating"; field public static final java.lang.String COLUMN_REVIEW_RATING_STYLE = "review_rating_style"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; @@ -23884,7 +23898,9 @@ package android.media.tv { field public static final deprecated java.lang.String COLUMN_SEASON_NUMBER = "season_number"; field public static final java.lang.String COLUMN_SEASON_TITLE = "season_title"; field public static final java.lang.String COLUMN_SHORT_DESCRIPTION = "short_description"; + field public static final java.lang.String COLUMN_STARTING_PRICE = "starting_price"; field public static final java.lang.String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"; + field public static final java.lang.String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; field public static final java.lang.String COLUMN_TITLE = "title"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; diff --git a/api/system-current.txt b/api/system-current.txt index d1ecf956ffe98..1994e68a72c9c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -25598,8 +25598,16 @@ package android.media.tv { } public static final class TvContract.Programs implements android.media.tv.TvContract.BaseTvColumns { + field public static final java.lang.String ASPECT_RATIO_16_9 = "ASPECT_RATIO_16_9"; + field public static final java.lang.String ASPECT_RATIO_1_1 = "ASPECT_RATIO_1_1"; + field public static final java.lang.String ASPECT_RATIO_2_3 = "ASPECT_RATIO_2_3"; + field public static final java.lang.String ASPECT_RATIO_3_2 = "ASPECT_RATIO_3_2"; + field public static final java.lang.String AVAILABILITY_AVAILABLE = "AVAILABILITY_AVAILABLE"; + field public static final java.lang.String AVAILABILITY_FREE_WITH_SUBSCRIPTION = "AVAILABILITY_FREE_WITH_SUBSCRIPTION"; + field public static final java.lang.String AVAILABILITY_PAID_CONTENT = "AVAILABILITY_PAID_CONTENT"; field public static final java.lang.String COLUMN_AUDIO_LANGUAGE = "audio_language"; field public static final java.lang.String COLUMN_AUTHOR = "author"; + field public static final java.lang.String COLUMN_AVAILABILITY = "availability"; field public static final java.lang.String COLUMN_BROADCAST_GENRE = "broadcast_genre"; field public static final java.lang.String COLUMN_CANONICAL_GENRE = "canonical_genre"; field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; @@ -25616,7 +25624,12 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id"; + field public static final java.lang.String COLUMN_ITEM_COUNT = "item_count"; + field public static final java.lang.String COLUMN_LIVE = "live"; + field public static final java.lang.String COLUMN_LOGO = "logo"; field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; + field public static final java.lang.String COLUMN_OFFER_PRICE = "offer_price"; + field public static final java.lang.String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_PREVIEW_DURATION = "preview_duration"; field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; @@ -25624,6 +25637,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri"; field public static final java.lang.String COLUMN_PREVIEW_WEIGHT = "preview_weight"; field public static final java.lang.String COLUMN_RECORDING_PROHIBITED = "recording_prohibited"; + field public static final java.lang.String COLUMN_RELEASE_DATE = "release_date"; field public static final java.lang.String COLUMN_REVIEW_RATING = "review_rating"; field public static final java.lang.String COLUMN_REVIEW_RATING_STYLE = "review_rating_style"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; @@ -25631,7 +25645,9 @@ package android.media.tv { field public static final deprecated java.lang.String COLUMN_SEASON_NUMBER = "season_number"; field public static final java.lang.String COLUMN_SEASON_TITLE = "season_title"; field public static final java.lang.String COLUMN_SHORT_DESCRIPTION = "short_description"; + field public static final java.lang.String COLUMN_STARTING_PRICE = "starting_price"; field public static final java.lang.String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"; + field public static final java.lang.String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; field public static final java.lang.String COLUMN_TITLE = "title"; field public static final java.lang.String COLUMN_TRANSIENT = "transient"; diff --git a/api/test-current.txt b/api/test-current.txt index 556bd4179f815..c2b1b87cda92c 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -23942,8 +23942,16 @@ package android.media.tv { } public static final class TvContract.Programs implements android.media.tv.TvContract.BaseTvColumns { + field public static final java.lang.String ASPECT_RATIO_16_9 = "ASPECT_RATIO_16_9"; + field public static final java.lang.String ASPECT_RATIO_1_1 = "ASPECT_RATIO_1_1"; + field public static final java.lang.String ASPECT_RATIO_2_3 = "ASPECT_RATIO_2_3"; + field public static final java.lang.String ASPECT_RATIO_3_2 = "ASPECT_RATIO_3_2"; + field public static final java.lang.String AVAILABILITY_AVAILABLE = "AVAILABILITY_AVAILABLE"; + field public static final java.lang.String AVAILABILITY_FREE_WITH_SUBSCRIPTION = "AVAILABILITY_FREE_WITH_SUBSCRIPTION"; + field public static final java.lang.String AVAILABILITY_PAID_CONTENT = "AVAILABILITY_PAID_CONTENT"; field public static final java.lang.String COLUMN_AUDIO_LANGUAGE = "audio_language"; field public static final java.lang.String COLUMN_AUTHOR = "author"; + field public static final java.lang.String COLUMN_AVAILABILITY = "availability"; field public static final java.lang.String COLUMN_BROADCAST_GENRE = "broadcast_genre"; field public static final java.lang.String COLUMN_CANONICAL_GENRE = "canonical_genre"; field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; @@ -23960,7 +23968,12 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id"; + field public static final java.lang.String COLUMN_ITEM_COUNT = "item_count"; + field public static final java.lang.String COLUMN_LIVE = "live"; + field public static final java.lang.String COLUMN_LOGO = "logo"; field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; + field public static final java.lang.String COLUMN_OFFER_PRICE = "offer_price"; + field public static final java.lang.String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_PREVIEW_DURATION = "preview_duration"; field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; @@ -23968,6 +23981,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri"; field public static final java.lang.String COLUMN_PREVIEW_WEIGHT = "preview_weight"; field public static final java.lang.String COLUMN_RECORDING_PROHIBITED = "recording_prohibited"; + field public static final java.lang.String COLUMN_RELEASE_DATE = "release_date"; field public static final java.lang.String COLUMN_REVIEW_RATING = "review_rating"; field public static final java.lang.String COLUMN_REVIEW_RATING_STYLE = "review_rating_style"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; @@ -23975,7 +23989,9 @@ package android.media.tv { field public static final deprecated java.lang.String COLUMN_SEASON_NUMBER = "season_number"; field public static final java.lang.String COLUMN_SEASON_TITLE = "season_title"; field public static final java.lang.String COLUMN_SHORT_DESCRIPTION = "short_description"; + field public static final java.lang.String COLUMN_STARTING_PRICE = "starting_price"; field public static final java.lang.String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"; + field public static final java.lang.String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; field public static final java.lang.String COLUMN_TITLE = "title"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java index 44f31526d1ada..436b9d0797ddf 100644 --- a/media/java/android/media/tv/TvContract.java +++ b/media/java/android/media/tv/TvContract.java @@ -1087,6 +1087,61 @@ public final class TvContract { /** The MIME type of a single TV program. */ public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program"; + /** + * The aspect ratio for 16:9. + * + * @see #COLUMN_POSTER_ART_ASPECT_RATIO + * @see #COLUMN_THUMBNAIL_ASPECT_RATIO + */ + public static final String ASPECT_RATIO_16_9 = "ASPECT_RATIO_16_9"; + + /** + * The aspect ratio for 3:2. + * + * @see #COLUMN_POSTER_ART_ASPECT_RATIO + * @see #COLUMN_THUMBNAIL_ASPECT_RATIO + */ + public static final String ASPECT_RATIO_3_2 = "ASPECT_RATIO_3_2"; + + /** + * The aspect ratio for 1:1. + * + * @see #COLUMN_POSTER_ART_ASPECT_RATIO + * @see #COLUMN_THUMBNAIL_ASPECT_RATIO + */ + public static final String ASPECT_RATIO_1_1 = "ASPECT_RATIO_1_1"; + + /** + * The aspect ratio for 2:3. + * + * @see #COLUMN_POSTER_ART_ASPECT_RATIO + * @see #COLUMN_THUMBNAIL_ASPECT_RATIO + */ + public static final String ASPECT_RATIO_2_3 = "ASPECT_RATIO_2_3"; + + /** + * The availability for "available to this user". + * + * @see #COLUMN_AVAILABILITY + */ + public static final String AVAILABILITY_AVAILABLE = "AVAILABILITY_AVAILABLE"; + + /** + * The availability for "free with subscription". + * + * @see #COLUMN_AVAILABILITY + */ + public static final String AVAILABILITY_FREE_WITH_SUBSCRIPTION = + "AVAILABILITY_FREE_WITH_SUBSCRIPTION"; + + /** + * The availability for "paid content, either to-own or rental + * (user has not purchased/rented). + * + * @see #COLUMN_AVAILABILITY + */ + public static final String AVAILABILITY_PAID_CONTENT = "AVAILABILITY_PAID_CONTENT"; + /** * The interaction type for "listens". * @@ -1400,6 +1455,19 @@ public final class TvContract { */ public static final String COLUMN_POSTER_ART_URI = "poster_art_uri"; + /** + * The aspect ratio of the poster art for this TV program. + * + *

The value should match one of the followings: + * {@link #ASPECT_RATIO_16_9}, + * {@link #ASPECT_RATIO_3_2}, + * {@link #ASPECT_RATIO_1_1}, and + * {@link #ASPECT_RATIO_2_3}. + * + *

Type: TEXT + */ + public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio"; + /** * The URI for the thumbnail of this TV program. * @@ -1422,6 +1490,104 @@ public final class TvContract { */ public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; + /** + * The aspect ratio of the thumbnail for this TV program. + * + *

The value should match one of the followings: + * {@link #ASPECT_RATIO_16_9}, + * {@link #ASPECT_RATIO_3_2}, + * {@link #ASPECT_RATIO_1_1}, and + * {@link #ASPECT_RATIO_2_3}. + * + *

Type: TEXT + */ + public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio"; + + /** + * The URI for the logo of this TV program. + * + *

This is a small badge shown on top of the poster art or thumbnail representing the + * source of the content. + * + *

The data in the column must be a URL, or a URI in one of the following formats: + * + *

+ * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_LOGO = "logo"; + + /** + * The availability of this TV program. + * + *

The value should match one of the followings: + * {@link #AVAILABILITY_AVAILABLE}, + * {@link #AVAILABILITY_FREE_WITH_SUBSCRIPTION}, and + * {@link #AVAILABILITY_PAID_CONTENT}. + * + *

Type: TEXT + */ + public static final String COLUMN_AVAILABILITY = "availability"; + + /** + * The starting price of this TV program. + * + *

This indicates the lowest regular acquisition cost of the content. It is only used + * if the availability of the program is {@link #AVAILABILITY_PAID_CONTENT}. + * + *

Type: TEXT + * @see #COLUMN_OFFER_PRICE + */ + public static final String COLUMN_STARTING_PRICE = "starting_price"; + + /** + * The offer price of this TV program. + * + *

This is the promotional cost of the content. It is only used if the availability of + * the program is {@link #AVAILABILITY_PAID_CONTENT}. + * + *

Type: TEXT + * @see #COLUMN_STARTING_PRICE + */ + public static final String COLUMN_OFFER_PRICE = "offer_price"; + + /** + * The release date of this TV program. + * + *

The value should be in the form of either "yyyy-MM-dd" or "yyyy". + * + *

Type: TEXT + */ + public static final String COLUMN_RELEASE_DATE = "release_date"; + + /** + * The count of the items included in this TV program. + * + *

This is only relevant if the program represents a collection of items such as series, + * episodes, or music tracks. + * + *

Type: INTEGER + */ + public static final String COLUMN_ITEM_COUNT = "item_count"; + + /** + * The flag indicating whether this TV program is live or not. + * + *

A value of 1 indicates that the content is airing and should be consumed now, a value + * of 0 indicates that the content is off the air and does not need to be consumed at the + * present time. If not specified, the value is set to 0 (not live) by default. + * + *

Type: INTEGER (boolean) + */ + public static final String COLUMN_LIVE = "live"; + /** * The flag indicating whether this TV program is searchable or not. *