# TvContractCompat.Programs

Artifact: [androidx.tvprovider:tvprovider](https://developer.android.com/jetpack/androidx/releases/tvprovider) [View Source](https://cs.android.com/search?q=file:androidx/tvprovider/media/tv/TvContractCompat.java+class:androidx.tvprovider.media.tv.TvContractCompat.Programs) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

*** ** * ** ***

<br />

```
public final class TvContractCompat.Programs implements TvContractCompat.BaseTvColumns
```

<br />

*** ** * ** ***

Column definitions for the TV programs table.

By default, the query results will be sorted by `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_START_TIME_UTC_MILLIS()` in ascending order.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs.Genres` Canonical genres for TV programs. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_BROADCAST_GENRE() = "broadcast_genre"` The comma-separated genre string of this TV program. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_CHANNEL_ID() = "channel_id"` The ID of the TV channel that provides this TV program. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_END_TIME_UTC_MILLIS() = "end_time_utc_millis"` The end time of this TV program, in milliseconds since the epoch. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_EPISODE_NUMBER() = "episode_number"` **This field is deprecated.** Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.ProgramColumns#COLUMN_EPISODE_DISPLAY_NUMBER()` instead. <br /> |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_EVENT_ID() = "event_id"` The event ID of this TV program. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_GLOBAL_CONTENT_ID() = "global_content_id"` The global content ID of this TV program, as a URI. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_RECORDING_PROHIBITED() = "recording_prohibited"` The flag indicating whether recording of this program is prohibited. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_SEASON_NUMBER() = "season_number"` **This field is deprecated.** Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.ProgramColumns#COLUMN_SEASON_DISPLAY_NUMBER()` instead. <br /> |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_START_TIME_UTC_MILLIS() = "start_time_utc_millis"` The start time of this TV program, in milliseconds since the epoch. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#CONTENT_ITEM_TYPE() = "vnd.android.cursor.item/program"` The MIME type of a single TV program. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#CONTENT_TYPE() = "vnd.android.cursor.dir/program"` The MIME type of a directory of TV programs. |
| `static final https://developer.android.com/reference/android/net/Uri.html` | `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#CONTENT_URI()` The content:// style URI for this table. |

### Inherited Constants

From [android.provider.BaseColumns](https://developer.android.com/reference/android/provider/BaseColumns.html) `static final https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/android/provider/BaseColumns.html#_COUNT = "_count"` `static final https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/android/provider/BaseColumns.html#_ID = "_id"` From [androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns](https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.BaseTvColumns) `static final https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.BaseTvColumns#COLUMN_PACKAGE_NAME() = "package_name"`

The name of the package that owns the current row.

## Constants

### COLUMN_BROADCAST_GENRE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre"
```

The comma-separated genre string of this TV program.

Use the same language appeared in the underlying broadcast standard, if applicable. (For example, one can refer to the genre strings used in Genre Descriptor of ATSC A/65 or Content Descriptor of ETSI EN 300 468, if appropriate.) Otherwise, leave empty. Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs.Genres#encode(java.lang.String...)` to create a text that can be stored in this column. Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs.Genres#decode(java.lang.String)` to get the broadcast genre strings from the text stored in the column.

Type: TEXT

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs.Genres#encode(java.lang.String...)` |   |
| `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs.Genres#decode(java.lang.String)` |   |

### COLUMN_CHANNEL_ID

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_CHANNEL_ID = "channel_id"
```

The ID of the TV channel that provides this TV program.

This is a part of the channel URI and matches to `https://developer.android.com/reference/android/provider/BaseColumns.html#_ID`.

This is a required field.

Type: INTEGER (long)

### COLUMN_END_TIME_UTC_MILLIS

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"
```

The end time of this TV program, in milliseconds since the epoch.

The value should be equal to or less than `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_START_TIME_UTC_MILLIS()` of the 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 `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Channels#TYPE_PREVIEW()` channel.

Type: INTEGER (long)

### COLUMN_EPISODE_NUMBER

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_EPISODE_NUMBER = "episode_number"
```

> [!CAUTION]
> **This field is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.ProgramColumns#COLUMN_EPISODE_DISPLAY_NUMBER()` instead.

The episode number of this TV program for episodic TV shows.

Can be empty.

Type: INTEGER

### COLUMN_EVENT_ID

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_EVENT_ID = "event_id"
```

The event ID of this TV program.

It is used to identify the current TV program in the same channel, if applicable. Use the same coding for `event_id` in the underlying broadcast standard if it is defined there (e.g. ATSC A/65, ETSI EN 300 468 and ARIB STD-B10).

This is a required field only if the underlying broadcast standard defines the same name field. Otherwise, leave empty.

Type: INTEGER

### COLUMN_GLOBAL_CONTENT_ID

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id"
```

The global content ID of this TV program, as a URI.

A globally unique ID that identifies this TV program, if applicable. Suitable URIs include

- `crid://<CRIDauthority>/<data>` from ETSI TS 102 323
- `globalContentId` from ATSC A/332
- Other broadcast ID provider. ex `http://example.com/tv_program/1234`

Can be empty.

Type: TEXT

### COLUMN_RECORDING_PROHIBITED

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_RECORDING_PROHIBITED = "recording_prohibited"
```

The flag indicating whether recording of this program is prohibited.

A value of 1 indicates that recording of this program is prohibited and application will not schedule any recording for this program. A value of 0 indicates that the recording is not prohibited. If not specified, this value is set to 0 (not prohibited) by default.

Type: INTEGER (boolean)

### COLUMN_SEASON_NUMBER

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_SEASON_NUMBER = "season_number"
```

> [!CAUTION]
> **This field is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.ProgramColumns#COLUMN_SEASON_DISPLAY_NUMBER()` instead.

The season number of this TV program for episodic TV shows.

Can be empty.

Type: INTEGER

### COLUMN_START_TIME_UTC_MILLIS

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"
```

The start time of this TV program, in milliseconds since the epoch.

The value should be equal to or larger than `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_END_TIME_UTC_MILLIS()` of the 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 `https://developer.android.com/reference/androidx/tvprovider/media/tv/TvContractCompat.Channels#TYPE_PREVIEW()` channel.

Type: INTEGER (long)

### CONTENT_ITEM_TYPE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program"
```

The MIME type of a single TV program.

### CONTENT_TYPE

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/program"
```

The MIME type of a directory of TV programs.

### CONTENT_URI

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

```
public static final Uri CONTENT_URI
```

The content:// style URI for this table.

SQL selection is not supported for `https://developer.android.com/reference/android/content/ContentResolver.html#query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal)`, `https://developer.android.com/reference/android/content/ContentResolver.html#update(android.net.Uri, android.content.ContentValues, android.os.Bundle)` and `https://developer.android.com/reference/android/content/ContentResolver.html#delete(android.net.Uri, android.os.Bundle)` operations.