From 523415e814a04e2012de2ebc22028c422c5b913f Mon Sep 17 00:00:00 2001 From: Jae Seo Date: Wed, 25 Jan 2017 15:09:49 -0800 Subject: [PATCH 1/2] 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. * From 434602faa9284eee9f3559f6aa8b1ee4e6ba4bee Mon Sep 17 00:00:00 2001 From: Jae Seo Date: Wed, 25 Jan 2017 17:32:17 -0800 Subject: [PATCH 2/2] TIF: Add types and "watch next" types for programs Test: build Bug: 34160270 Change-Id: I50bf7c36e33cd24bf80785150a2858cfec683546 --- api/current.txt | 19 ++- api/system-current.txt | 19 ++- api/test-current.txt | 19 ++- media/java/android/media/tv/TvContract.java | 151 +++++++++++++++++++- 4 files changed, 201 insertions(+), 7 deletions(-) diff --git a/api/current.txt b/api/current.txt index 9a3715e7b7217..fbb94ef7bd97d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23903,9 +23903,11 @@ package android.media.tv { 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_TYPE = "type"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; field public static final java.lang.String COLUMN_VIDEO_HEIGHT = "video_height"; field public static final java.lang.String COLUMN_VIDEO_WIDTH = "video_width"; + field public static final java.lang.String COLUMN_WATCH_NEXT_TYPE = "watch_next_type"; field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program"; field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/program"; field public static final android.net.Uri CONTENT_URI; @@ -23918,7 +23920,22 @@ package android.media.tv { field public static final java.lang.String INTERACTION_TYPE_VIEWS = "INTERACTION_TYPE_VIEWS"; field public static final java.lang.String REVIEW_RATING_STYLE_PERCENTAGE = "REVIEW_RATING_STYLE_PERCENTAGE"; field public static final java.lang.String REVIEW_RATING_STYLE_STARS = "REVIEW_RATING_STYLE_STARS"; - field public static final java.lang.String REVIEW_RATING_STYLE_THUMPS_UP_DOWN = "REVIEW_RATING_STYLE_THUMPS_UP_DOWN"; + field public static final java.lang.String REVIEW_RATING_STYLE_THUMBS_UP_DOWN = "REVIEW_RATING_STYLE_THUMBS_UP_DOWN"; + field public static final java.lang.String TYPE_ALBUM = "TYPE_ALBUM"; + field public static final java.lang.String TYPE_ARTIST = "TYPE_ARTIST"; + field public static final java.lang.String TYPE_CHANNEL = "TYPE_CHANNEL"; + field public static final java.lang.String TYPE_CLIP = "TYPE_CLIP"; + field public static final java.lang.String TYPE_EVENT = "TYPE_EVENT"; + field public static final java.lang.String TYPE_MOVIE = "TYPE_MOVIE"; + field public static final java.lang.String TYPE_PLAYLIST = "TYPE_PLAYLIST"; + field public static final java.lang.String TYPE_STATION = "TYPE_STATION"; + field public static final java.lang.String TYPE_TRACK = "TYPE_TRACK"; + field public static final java.lang.String TYPE_TV_EPISODE = "TYPE_TV_EPISODE"; + field public static final java.lang.String TYPE_TV_SEASON = "TYPE_TV_SEASON"; + field public static final java.lang.String TYPE_TV_SERIES = "TYPE_TV_SERIES"; + field public static final java.lang.String WATCH_NEXT_TYPE_CONTINUE = "WATCH_NEXT_TYPE_CONTINUE"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEW = "WATCH_NEXT_TYPE_NEW"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEXT = "WATCH_NEXT_TYPE_NEXT"; } public static final class TvContract.Programs.Genres { diff --git a/api/system-current.txt b/api/system-current.txt index 1994e68a72c9c..15ec06512cb99 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -25651,9 +25651,11 @@ package android.media.tv { 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"; + field public static final java.lang.String COLUMN_TYPE = "type"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; field public static final java.lang.String COLUMN_VIDEO_HEIGHT = "video_height"; field public static final java.lang.String COLUMN_VIDEO_WIDTH = "video_width"; + field public static final java.lang.String COLUMN_WATCH_NEXT_TYPE = "watch_next_type"; field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program"; field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/program"; field public static final android.net.Uri CONTENT_URI; @@ -25666,7 +25668,22 @@ package android.media.tv { field public static final java.lang.String INTERACTION_TYPE_VIEWS = "INTERACTION_TYPE_VIEWS"; field public static final java.lang.String REVIEW_RATING_STYLE_PERCENTAGE = "REVIEW_RATING_STYLE_PERCENTAGE"; field public static final java.lang.String REVIEW_RATING_STYLE_STARS = "REVIEW_RATING_STYLE_STARS"; - field public static final java.lang.String REVIEW_RATING_STYLE_THUMPS_UP_DOWN = "REVIEW_RATING_STYLE_THUMPS_UP_DOWN"; + field public static final java.lang.String REVIEW_RATING_STYLE_THUMBS_UP_DOWN = "REVIEW_RATING_STYLE_THUMBS_UP_DOWN"; + field public static final java.lang.String TYPE_ALBUM = "TYPE_ALBUM"; + field public static final java.lang.String TYPE_ARTIST = "TYPE_ARTIST"; + field public static final java.lang.String TYPE_CHANNEL = "TYPE_CHANNEL"; + field public static final java.lang.String TYPE_CLIP = "TYPE_CLIP"; + field public static final java.lang.String TYPE_EVENT = "TYPE_EVENT"; + field public static final java.lang.String TYPE_MOVIE = "TYPE_MOVIE"; + field public static final java.lang.String TYPE_PLAYLIST = "TYPE_PLAYLIST"; + field public static final java.lang.String TYPE_STATION = "TYPE_STATION"; + field public static final java.lang.String TYPE_TRACK = "TYPE_TRACK"; + field public static final java.lang.String TYPE_TV_EPISODE = "TYPE_TV_EPISODE"; + field public static final java.lang.String TYPE_TV_SEASON = "TYPE_TV_SEASON"; + field public static final java.lang.String TYPE_TV_SERIES = "TYPE_TV_SERIES"; + field public static final java.lang.String WATCH_NEXT_TYPE_CONTINUE = "WATCH_NEXT_TYPE_CONTINUE"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEW = "WATCH_NEXT_TYPE_NEW"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEXT = "WATCH_NEXT_TYPE_NEXT"; } public static final class TvContract.Programs.Genres { diff --git a/api/test-current.txt b/api/test-current.txt index c2b1b87cda92c..19bf15772324e 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -23994,9 +23994,11 @@ package android.media.tv { 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_TYPE = "type"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; field public static final java.lang.String COLUMN_VIDEO_HEIGHT = "video_height"; field public static final java.lang.String COLUMN_VIDEO_WIDTH = "video_width"; + field public static final java.lang.String COLUMN_WATCH_NEXT_TYPE = "watch_next_type"; field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program"; field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/program"; field public static final android.net.Uri CONTENT_URI; @@ -24009,7 +24011,22 @@ package android.media.tv { field public static final java.lang.String INTERACTION_TYPE_VIEWS = "INTERACTION_TYPE_VIEWS"; field public static final java.lang.String REVIEW_RATING_STYLE_PERCENTAGE = "REVIEW_RATING_STYLE_PERCENTAGE"; field public static final java.lang.String REVIEW_RATING_STYLE_STARS = "REVIEW_RATING_STYLE_STARS"; - field public static final java.lang.String REVIEW_RATING_STYLE_THUMPS_UP_DOWN = "REVIEW_RATING_STYLE_THUMPS_UP_DOWN"; + field public static final java.lang.String REVIEW_RATING_STYLE_THUMBS_UP_DOWN = "REVIEW_RATING_STYLE_THUMBS_UP_DOWN"; + field public static final java.lang.String TYPE_ALBUM = "TYPE_ALBUM"; + field public static final java.lang.String TYPE_ARTIST = "TYPE_ARTIST"; + field public static final java.lang.String TYPE_CHANNEL = "TYPE_CHANNEL"; + field public static final java.lang.String TYPE_CLIP = "TYPE_CLIP"; + field public static final java.lang.String TYPE_EVENT = "TYPE_EVENT"; + field public static final java.lang.String TYPE_MOVIE = "TYPE_MOVIE"; + field public static final java.lang.String TYPE_PLAYLIST = "TYPE_PLAYLIST"; + field public static final java.lang.String TYPE_STATION = "TYPE_STATION"; + field public static final java.lang.String TYPE_TRACK = "TYPE_TRACK"; + field public static final java.lang.String TYPE_TV_EPISODE = "TYPE_TV_EPISODE"; + field public static final java.lang.String TYPE_TV_SEASON = "TYPE_TV_SEASON"; + field public static final java.lang.String TYPE_TV_SERIES = "TYPE_TV_SERIES"; + field public static final java.lang.String WATCH_NEXT_TYPE_CONTINUE = "WATCH_NEXT_TYPE_CONTINUE"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEW = "WATCH_NEXT_TYPE_NEW"; + field public static final java.lang.String WATCH_NEXT_TYPE_NEXT = "WATCH_NEXT_TYPE_NEXT"; } public static final class TvContract.Programs.Genres { diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java index 436b9d0797ddf..9a08fbe566c5b 100644 --- a/media/java/android/media/tv/TvContract.java +++ b/media/java/android/media/tv/TvContract.java @@ -1087,6 +1087,111 @@ 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 program type for movie. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_MOVIE = "TYPE_MOVIE"; + + /** + * The program type for TV series. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_TV_SERIES = "TYPE_TV_SERIES"; + + /** + * The program type for TV season. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_TV_SEASON = "TYPE_TV_SEASON"; + + /** + * The program type for TV episode. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_TV_EPISODE = "TYPE_TV_EPISODE"; + + /** + * The program type for clip. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_CLIP = "TYPE_CLIP"; + + /** + * The program type for event. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_EVENT = "TYPE_EVENT"; + + /** + * The program type for channel. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_CHANNEL = "TYPE_CHANNEL"; + + /** + * The program type for track. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_TRACK = "TYPE_TRACK"; + + /** + * The program type for album. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_ALBUM = "TYPE_ALBUM"; + + /** + * The program type for artist. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_ARTIST = "TYPE_ARTIST"; + + /** + * The program type for playlist. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_PLAYLIST = "TYPE_PLAYLIST"; + + /** + * The program type for station. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_STATION = "TYPE_STATION"; + + /** + * The watch next type for CONTINUE. + * + * @see #COLUMN_WATCH_NEXT_TYPE + */ + public static final String WATCH_NEXT_TYPE_CONTINUE = "WATCH_NEXT_TYPE_CONTINUE"; + + /** + * The watch next type for NEXT. + * + * @see #COLUMN_WATCH_NEXT_TYPE + */ + public static final String WATCH_NEXT_TYPE_NEXT = "WATCH_NEXT_TYPE_NEXT"; + + /** + * The watch next type for NEW. + * + * @see #COLUMN_WATCH_NEXT_TYPE + */ + public static final String WATCH_NEXT_TYPE_NEW = "WATCH_NEXT_TYPE_NEW"; + /** * The aspect ratio for 16:9. * @@ -1203,8 +1308,8 @@ public final class TvContract { * * @see #COLUMN_REVIEW_RATING_STYLE */ - public static final String REVIEW_RATING_STYLE_THUMPS_UP_DOWN = - "REVIEW_RATING_STYLE_THUMPS_UP_DOWN"; + public static final String REVIEW_RATING_STYLE_THUMBS_UP_DOWN = + "REVIEW_RATING_STYLE_THUMBS_UP_DOWN"; /** * The review rating style for 0 to 100 point system. @@ -1225,6 +1330,44 @@ public final class TvContract { */ public static final String COLUMN_CHANNEL_ID = "channel_id"; + /** + * The type of this program content. + * + *

The value should match one of the followings: + * {@link #TYPE_MOVIE}, + * {@link #TYPE_TV_SERIES}, + * {@link #TYPE_TV_SEASON}, + * {@link #TYPE_TV_EPISODE}, + * {@link #TYPE_CLIP}, + * {@link #TYPE_EVENT}, + * {@link #TYPE_CHANNEL}, + * {@link #TYPE_TRACK}, + * {@link #TYPE_ALBUM}, + * {@link #TYPE_ARTIST}, + * {@link #TYPE_PLAYLIST}, and + * {@link #TYPE_STATION}. + * + *

This is a required field if the program is from a {@link Channels#TYPE_PREVIEW} + * channel. + * + *

Type: TEXT + */ + public static final String COLUMN_TYPE = "type"; + + /** + * The "watch next" type of this program content. + * + *

The value should match one of the followings: + * {@link #WATCH_NEXT_TYPE_CONTINUE}, + * {@link #WATCH_NEXT_TYPE_NEXT}, and + * {@link #WATCH_NEXT_TYPE_NEW}. + * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_WATCH_NEXT_TYPE = "watch_next_type"; + /** * The title of this TV program. * @@ -1811,7 +1954,7 @@ public final class TvContract { * The review rating score style used for {@link #COLUMN_REVIEW_RATING}. * *

The value should match one of the followings: {@link #REVIEW_RATING_STYLE_STARS}, - * {@link #REVIEW_RATING_STYLE_THUMPS_UP_DOWN}, and {@link #REVIEW_RATING_STYLE_PERCENTAGE}. + * {@link #REVIEW_RATING_STYLE_THUMBS_UP_DOWN}, and {@link #REVIEW_RATING_STYLE_PERCENTAGE}. * *

Type: TEXT * @see #COLUMN_REVIEW_RATING @@ -1823,7 +1966,7 @@ public final class TvContract { * *

The format of the value is dependent on {@link #COLUMN_REVIEW_RATING_STYLE}. If the * style is {@link #REVIEW_RATING_STYLE_STARS}, the value should be a real number between - * 0.0 and 5.0. (e.g. "4.5") If the style is {@link #REVIEW_RATING_STYLE_THUMPS_UP_DOWN}, + * 0.0 and 5.0. (e.g. "4.5") If the style is {@link #REVIEW_RATING_STYLE_THUMBS_UP_DOWN}, * the value should be two integers, one for thumbs-up count and the other for thumbs-down * count, with a comma between them. (e.g. "200,40") If the style is * {@link #REVIEW_RATING_STYLE_PERCENTAGE}, the value shoule be a real number between 0 and