diff --git a/api/current.txt b/api/current.txt index a8cdd10772b1d..97f9eb3ab0bd7 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23345,6 +23345,7 @@ package android.media.tv { field public static final java.lang.String TYPE_NTSC = "TYPE_NTSC"; field public static final java.lang.String TYPE_OTHER = "TYPE_OTHER"; field public static final java.lang.String TYPE_PAL = "TYPE_PAL"; + field public static final java.lang.String TYPE_PREVIEW = "TYPE_PREVIEW"; field public static final java.lang.String TYPE_SECAM = "TYPE_SECAM"; field public static final java.lang.String TYPE_S_DMB = "TYPE_S_DMB"; field public static final java.lang.String TYPE_T_DMB = "TYPE_T_DMB"; @@ -23385,8 +23386,14 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2"; 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_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_PREVIEW_DURATION = "preview_duration"; + field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; + field public static final java.lang.String COLUMN_PREVIEW_LAST_PLAYBACK_POSITION = "preview_last_playback_position"; + 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_SEARCHABLE = "searchable"; field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; diff --git a/api/system-current.txt b/api/system-current.txt index cc1832d6ec68f..f57ec5ad0f179 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -24977,6 +24977,7 @@ package android.media.tv { field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; field public static final java.lang.String COLUMN_SERVICE_ID = "service_id"; field public static final java.lang.String COLUMN_SERVICE_TYPE = "service_type"; + field public static final java.lang.String COLUMN_TRANSIENT = "transient"; field public static final java.lang.String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id"; field public static final java.lang.String COLUMN_TYPE = "type"; field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number"; @@ -25008,6 +25009,7 @@ package android.media.tv { field public static final java.lang.String TYPE_NTSC = "TYPE_NTSC"; field public static final java.lang.String TYPE_OTHER = "TYPE_OTHER"; field public static final java.lang.String TYPE_PAL = "TYPE_PAL"; + field public static final java.lang.String TYPE_PREVIEW = "TYPE_PREVIEW"; field public static final java.lang.String TYPE_SECAM = "TYPE_SECAM"; field public static final java.lang.String TYPE_S_DMB = "TYPE_S_DMB"; field public static final java.lang.String TYPE_T_DMB = "TYPE_T_DMB"; @@ -25048,8 +25050,14 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2"; 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_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_PREVIEW_DURATION = "preview_duration"; + field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; + field public static final java.lang.String COLUMN_PREVIEW_LAST_PLAYBACK_POSITION = "preview_last_playback_position"; + 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_SEARCHABLE = "searchable"; field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; @@ -25059,6 +25067,7 @@ package android.media.tv { 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"; 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_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"; diff --git a/api/test-current.txt b/api/test-current.txt index e6148835639fe..6258320939320 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -23432,6 +23432,7 @@ package android.media.tv { field public static final java.lang.String TYPE_NTSC = "TYPE_NTSC"; field public static final java.lang.String TYPE_OTHER = "TYPE_OTHER"; field public static final java.lang.String TYPE_PAL = "TYPE_PAL"; + field public static final java.lang.String TYPE_PREVIEW = "TYPE_PREVIEW"; field public static final java.lang.String TYPE_SECAM = "TYPE_SECAM"; field public static final java.lang.String TYPE_S_DMB = "TYPE_S_DMB"; field public static final java.lang.String TYPE_T_DMB = "TYPE_T_DMB"; @@ -23472,8 +23473,14 @@ package android.media.tv { field public static final java.lang.String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2"; 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_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_PREVIEW_DURATION = "preview_duration"; + field public static final java.lang.String COLUMN_PREVIEW_INTENT_URI = "preview_intent_uri"; + field public static final java.lang.String COLUMN_PREVIEW_LAST_PLAYBACK_POSITION = "preview_last_playback_position"; + 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_SEARCHABLE = "searchable"; field public static final java.lang.String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number"; diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java index 20706fd19aac6..3ee80af3de9fb 100644 --- a/media/java/android/media/tv/TvContract.java +++ b/media/java/android/media/tv/TvContract.java @@ -543,6 +543,17 @@ public final class TvContract { */ public static final String TYPE_S_DMB = "TYPE_S_DMB"; + /** + * The channel type for preview videos. + * + *
Unlike other broadcast TV channel types, the programs in the preview channel usually + * are promotional videos. The UI may treat the preview channels differently from the other + * broadcast channels. + * + * @see #COLUMN_TYPE + */ + public static final String TYPE_PREVIEW = "TYPE_PREVIEW"; + /** A generic service type. */ public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER"; @@ -1001,6 +1012,20 @@ public final class TvContract { */ public static final String COLUMN_VERSION_NUMBER = "version_number"; + /** + * The flag indicating whether this TV channel is transient or not. + * + *
A value of 1 indicates that the channel will be automatically removed by the system on + * reboot, and a value of 0 indicates that the channel is persistent across reboot. If not + * specified, this value is set to 0 (not transient) by default. + * + *
Type: INTEGER (boolean) + * @see Programs#COLUMN_TRANSIENT + * @hide + */ + @SystemApi + public static final String COLUMN_TRANSIENT = "transient"; + private Channels() {} /** @@ -1165,6 +1190,8 @@ public final class TvContract { * previous program in the same channel. In practice, start time will usually be the end * time of the previous program. * + *
Can be empty if this program belongs to a {@link Channels#TYPE_PREVIEW} channel. + * *
Type: INTEGER (long) */ public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"; @@ -1176,6 +1203,8 @@ public final class TvContract { * next program in the same channel. In practice, end time will usually be the start time of * the next program. * + *
Can be empty if this program belongs to a {@link Channels#TYPE_PREVIEW} channel. + * *
Type: INTEGER (long) */ public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; @@ -1410,6 +1439,102 @@ public final class TvContract { */ public static final String COLUMN_VERSION_NUMBER = "version_number"; + /** + * The internal ID used by individual TV input services. + * + *
This is internal to the provider that inserted it, and should not be decoded by other + * apps. + * + *
Can be empty. + * + *
Type: TEXT + */ + public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id"; + + /** + * The URI for the preview video. + * + *
This is only relevant to {@link Channels#TYPE_PREVIEW}. 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_PREVIEW_VIDEO_URI = "preview_video_uri"; + + /** + * The last playback position (in milliseconds) of the preview video. + * + *
This is only relevant to {@link Channels#TYPE_PREVIEW}. + * + *
Can be empty. + * + *
Type: INTEGER + */ + public static final String COLUMN_PREVIEW_LAST_PLAYBACK_POSITION = + "preview_last_playback_position"; + + /** + * The duration (in milliseconds) of the preview video. + * + *
This is only relevant to {@link Channels#TYPE_PREVIEW}. + * + *
Can be empty. + * + *
Type: INTEGER + */ + public static final String COLUMN_PREVIEW_DURATION = "preview_duration"; + + /** + * The intent URI which is launched when the preview video is selected. + * + *
The URI is created using {@link Intent#toUri} with {@link Intent#URI_INTENT_SCHEME} + * and converted back to the original intent with {@link Intent#parseUri}. The intent is + * launched when the user selects the preview video item. + * + *
Can be empty. + * + *
Type: TEXT + */ + public static final String COLUMN_PREVIEW_INTENT_URI = + "preview_intent_uri"; + + /** + * The weight of the preview program within the channel. + * + *
The UI may choose to show this item in a different position in the channel row. + * A larger weight value means the program is more important than other programs having + * smaller weight values. The value is relevant for the preview programs in the same + * channel. This is only relevant to {@link Channels#TYPE_PREVIEW}. + * + *
Can be empty. + * + *
Type: INTEGER + */ + public static final String COLUMN_PREVIEW_WEIGHT = "preview_weight"; + + /** + * The flag indicating whether this program is transient or not. + * + *
A value of 1 indicates that the channel will be automatically removed by the system on + * reboot, and a value of 0 indicates that the channel is persistent across reboot. If not + * specified, this value is set to 0 (not transient) by default. + * + *
Type: INTEGER (boolean) + * @see Channels#COLUMN_TRANSIENT + * @hide + */ + @SystemApi + public static final String COLUMN_TRANSIENT = "transient"; + private Programs() {} /** Canonical genres for TV programs. */