# Program.Builder

# Program.Builder

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/Program.java+class:androidx.tvprovider.media.tv.Program.Builder)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/tvprovider#1.1.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/tvprovider/media/tv/Program.Builder "View this page in Java")

<br />

```
class Program.Builder
```

<br />

*** ** * ** ***

This Builder class simplifies the creation of a[Program](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program)object.

## Summary

|                                                                                                                                                        ### Public constructors                                                                                                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#Builder())`()` Creates a new Builder object.                                                                                                                                                                                     |
| [Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#Builder(androidx.tvprovider.media.tv.Program))`(other: `[Program](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program)`!)` Creates a new Builder object with values copied from another Program. |

|                                               ### Public functions                                                |
|-------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Program](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program)`!`                 | [build](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#build())`()`                                                                                                                                                                                                                                                                                 |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | [setBroadcastGenres](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setBroadcastGenres(java.lang.String[]))`(genres: `[Array](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`!>!)` Sets the broadcast-specified genres of the program. |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | [setChannelId](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setChannelId(long))`(channelId: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Sets the ID of the[Channel](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Channel)that contains this program.                         |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | [setEndTimeUtcMillis](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setEndTimeUtcMillis(long))`(endTimeUtcMillis: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Sets the time when this program is going to end in milliseconds since the epoch.                                                               |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)    | [setEventId](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setEventId(int))`(eventId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the event ID for this program.                                                                                                                                          |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)    | [setGlobalContentId](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setGlobalContentId(java.lang.String))`(globalContentId: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?)` Sets the global content ID for this program.                                                                                     |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | [setRecordingProhibited](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setRecordingProhibited(boolean))`(prohibited: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Sets whether this program cannot be recorded.                                                                                         |
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | [setStartTimeUtcMillis](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder#setStartTimeUtcMillis(long))`(startTimeUtcMillis: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Sets the time when the program is going to begin in milliseconds since the epoch.                                                        |

## Public constructors

### Builder

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

```
Builder()
```

Creates a new Builder object.  

### Builder

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

```
Builder(other: Program!)
```

Creates a new Builder object with values copied from another Program.  

|                                                 Parameters                                                 |
|------------------------------------------------------------------------------------------------------------|----------------------------------|
| `other: `[Program](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program)`!` | The Program you're copying from. |

## Public functions

### build

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

```
fun build(): Program!
```  

|                                              Returns                                              |
|---------------------------------------------------------------------------------------------------|----------------------------------------------------|
| [Program](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program)`!` | A new Program with values supplied by the Builder. |

### setBroadcastGenres

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

```
fun setBroadcastGenres(genres: Array<String!>!): Program.Builder!
```

Sets the broadcast-specified genres of the program.  

|                                                                                     Parameters                                                                                     |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| `genres: `[Array](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`!>!` | Array of genres that apply to the program based on the broadcast standard which will be flattened to a String to store in a database. |

|                                                      Returns                                                      |
|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | This Builder object to allow for chaining of calls to builder methods. |

|                                                                         See also                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [COLUMN_BROADCAST_GENRE](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_BROADCAST_GENRE()) |   |

### setChannelId

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

```
fun setChannelId(channelId: Long): Program.Builder!
```

Sets the ID of the[Channel](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Channel)that contains this program.  

|                                         Parameters                                         |
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `channelId: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The value of[for the program. Builder object to allow for chaining of calls to builder methods.](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_CHANNEL_ID()) |

### setEndTimeUtcMillis

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

```
fun setEndTimeUtcMillis(endTimeUtcMillis: Long): Program.Builder!
```

Sets the time when this program is going to end in milliseconds since the epoch.  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `endTimeUtcMillis: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The value of[COLUMN_END_TIME_UTC_MILLIS](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_END_TIME_UTC_MILLIS())for the program. |

|                                                      Returns                                                      |
|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | This Builder object to allow for chaining of calls to builder methods. |

### setEventId

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

```
fun setEventId(eventId: Int): Program.Builder
```

Sets the event ID for this program.

No-op on devices prior to[R](https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#R()).  

|                                       Parameters                                       |
|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `eventId: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The value of[COLUMN_EVENT_ID](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_EVENT_ID())for the program. |

|                                                    Returns                                                     |
|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder) | This Builder object to allow for chaining of calls to builder methods. |

### setGlobalContentId

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

```
fun setGlobalContentId(globalContentId: String?): Program.Builder
```

Sets the global content ID for this program.

No-op on devices prior to[R](https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#R()).  

|                                               Parameters                                                |
|---------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `globalContentId: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?` | The value of[COLUMN_GLOBAL_CONTENT_ID](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_GLOBAL_CONTENT_ID())for the program. |

|                                                    Returns                                                     |
|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder) | This Builder object to allow for chaining of calls to builder methods. |

### setRecordingProhibited

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

```
fun setRecordingProhibited(prohibited: Boolean): Program.Builder!
```

Sets whether this program cannot be recorded.  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `prohibited: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | The value of[COLUMN_RECORDING_PROHIBITED](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_RECORDING_PROHIBITED())for the program. |

|                                                      Returns                                                      |
|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | This Builder object to allow for chaining of calls to builder methods. |

### setStartTimeUtcMillis

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

```
fun setStartTimeUtcMillis(startTimeUtcMillis: Long): Program.Builder!
```

Sets the time when the program is going to begin in milliseconds since the epoch.  

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `startTimeUtcMillis: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The value of[COLUMN_START_TIME_UTC_MILLIS](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/TvContractCompat.Programs#COLUMN_START_TIME_UTC_MILLIS())for the program. |

|                                                      Returns                                                      |
|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Program.Builder](https://developer.android.com/reference/kotlin/androidx/tvprovider/media/tv/Program.Builder)`!` | This Builder object to allow for chaining of calls to builder methods. |