TvContract
class TvContract
kotlin.Any | |
↳ | android.media.tv.TvContract |
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
Channels
table 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
Programs
table represents a set of data describing a TV program such as program title and start time.
Summary
Nested classes | |
---|---|
abstract |
Common base for the tables of TV channels/programs. |
Column definitions for the TV channels table. |
|
Column definitions for the preview TV programs table. |
|
Column definitions for the TV programs table. |
|
Column definitions for the recorded TV programs table. |
|
Column definitions for the "watch next" TV programs table. |
Constants | |
---|---|
static String |
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 String |
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 String |
Broadcast Action: sent by the system to tell the target TV input that one of its preview program's browsable state is disabled, i. |
static String |
Activity Action: sent by an application telling the system to make the given channel browsable with user interaction. |
static String |
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. |
static String |
The authority for the TV provider. |
static String |
The key for a bundle parameter containing a channel ID as a long integer |
static String |
The key for a bundle parameter containing a program ID as a long integer. |
static String |
The key for a bundle parameter containing a watch next program ID as a long integer. |
Public methods | |
---|---|
static Uri! |
buildChannelLogoUri(channelId: Long) Builds a URI that points to a channel logo. |
static Uri! |
buildChannelLogoUri(channelUri: Uri!) Builds a URI that points to a channel logo. |
static Uri! |
buildChannelUri(channelId: Long) Builds a URI that points to a specific channel. |
static Uri! |
buildChannelUriForPassthroughInput(inputId: String!) Build a special channel URI intended to be used with pass-through inputs. |
static Uri! |
buildChannelsUriForInput(inputId: String?) Builds a URI that points to all channels from a given TV input. |
static String! |
buildInputId(name: ComponentName!) Builds an ID that uniquely identifies a TV input service. |
static Uri! |
buildPreviewProgramUri(previewProgramId: Long) Builds a URI that points to a specific preview program. |
static Uri! |
buildPreviewProgramsUriForChannel(channelId: Long) Builds a URI that points to all preview programs on a given channel. |
static Uri! |
buildPreviewProgramsUriForChannel(channelUri: Uri!) Builds a URI that points to all preview programs on a given channel. |
static Uri! |
buildProgramUri(programId: Long) Builds a URI that points to a specific program. |
static Uri! |
buildProgramsUriForChannel(channelId: Long) Builds a URI that points to all programs on a given channel. |
static Uri! |
buildProgramsUriForChannel(channelUri: Uri!) Builds a URI that points to all programs on a given channel. |
static Uri! |
buildProgramsUriForChannel(channelId: Long, startTime: Long, endTime: Long) Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame. |
static Uri! |
buildProgramsUriForChannel(channelUri: Uri!, startTime: Long, endTime: Long) Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame. |
static Uri! |
buildRecordedProgramUri(recordedProgramId: Long) Builds a URI that points to a specific recorded program. |
static Uri! |
buildWatchNextProgramUri(watchNextProgramId: Long) Builds a URI that points to a specific watch next program. |
static Boolean |
isChannelUri(uri: Uri) |
static Boolean | |
static Boolean |
isChannelUriForTunerInput(uri: Uri) |
static Boolean |
isProgramUri(uri: Uri) |
static Boolean |
isRecordedProgramUri(uri: Uri) |
static Unit |
requestChannelBrowsable(context: Context!, channelId: Long) Requests to make a channel browsable. |
Constants
ACTION_INITIALIZE_PROGRAMS
static val ACTION_INITIALIZE_PROGRAMS: String
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 android.content.pm.PackageManager#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
.
Value: "android.media.tv.action.INITIALIZE_PROGRAMS"
ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT
static val ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT: String
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.
Value: "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT"
ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED
static val ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED: String
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.
Value: "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED"
ACTION_REQUEST_CHANNEL_BROWSABLE
static val ACTION_REQUEST_CHANNEL_BROWSABLE: String
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 Channels#TYPE_PREVIEW
type. Use android.app.Activity#startActivityForResult to get the result of the request.
The intent must contain the following bundle parameters:
EXTRA_CHANNEL_ID
: ID for theChannels#TYPE_PREVIEW
channel as a long integer.
Value: "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE"
ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED
static val ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED: String
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.
Value: "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED"
AUTHORITY
static val AUTHORITY: String
The authority for the TV provider.
Value: "android.media.tv"
EXTRA_CHANNEL_ID
static val EXTRA_CHANNEL_ID: String
The key for a bundle parameter containing a channel ID as a long integer
Value: "android.media.tv.extra.CHANNEL_ID"
EXTRA_PREVIEW_PROGRAM_ID
static val EXTRA_PREVIEW_PROGRAM_ID: String
The key for a bundle parameter containing a program ID as a long integer.
Value: "android.media.tv.extra.PREVIEW_PROGRAM_ID"
EXTRA_WATCH_NEXT_PROGRAM_ID
static val EXTRA_WATCH_NEXT_PROGRAM_ID: String
The key for a bundle parameter containing a watch next program ID as a long integer.
Value: "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID"
Public methods
buildChannelLogoUri
static fun buildChannelLogoUri(channelId: Long): Uri!
Builds a URI that points to a channel logo. See Channels.Logo
.
Parameters | |
---|---|
channelId |
Long: The ID of the channel whose logo is pointed to. |
buildChannelLogoUri
static fun buildChannelLogoUri(channelUri: Uri!): Uri!
Builds a URI that points to a channel logo. See Channels.Logo
.
Parameters | |
---|---|
channelUri |
Uri!: The URI of the channel whose logo is pointed to. |
buildChannelUri
static fun buildChannelUri(channelId: Long): Uri!
Builds a URI that points to a specific channel.
Parameters | |
---|---|
channelId |
Long: The ID of the channel to point to. |
buildChannelUriForPassthroughInput
static fun buildChannelUriForPassthroughInput(inputId: String!): Uri!
Build a special channel URI intended to be used with pass-through inputs. (e.g. HDMI)
Parameters | |
---|---|
inputId |
String!: The ID of the pass-through input to build a channels URI for. |
buildChannelsUriForInput
static fun buildChannelsUriForInput(inputId: String?): Uri!
Builds a URI that points to all channels from a given TV input.
Parameters | |
---|---|
inputId |
String?: The ID of the TV input to build a channels URI for. If null , builds a URI for all the TV inputs. |
buildInputId
static fun buildInputId(name: ComponentName!): String!
Builds an ID that uniquely identifies a TV input service.
Parameters | |
---|---|
name |
ComponentName!: The ComponentName of the TV input service to build ID for. |
Return | |
---|---|
String! |
the ID for the given TV input service. |
buildPreviewProgramUri
static fun buildPreviewProgramUri(previewProgramId: Long): Uri!
Builds a URI that points to a specific preview program.
Parameters | |
---|---|
previewProgramId |
Long: The ID of the preview program to point to. |
buildPreviewProgramsUriForChannel
static fun buildPreviewProgramsUriForChannel(channelId: Long): Uri!
Builds a URI that points to all preview programs on a given channel.
Parameters | |
---|---|
channelId |
Long: The ID of the channel to return preview programs for. |
buildPreviewProgramsUriForChannel
static fun buildPreviewProgramsUriForChannel(channelUri: Uri!): Uri!
Builds a URI that points to all preview programs on a given channel.
Parameters | |
---|---|
channelUri |
Uri!: The URI of the channel to return preview programs for. |
buildProgramUri
static fun buildProgramUri(programId: Long): Uri!
Builds a URI that points to a specific program.
Parameters | |
---|---|
programId |
Long: The ID of the program to point to. |
buildProgramsUriForChannel
static fun buildProgramsUriForChannel(channelId: Long): Uri!
Builds a URI that points to all programs on a given channel.
Parameters | |
---|---|
channelId |
Long: The ID of the channel to return programs for. |
buildProgramsUriForChannel
static fun buildProgramsUriForChannel(channelUri: Uri!): Uri!
Builds a URI that points to all programs on a given channel.
Parameters | |
---|---|
channelUri |
Uri!: The URI of the channel to return programs for. |
buildProgramsUriForChannel
static fun buildProgramsUriForChannel(
channelId: Long,
startTime: Long,
endTime: Long
): Uri!
Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame.
Parameters | |
---|---|
channelId |
Long: The ID of the channel to return programs for. |
startTime |
Long: The start time used to filter programs. The returned programs will have a Programs#COLUMN_END_TIME_UTC_MILLIS that is greater than or equal to startTime . |
endTime |
Long: The end time used to filter programs. The returned programs will have Programs#COLUMN_START_TIME_UTC_MILLIS that is less than or equal to endTime . |
buildProgramsUriForChannel
static fun buildProgramsUriForChannel(
channelUri: Uri!,
startTime: Long,
endTime: Long
): Uri!
Builds a URI that points to programs on a specific channel whose schedules overlap with the given time frame.
Parameters | |
---|---|
channelUri |
Uri!: The URI of the channel to return programs for. |
startTime |
Long: The start time used to filter programs. The returned programs should have Programs#COLUMN_END_TIME_UTC_MILLIS that is greater than this time. |
endTime |
Long: The end time used to filter programs. The returned programs should have Programs#COLUMN_START_TIME_UTC_MILLIS that is less than this time. |
buildRecordedProgramUri
static fun buildRecordedProgramUri(recordedProgramId: Long): Uri!
Builds a URI that points to a specific recorded program.
Parameters | |
---|---|
recordedProgramId |
Long: The ID of the recorded program to point to. |
buildWatchNextProgramUri
static fun buildWatchNextProgramUri(watchNextProgramId: Long): Uri!
Builds a URI that points to a specific watch next program.
Parameters | |
---|---|
watchNextProgramId |
Long: The ID of the watch next program to point to. |
isChannelUri
static fun isChannelUri(uri: Uri): Boolean
Parameters | |
---|---|
uri |
Uri: This value cannot be null . |
Return | |
---|---|
Boolean |
true if uri is a channel URI. |
isChannelUriForPassthroughInput
static fun isChannelUriForPassthroughInput(uri: Uri): Boolean
Parameters | |
---|---|
uri |
Uri: This value cannot be null . |
Return | |
---|---|
Boolean |
true if uri is a channel URI for a pass-through input. |
isChannelUriForTunerInput
static fun isChannelUriForTunerInput(uri: Uri): Boolean
Parameters | |
---|---|
uri |
Uri: This value cannot be null . |
Return | |
---|---|
Boolean |
true if uri is a channel URI for a tuner input. |
isProgramUri
static fun isProgramUri(uri: Uri): Boolean
Parameters | |
---|---|
uri |
Uri: This value cannot be null . |
Return | |
---|---|
Boolean |
true if uri is a program URI. |
isRecordedProgramUri
static fun isRecordedProgramUri(uri: Uri): Boolean
Parameters | |
---|---|
uri |
Uri: This value cannot be null . |
Return | |
---|---|
Boolean |
true if uri is a recorded program URI. |
requestChannelBrowsable
static fun requestChannelBrowsable(
context: Context!,
channelId: Long
): Unit
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 Channels#TYPE_PREVIEW
type.
Parameters | |
---|---|
context |
Context!: The context for accessing content provider. |
channelId |
Long: The channel ID to be browsable. |