From a60bc111e5e72ccb2f485c6fa32b4fe810f60233 Mon Sep 17 00:00:00 2001 From: Dongwon Kang Date: Wed, 17 Feb 2016 10:40:44 -0800 Subject: [PATCH] TIF: Add COLUMN_SEASON_TITLE and COLUMN_(SEASON|EPISODE)_DISPLAY_NUMBER Bug: 21778419 Change-Id: I1684e2f1c274306706736061e3f41c9840e563c4 --- api/current.txt | 12 ++- api/system-current.txt | 12 ++- api/test-current.txt | 12 ++- media/java/android/media/tv/TvContract.java | 94 ++++++++++++++++++--- 4 files changed, 106 insertions(+), 24 deletions(-) diff --git a/api/current.txt b/api/current.txt index 995264f4ac3f0..ac117c55343ea 100644 --- a/api/current.txt +++ b/api/current.txt @@ -22847,7 +22847,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; + field public static final deprecated java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1"; @@ -22857,7 +22858,9 @@ package android.media.tv { field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; + 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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; @@ -22900,7 +22903,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INPUT_ID = "input_id"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; @@ -22915,7 +22918,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis"; field public static final java.lang.String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; diff --git a/api/system-current.txt b/api/system-current.txt index 15c7869f7c9f0..7f6e91c06cf16 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -24480,7 +24480,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; + field public static final deprecated java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1"; @@ -24490,7 +24491,9 @@ package android.media.tv { field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; + 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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; @@ -24533,7 +24536,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INPUT_ID = "input_id"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; @@ -24548,7 +24551,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis"; field public static final java.lang.String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; diff --git a/api/test-current.txt b/api/test-current.txt index 9ae849ef76098..c0b4ec052dffb 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -22856,7 +22856,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; + field public static final deprecated java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1"; @@ -22866,7 +22867,9 @@ package android.media.tv { field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; field public static final java.lang.String COLUMN_POSTER_ART_URI = "poster_art_uri"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; + 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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; @@ -22909,7 +22912,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_CONTENT_RATING = "content_rating"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; - field public static final java.lang.String COLUMN_EPISODE_NUMBER = "episode_number"; + field public static final java.lang.String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; field public static final java.lang.String COLUMN_EPISODE_TITLE = "episode_title"; field public static final java.lang.String COLUMN_INPUT_ID = "input_id"; field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data"; @@ -22924,7 +22927,8 @@ package android.media.tv { field public static final java.lang.String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis"; field public static final java.lang.String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis"; field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; - field public static final java.lang.String COLUMN_SEASON_NUMBER = "season_number"; + field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_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_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_THUMBNAIL_URI = "thumbnail_uri"; diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java index 15a18380d0c5c..39dbced0311e9 100644 --- a/media/java/android/media/tv/TvContract.java +++ b/media/java/android/media/tv/TvContract.java @@ -969,8 +969,9 @@ public final class TvContract { * The title of this TV program. * *

If this program is an episodic TV show, it is recommended that the title is the series - * title and its related fields ({@link #COLUMN_SEASON_NUMBER}, - * {@link #COLUMN_EPISODE_NUMBER}, and {@link #COLUMN_EPISODE_TITLE}) are filled in. + * title and its related fields ({@link #COLUMN_SEASON_TITLE} and/or + * {@link #COLUMN_SEASON_DISPLAY_NUMBER}, {@link #COLUMN_SEASON_DISPLAY_NUMBER}, + * {@link #COLUMN_EPISODE_DISPLAY_NUMBER}, and {@link #COLUMN_EPISODE_TITLE}) are filled in. * *

Type: TEXT */ @@ -982,18 +983,64 @@ public final class TvContract { *

Can be empty. * *

Type: INTEGER + * + * @deprecated Use {@link #COLUMN_SEASON_DISPLAY_NUMBER} instead. */ + @Deprecated public static final String COLUMN_SEASON_NUMBER = "season_number"; + /** + * The season display number of this TV program for episodic TV shows. + * + *

This is used to indicate the season number. (e.g. 1, 2 or 3) Note that the value + * does not necessarily be numeric. (e.g. 12B) + * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; + + /** + * The title of the season for this TV program for episodic TV shows. + * + *

This is an optional field supplied only when the season has a special title + * (e.g. The Final Season). If provided, the applications should display it instead of + * {@link #COLUMN_SEASON_DISPLAY_NUMBER}, and should display it without alterations. + * (e.g. for "The Final Season", displayed string should be "The Final Season", not + * "Season The Final Season"). When displaying multiple programs, the order should be based + * on {@link #COLUMN_SEASON_DISPLAY_NUMBER}, even when {@link #COLUMN_SEASON_TITLE} exists. + * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_SEASON_TITLE = "season_title"; + /** * The episode number of this TV program for episodic TV shows. * *

Can be empty. * *

Type: INTEGER + * + * @deprecated Use {@link #COLUMN_EPISODE_DISPLAY_NUMBER} instead. */ + @Deprecated public static final String COLUMN_EPISODE_NUMBER = "episode_number"; + /** + * The episode display number of this TV program for episodic TV shows. + * + *

This is used to indicate the episode number. (e.g. 1, 2 or 3) Note that the value + * does not necessarily be numeric. (e.g. 12B) + * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number"; + /** * The episode title of this TV program for episodic TV shows. * @@ -1465,8 +1512,9 @@ public final class TvContract { * The title of this recorded TV program. * *

If this recorded program is an episodic TV show, it is recommended that the title is - * the series title and its related fields ({@link #COLUMN_SEASON_NUMBER}, - * {@link #COLUMN_EPISODE_NUMBER}, and {@link #COLUMN_EPISODE_TITLE}) are filled in. + * the series title and its related fields ({@link #COLUMN_SEASON_TITLE} and/or + * {@link #COLUMN_SEASON_DISPLAY_NUMBER}, {@link #COLUMN_EPISODE_DISPLAY_NUMBER}, + * and {@link #COLUMN_EPISODE_TITLE}) are filled in. * *

Type: TEXT * @see Programs#COLUMN_TITLE @@ -1474,24 +1522,46 @@ public final class TvContract { public static final String COLUMN_TITLE = Programs.COLUMN_TITLE; /** - * The season number of this recorded TV program for episodic TV shows. + * The season display number of this recorded TV program for episodic TV shows. + * + *

This is used to indicate the season number. (e.g. 1, 2 or 3) Note that the value + * does not necessarily be numeric. (e.g. 12B) * *

Can be empty. * - *

Type: INTEGER - * @see Programs#COLUMN_SEASON_NUMBER + *

Type: TEXT */ - public static final String COLUMN_SEASON_NUMBER = Programs.COLUMN_SEASON_NUMBER; + public static final String COLUMN_SEASON_DISPLAY_NUMBER = + Programs.COLUMN_SEASON_DISPLAY_NUMBER; /** - * The episode number of this recorded TV program for episodic TV shows. + * The title of the season for this recorded TV program for episodic TV shows. + * + *

This is an optional field supplied only when the season has a special title + * (e.g. The Final Season). If provided, the applications should display it instead of + * {@link #COLUMN_SEASON_DISPLAY_NUMBER} without alterations. + * (e.g. for "The Final Season", displayed string should be "The Final Season", not + * "Season The Final Season"). When displaying multiple programs, the order should be based + * on {@link #COLUMN_SEASON_DISPLAY_NUMBER}, even when {@link #COLUMN_SEASON_TITLE} exists. * *

Can be empty. * - *

Type: INTEGER - * @see Programs#COLUMN_EPISODE_NUMBER + *

Type: TEXT */ - public static final String COLUMN_EPISODE_NUMBER = Programs.COLUMN_EPISODE_NUMBER; + public static final String COLUMN_SEASON_TITLE = Programs.COLUMN_SEASON_TITLE; + + /** + * The episode display number of this recorded TV program for episodic TV shows. + * + *

This is used to indicate the episode number. (e.g. 1, 2 or 3) Note that the value + * does not necessarily be numeric. (e.g. 12B) + * + *

Can be empty. + * + *

Type: TEXT + */ + public static final String COLUMN_EPISODE_DISPLAY_NUMBER = + Programs.COLUMN_EPISODE_DISPLAY_NUMBER; /** * The episode title of this recorded TV program for episodic TV shows.