TvContractCompat
public final class TvContractCompat
The contract between the TV provider and applications. Contains definitions for the supported URIs and columns.
Overview
TvContract defines a basic database of TV content metadata such as channel and program information. The information is stored in Channels and Programs tables.
- A row in the
Channelstable represents information about a TV channel. The data format can vary greatly from standard to standard or according to service provider, thus the columns here are mostly comprised of basic entities that are usually seen to users regardless of standard such as channel number and name. - A row in the
Programstable represents a set of data describing a TV program such as program title and start time.
Summary
Nested types |
|---|
public interface TvContractCompat.BaseTvColumns extends BaseColumnsCommon base for the tables of TV channels/programs. |
public final class TvContractCompat.Channels implements TvContractCompat.BaseTvColumnsColumn definitions for the TV channels table. |
public final class TvContractCompat.Channels.LogoA sub-directory of a single TV channel that represents its primary logo. |
public interface TvContractCompat.PreviewProgramColumnsCommon columns for the tables of preview programs. |
public final class TvContractCompat.PreviewPrograms implements TvContractCompat.BaseTvColumns, TvContractCompat.PreviewProgramColumnsColumn definitions for the preview TV programs table. |
public final class TvContractCompat.Programs implements TvContractCompat.BaseTvColumnsColumn definitions for the TV programs table. |
public final class TvContractCompat.Programs.GenresCanonical genres for TV programs. |
public final class TvContractCompat.RecordedPrograms implements TvContractCompat.BaseTvColumnsColumn definitions for the recorded TV programs table. |
public final class TvContractCompat.WatchNextPrograms implements TvContractCompat.BaseTvColumns, TvContractCompat.PreviewProgramColumnsColumn definitions for the "watch next" TV programs table. |
Constants |
|
|---|---|
static final String |
ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS"Broadcast Action: sent to the target TV input after it is first installed to notify the input to initialize its channels and programs to the system content provider. |
static final String |
ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT"Broadcast Action: sent by the system to tell the target TV input that one of its existing preview programs is added to the watch next programs table by user. |
static final String |
ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED"Broadcast Action: sent by the system to tell the target TV input that one of its preview program's browsable state is disabled, i.e., it will no longer be shown to users, which, for example, might be a result of users' interaction with UI. |
static final String |
ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE"Activity Action: sent by an application telling the system to make the given channel browsable with user interaction. |
static final String |
ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED"Broadcast Action: sent by the system to tell the target TV input that one of its "watch next" program's browsable state is disabled, i.e., it will no longer be shown to users, which, for example, might be a result of users' interaction with UI. |
static final String |
AUTHORITY = "android.media.tv"The authority for the TV provider. |
static final String |
EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID"The key for a bundle parameter containing a channel ID as a long integer |
static final String |
EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID"The key for a bundle parameter containing a program ID as a long integer. |
static final String |
EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID"The key for a bundle parameter containing a watch next program ID as a long integer. |
Public methods |
|
|---|---|
static Uri |
buildChannelLogoUri(long channelId)Builds a URI that points to a channel logo. |
static Uri |
buildChannelLogoUri(Uri channelUri)Builds a URI that points to a channel logo. |
static Uri |
buildChannelUri(long channelId)Builds a URI that points to a specific channel. |
static Uri |
buildChannelUriForPassthroughInput(String inputId)Build a special channel URI intended to be used with pass-through inputs. |
static Uri |
buildChannelsUriForInput(@Nullable String inputId)Builds a URI that points to all channels from a given TV input. |
static String |
buildInputId(ComponentName name)Builds an ID that uniquely identifies a TV input service. |
static Uri |
buildPreviewProgramUri(long previewProgramId)Builds a URI that points to a specific preview program. |
static Uri |
buildPreviewProgramsUriForChannel(long channelId)Builds a URI that points to all preview programs on a given channel. |
static Uri |
buildPreviewProgramsUriForChannel(Uri channelUri)Builds a URI that points to all preview programs on a given channel. |
static Uri |
buildProgramUri(long programId)Builds a URI that points to a specific program. |
static Uri |
buildProgramsUriForChannel(long channelId)Builds a URI that points to all programs on a given channel. |
static Uri |
buildProgramsUriForChannel(Uri channelUri)Builds a URI that points to all programs on a given channel. |
static Uri |
buildProgramsUriForChannel(long channelId, long startTime, long endTime)Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame. |
static Uri |
buildProgramsUriForChannel(Uri channelUri, long startTime, long endTime)Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame. |
static Uri |
buildRecordedProgramUri(long recordedProgramId)Builds a URI that points to a specific recorded program. |
static Uri |
buildWatchNextProgramUri(long watchNextProgramId)Builds a URI that points to a specific watch next program. |
static boolean |
isChannelUri(Uri uri)Returns |
static boolean |
Returns |
static boolean |
Returns |
static boolean |
isProgramUri(Uri uri)Returns |
static boolean |
isRecordedProgramUri(Uri uri)Returns |
static void |
requestChannelBrowsable(Context context, long channelId)Requests to make a channel browsable. |
Constants
ACTION_INITIALIZE_PROGRAMS
public static final String ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS"
Broadcast Action: sent to the target TV input after it is first installed to notify the input to initialize its channels and programs to the system content provider.
Note that this intent is sent only on devices with FEATURE_LEANBACK enabled. Besides that, in order to receive this intent, the target TV input must:
- Declare a broadcast receiver for this intent in its
AndroidManifest.xml. - Declare appropriate permissions to write channel and program data in its
AndroidManifest.xml.
ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT
public static final String ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT"
Broadcast Action: sent by the system to tell the target TV input that one of its existing preview programs is added to the watch next programs table by user.
The intent must contain the following bundle parameters:
EXTRA_PREVIEW_PROGRAM_ID: the ID of the existing preview program.EXTRA_WATCH_NEXT_PROGRAM_ID: the ID of the new watch next program.
ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED
public static final String ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED"
Broadcast Action: sent by the system to tell the target TV input that one of its preview program's browsable state is disabled, i.e., it will no longer be shown to users, which, for example, might be a result of users' interaction with UI. The input is expected to delete the preview program from the content provider.
The intent must contain the following bundle parameter:
EXTRA_PREVIEW_PROGRAM_ID: the disabled preview program ID.
ACTION_REQUEST_CHANNEL_BROWSABLE
public static final String ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE"
Activity Action: sent by an application telling the system to make the given channel browsable with user interaction. The system may show UI to ask user to approve the channel. This is only relevant to channels with TYPE_PREVIEW type. Use startActivityForResult to get the result of the request.
The intent must contain the following bundle parameters:
EXTRA_CHANNEL_ID: ID for theTYPE_PREVIEWchannel as a long integer.
ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED
public static final String ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED"
Broadcast Action: sent by the system to tell the target TV input that one of its "watch next" program's browsable state is disabled, i.e., it will no longer be shown to users, which, for example, might be a result of users' interaction with UI. The input is expected to delete the "watch next" program from the content provider.
The intent must contain the following bundle parameter:
EXTRA_WATCH_NEXT_PROGRAM_ID: the disabled "watch next" program ID.
AUTHORITY
public static final String AUTHORITY = "android.media.tv"
The authority for the TV provider.
EXTRA_CHANNEL_ID
public static final String EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID"
The key for a bundle parameter containing a channel ID as a long integer
EXTRA_PREVIEW_PROGRAM_ID
public static final String EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID"
The key for a bundle parameter containing a program ID as a long integer.
EXTRA_WATCH_NEXT_PROGRAM_ID
public static final String EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID"
The key for a bundle parameter containing a watch next program ID as a long integer.
Public methods
buildChannelLogoUri
public static Uri buildChannelLogoUri(long channelId)
Builds a URI that points to a channel logo. See Channels.Logo.
| Parameters | |
|---|---|
long channelId |
The ID of the channel whose logo is pointed to. |
buildChannelLogoUri
public static Uri buildChannelLogoUri(Uri channelUri)
Builds a URI that points to a channel logo. See Channels.Logo.
| Parameters | |
|---|---|
Uri channelUri |
The URI of the channel whose logo is pointed to. |
buildChannelUri
public static Uri buildChannelUri(long channelId)
Builds a URI that points to a specific channel.
| Parameters | |
|---|---|
long channelId |
The ID of the channel to point to. |
buildChannelUriForPassthroughInput
public static Uri buildChannelUriForPassthroughInput(String inputId)
Build a special channel URI intended to be used with pass-through inputs. (e.g. HDMI)
| Parameters | |
|---|---|
String inputId |
The ID of the pass-through input to build a channels URI for. |
buildChannelsUriForInput
public static Uri buildChannelsUriForInput(@Nullable String inputId)
Builds a URI that points to all channels from a given TV input.
buildInputId
public static String buildInputId(ComponentName name)
Builds an ID that uniquely identifies a TV input service.
| Parameters | |
|---|---|
ComponentName name |
The |
| Returns | |
|---|---|
String |
the ID for the given TV input service. |
buildPreviewProgramUri
public static Uri buildPreviewProgramUri(long previewProgramId)
Builds a URI that points to a specific preview program.
| Parameters | |
|---|---|
long previewProgramId |
The ID of the preview program to point to. |
buildPreviewProgramsUriForChannel
public static Uri buildPreviewProgramsUriForChannel(long channelId)
Builds a URI that points to all preview programs on a given channel.
| Parameters | |
|---|---|
long channelId |
The ID of the channel to return preview programs for. |
buildPreviewProgramsUriForChannel
public static Uri buildPreviewProgramsUriForChannel(Uri channelUri)
Builds a URI that points to all preview programs on a given channel.
| Parameters | |
|---|---|
Uri channelUri |
The URI of the channel to return preview programs for. |
buildProgramUri
public static Uri buildProgramUri(long programId)
Builds a URI that points to a specific program.
| Parameters | |
|---|---|
long programId |
The ID of the program to point to. |
buildProgramsUriForChannel
public static Uri buildProgramsUriForChannel(long channelId)
Builds a URI that points to all programs on a given channel.
| Parameters | |
|---|---|
long channelId |
The ID of the channel to return programs for. |
buildProgramsUriForChannel
public static Uri buildProgramsUriForChannel(Uri channelUri)
Builds a URI that points to all programs on a given channel.
| Parameters | |
|---|---|
Uri channelUri |
The URI of the channel to return programs for. |
buildProgramsUriForChannel
public static Uri buildProgramsUriForChannel(long channelId, long startTime, long endTime)
Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame.
| Parameters | |
|---|---|
long channelId |
The ID of the channel to return programs for. |
long startTime |
The start time used to filter programs. The returned programs should have |
long endTime |
The end time used to filter programs. The returned programs should have |
buildProgramsUriForChannel
public static Uri buildProgramsUriForChannel(Uri channelUri, long startTime, long endTime)
Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame.
| Parameters | |
|---|---|
Uri channelUri |
The URI of the channel to return programs for. |
long startTime |
The start time used to filter programs. The returned programs should have |
long endTime |
The end time used to filter programs. The returned programs should have |
buildRecordedProgramUri
public static Uri buildRecordedProgramUri(long recordedProgramId)
Builds a URI that points to a specific recorded program.
| Parameters | |
|---|---|
long recordedProgramId |
The ID of the recorded program to point to. |
buildWatchNextProgramUri
public static Uri buildWatchNextProgramUri(long watchNextProgramId)
Builds a URI that points to a specific watch next program.
| Parameters | |
|---|---|
long watchNextProgramId |
The ID of the watch next program to point to. |
isChannelUri
public static boolean isChannelUri(Uri uri)
Returns true, if uri is a channel URI.
isChannelUriForPassthroughInput
public static boolean isChannelUriForPassthroughInput(Uri uri)
Returns true, if uri is a channel URI for a pass-through input.
isChannelUriForTunerInput
public static boolean isChannelUriForTunerInput(Uri uri)
Returns true, if uri is a channel URI for a tuner input.
isProgramUri
public static boolean isProgramUri(Uri uri)
Returns true, if uri is a program URI.
isRecordedProgramUri
public static boolean isRecordedProgramUri(Uri uri)
Returns true, if uri is a recorded program URI.
requestChannelBrowsable
public static void requestChannelBrowsable(Context context, long channelId)
Requests to make a channel browsable.
Once called, the system will review the request and make the channel browsable based on its policy. The first request from a package is guaranteed to be approved. This is only relevant to channels with TYPE_PREVIEW type.
No-op on devices prior to O.
| Parameters | |
|---|---|
Context context |
The context for accessing content provider. |
long channelId |
The channel ID to be browsable. |
| See also | |
|---|---|
COLUMN_BROWSABLE |