# SessionCommands.Builder

Artifact: [androidx.media3:media3-session](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/session/SessionCommands.java+class:androidx.media3.session.SessionCommands.Builder)

*** ** * ** ***


```
class SessionCommands.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#Builder()()` Creates a new builder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#add(int)(@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode commandCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Adds a command with command code. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#add(androidx.media3.session.SessionCommand)(command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!)` Adds a command. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#addSessionCommands(java.util.Collection<androidx.media3.session.SessionCommand>)(commands: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!>!)` Adds all of the commands in the specified collection. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#build()()` Builds a `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#remove(int)(@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode commandCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Removes a command which matches a given `command code`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder#remove(androidx.media3.session.SessionCommand)(command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!)` Removes a command which matches a given `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand`. |

## Public constructors

### Builder

```
Builder()
```

Creates a new builder.

## Public functions

### add

```
@CanIgnoreReturnValue
fun add(@SessionCommand.CommandCode commandCode: Int): SessionCommands.Builder!
```

Adds a command with command code. Command code must not be `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand#COMMAND_CODE_CUSTOM()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode commandCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A command code to build command and add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | This builder for chaining. |

### add

```
@CanIgnoreReturnValue
fun add(command: SessionCommand!): SessionCommands.Builder!
```

Adds a command.

| Parameters |
|---|---|
| `command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!` | A command to add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | This builder for chaining. |

### addSessionCommands

```
@CanIgnoreReturnValue
fun addSessionCommands(commands: (Mutable)Collection<SessionCommand!>!): SessionCommands.Builder!
```

Adds all of the commands in the specified collection.

| Parameters |
|---|---|
| `commands: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!>!` | collection containing elements to be added to this set |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | This builder for chaining. |

### build

```
fun build(): SessionCommands!
```

Builds a `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands`.

### remove

```
@CanIgnoreReturnValue
fun remove(@SessionCommand.CommandCode commandCode: Int): SessionCommands.Builder!
```

Removes a command which matches a given `command code`. Command code must not be `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand#COMMAND_CODE_CUSTOM()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode commandCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A command code to find. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | This builder for chaining. |

### remove

```
@CanIgnoreReturnValue
fun remove(command: SessionCommand!): SessionCommands.Builder!
```

Removes a command which matches a given `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand`.

| Parameters |
|---|---|
| `command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!` | A command to find. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands.Builder!` | This builder for chaining. |