# FlagSet.Builder

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

*** ** * ** ***


```
class FlagSet.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet` instances.

## Summary

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

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#add(int)(flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Adds a flag. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#addAll(int...)(flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!)` Adds flags. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#addAll(androidx.media3.common.FlagSet)(flags: https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet!)` Adds `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#addIf(int,boolean)(flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, condition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Adds a flag if the provided condition is true. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet!` | `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()()` Builds an `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet` instance. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#remove(int)(flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Removes a flag. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#removeAll(int...)(flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!)` Removes flags. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#removeIf(int,boolean)(flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, condition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Removes a flag if the provided condition is true. |

## Public constructors

### Builder

```
Builder()
```

Creates a builder.

## Public functions

### add

```
@CanIgnoreReturnValue
fun add(flag: Int): FlagSet.Builder!
```

Adds a flag.

| Parameters |
|---|---|
| `flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A flag. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addAll

```
@CanIgnoreReturnValue
fun addAll(flags: IntArray<Int>!): FlagSet.Builder!
```

Adds flags.

| Parameters |
|---|---|
| `flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!` | The flags to add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addAll

```
@CanIgnoreReturnValue
fun addAll(flags: FlagSet!): FlagSet.Builder!
```

Adds `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet`.

| Parameters |
|---|---|
| `flags: https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet!` | The set of flags to add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addIf

```
@CanIgnoreReturnValue
fun addIf(flag: Int, condition: Boolean): FlagSet.Builder!
```

Adds a flag if the provided condition is true. Does nothing otherwise.

| Parameters |
|---|---|
| `flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A flag. |
| `condition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | A condition. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### build

```
fun build(): FlagSet!
```

Builds an `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet` instance.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If this method has already been called. |

### remove

```
@CanIgnoreReturnValue
fun remove(flag: Int): FlagSet.Builder!
```

Removes a flag.

| Parameters |
|---|---|
| `flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A flag. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### removeAll

```
@CanIgnoreReturnValue
fun removeAll(flags: IntArray<Int>!): FlagSet.Builder!
```

Removes flags.

| Parameters |
|---|---|
| `flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!` | The flags to remove. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### removeIf

```
@CanIgnoreReturnValue
fun removeIf(flag: Int, condition: Boolean): FlagSet.Builder!
```

Removes a flag if the provided condition is true. Does nothing otherwise.

| Parameters |
|---|---|
| `flag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A flag. |
| `condition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | A condition. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder!` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/kotlin/androidx/media3/common/FlagSet.Builder#build()` has already been called. |