# PodcastEpisodeEntity.Builder

# PodcastEpisodeEntity.Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder "View this page in Java")  

<br />

```
class PodcastEpisodeEntity.Builder
```

<br />

*** ** * ** ***

Builder class for[PodcastEpisodeEntity](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity).

## Summary

|                                                            ### Public constructors                                                             |
|------------------------------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#Builder())`()` |

|                                                                   ### Public functions                                                                   |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addGenre](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addGenre(java.lang.String))`(genre: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Adds the genre of the podcast episode.                                                                                                                                                                                                                                                                                      |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addGenres](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addGenres(java.util.List<java.lang.String>))`(genre: (`[Mutable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!>!)` Adds the list of genres of the podcast episode.                                                       |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addHost](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addHost(java.lang.String))`(host: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Adds the host of the podcast episode.                                                                                                                                                                                                                                                                                          |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addHosts](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addHosts(java.util.List<java.lang.String>))`(hosts: (`[Mutable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!>!)` Adds the list of hosts of the podcast episode.                                                          |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addPosterImage](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addPosterImage(com.google.android.engage.common.datamodel.Image))`(image: `[Image](https://developer.android.com/reference/kotlin/com/google/android/engage/common/datamodel/Image)`!)` Add a poster image of the entity.                                                                                                                                                                                                                       |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addPosterImages](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#addPosterImages(java.util.List<com.google.android.engage.common.datamodel.Image>))`(images: (`[Mutable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[Image](https://developer.android.com/reference/kotlin/com/google/android/engage/common/datamodel/Image)`!>!)` Add poster images of the entity. |
| [PodcastEpisodeEntity](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity)`!`                 | [build](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#build())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDescription](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setDescription(java.lang.String))`(description: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Adds the description of the audio entity.                                                                                                                                                                                                                                                                 |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDownloadedOnDevice](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setDownloadedOnDevice(boolean))`(downloadedOnDevice: `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets a boolean value to indicate if podcast episode is downloaded on device or not.                                                                                                                                                                                                          |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDurationMillis](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setDurationMillis(long))`(durationMillis: `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Sets the duration of the podcast episode in milliseconds.                                                                                                                                                                                                                                                         |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setEntityId](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setEntityId(java.lang.String))`(entityId: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Sets content id of the entity.                                                                                                                                                                                                                                                                                     |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setEpisodeIndex](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setEpisodeIndex(int))`(episodeIndex: `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the index of episode in the podcast series.                                                                                                                                                                                                                                                                           |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setExplicitContent](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setExplicitContent(boolean))`(explicitContent: `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets a boolean value to indicate if podcast episode has explicit content or not.                                                                                                                                                                                                                      |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setInfoPageUri](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setInfoPageUri(android.net.Uri))`(infoPageUri: `[Uri](https://developer.android.com/reference/android/net/Uri.html)`!)` Sets the info page Uri associated with the podcast episode.                                                                                                                                                                                                                                                             |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setLastEngagementTimeMillis](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setLastEngagementTimeMillis(long))`(lastEngagementTimeMillis: `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Sets last engagement time of the entity, in milliseconds since Epoch.                                                                                                                                                                                                               |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setListenNextType](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setListenNextType(int))`(listenNextType: `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets[ListenNextType](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/ListenNextType)for the audio entity                                                                                                                                                                    |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setName](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setName(java.lang.String))`(name: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Sets the name of the entity.                                                                                                                                                                                                                                                                                                   |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setPlayBackUri](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setPlayBackUri(android.net.Uri))`(playBackUri: `[Uri](https://developer.android.com/reference/android/net/Uri.html)`!)` Sets the playback Uri associated with the podcast episode.                                                                                                                                                                                                                                                              |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setPodcastSeriesTitle](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setPodcastSeriesTitle(java.lang.String))`(podcastSeriesTitle: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Sets the name of podcast series to which the episode belongs to.                                                                                                                                                                                                                     |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setProductionName](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setProductionName(java.lang.String))`(productionName: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`!)` Sets the name of the production of the podcast episode.                                                                                                                                                                                                                                          |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setProgressPercentComplete](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setProgressPercentComplete(int))`(progressPercentComplete: `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets progress percent complete of the audio entity.                                                                                                                                                                                                                                       |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setPublishDateEpochMillis](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setPublishDateEpochMillis(long))`(publishDateEpochMillis: `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Sets the publish date of the podcast episode in epoch milliseconds.                                                                                                                                                                                                                       |
| [PodcastEpisodeEntity.Builder](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder)`!` | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setVideoPodcast](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#setVideoPodcast(boolean))`(videoPodcast: `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Sets a boolean value to indicate if podcast episode has video content or not.                                                                                                                                                                                                                                  |

|                           ### Public properties                            |
|----------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [listenNextType](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/PodcastEpisodeEntity.Builder#listenNextType()) |

## Public constructors

### Builder

```
Builder()
```  

## Public functions

### addGenre

```
@CanIgnoreReturnValue
fun addGenre(genre: String!): PodcastEpisodeEntity.Builder!
```

Adds the genre of the podcast episode.

Optional.  

### addGenres

```
@CanIgnoreReturnValue
fun addGenres(genre: (Mutable)List<String!>!): PodcastEpisodeEntity.Builder!
```

Adds the list of genres of the podcast episode.

Optional.  

### addHost

```
@CanIgnoreReturnValue
fun addHost(host: String!): PodcastEpisodeEntity.Builder!
```

Adds the host of the podcast episode.

Optional.  

### addHosts

```
@CanIgnoreReturnValue
fun addHosts(hosts: (Mutable)List<String!>!): PodcastEpisodeEntity.Builder!
```

Adds the list of hosts of the podcast episode.

Optional.  

### addPosterImage

```
@CanIgnoreReturnValue
fun addPosterImage(image: Image!): PodcastEpisodeEntity.Builder!
```

Add a poster image of the entity.

Required.  

### addPosterImages

```
@CanIgnoreReturnValue
fun addPosterImages(images: (Mutable)List<Image!>!): PodcastEpisodeEntity.Builder!
```

Add poster images of the entity.

Required.  

### build

```
fun build(): PodcastEpisodeEntity!
```  

### setDescription

```
@CanIgnoreReturnValue
fun setDescription(description: String!): PodcastEpisodeEntity.Builder!
```

Adds the description of the audio entity.

Optional.  

### setDownloadedOnDevice

```
@CanIgnoreReturnValue
fun setDownloadedOnDevice(downloadedOnDevice: Boolean): PodcastEpisodeEntity.Builder!
```

Sets a boolean value to indicate if podcast episode is downloaded on device or not.

Optional.  

### setDurationMillis

```
@CanIgnoreReturnValue
fun setDurationMillis(durationMillis: Long): PodcastEpisodeEntity.Builder!
```

Sets the duration of the podcast episode in milliseconds.

Optional.  

### setEntityId

```
@CanIgnoreReturnValue
fun setEntityId(entityId: String!): PodcastEpisodeEntity.Builder!
```

Sets content id of the entity.

Optional.  

### setEpisodeIndex

```
@CanIgnoreReturnValue
fun setEpisodeIndex(episodeIndex: Int): PodcastEpisodeEntity.Builder!
```

Sets the index of episode in the podcast series.

Optional.  

### setExplicitContent

```
@CanIgnoreReturnValue
fun setExplicitContent(explicitContent: Boolean): PodcastEpisodeEntity.Builder!
```

Sets a boolean value to indicate if podcast episode has explicit content or not.

Optional.  

### setInfoPageUri

```
@CanIgnoreReturnValue
fun setInfoPageUri(infoPageUri: Uri!): PodcastEpisodeEntity.Builder!
```

Sets the info page Uri associated with the podcast episode.

Optional.  

### setLastEngagementTimeMillis

```
@CanIgnoreReturnValue
fun setLastEngagementTimeMillis(lastEngagementTimeMillis: Long): PodcastEpisodeEntity.Builder!
```

Sets last engagement time of the entity, in milliseconds since Epoch.

Optional.  

### setListenNextType

```
@CanIgnoreReturnValue
fun setListenNextType(listenNextType: Int): PodcastEpisodeEntity.Builder!
```

Sets[ListenNextType](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/ListenNextType)for the audio entity

Optional  

### setName

```
@CanIgnoreReturnValue
fun setName(name: String!): PodcastEpisodeEntity.Builder!
```

Sets the name of the entity.

Required.  

### setPlayBackUri

```
@CanIgnoreReturnValue
fun setPlayBackUri(playBackUri: Uri!): PodcastEpisodeEntity.Builder!
```

Sets the playback Uri associated with the podcast episode.

Required.  

### setPodcastSeriesTitle

```
@CanIgnoreReturnValue
fun setPodcastSeriesTitle(podcastSeriesTitle: String!): PodcastEpisodeEntity.Builder!
```

Sets the name of podcast series to which the episode belongs to.

Required.  

### setProductionName

```
@CanIgnoreReturnValue
fun setProductionName(productionName: String!): PodcastEpisodeEntity.Builder!
```

Sets the name of the production of the podcast episode.

Required.  

### setProgressPercentComplete

```
@CanIgnoreReturnValue
fun setProgressPercentComplete(progressPercentComplete: Int): PodcastEpisodeEntity.Builder!
```

Sets progress percent complete of the audio entity.

Optional  

### setPublishDateEpochMillis

```
@CanIgnoreReturnValue
fun setPublishDateEpochMillis(publishDateEpochMillis: Long): PodcastEpisodeEntity.Builder!
```

Sets the publish date of the podcast episode in epoch milliseconds.

Required.  

### setVideoPodcast

```
@CanIgnoreReturnValue
fun setVideoPodcast(videoPodcast: Boolean): PodcastEpisodeEntity.Builder!
```

Sets a boolean value to indicate if podcast episode has video content or not.

Optional.  

## Public properties

### listenNextType

```
val listenNextType: Int
```