# EncoderPreference.Builder

Artifact: [androidx.heifwriter:heifwriter](https://developer.android.com/jetpack/androidx/releases/heifwriter) [View Source](https://cs.android.com/search?q=file:androidx/heifwriter/EncoderPreference.java+class:androidx.heifwriter.EncoderPreference.Builder) Added in [1.2.0-rc02](https://developer.android.com/jetpack/androidx/releases/heifwriter#1.2.0-rc02)

*** ** * ** ***


```
public final class EncoderPreference.Builder
```

<br />

*** ** * ** ***

Builder class for constructing a `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference` object from specified parameters.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder#Builder()()` Creates a new Builder with default preference settings. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference` | `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder#build()()` Creates an `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference` object from the current settings. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder` | `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder#setBitrateMode(int)(int bitrateMode)` Sets the preferred bitrate mode. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder` | `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder#setEncoderType(int)(int encoderType)` Sets the preferred encoding type. |

## Public constructors

### Builder

Added in [1.2.0-rc02](https://developer.android.com/jetpack/androidx/releases/heifwriter#1.2.0-rc02)

```
public Builder()
```

Creates a new Builder with default preference settings.

## Public methods

### build

Added in [1.2.0-rc02](https://developer.android.com/jetpack/androidx/releases/heifwriter#1.2.0-rc02)

```
public @NonNull EncoderPreference build()
```

Creates an `https://developer.android.com/reference/androidx/heifwriter/EncoderPreference` object from the current settings.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference` | The immutable EncoderPreference object. |

### setBitrateMode

Added in [1.2.0-rc02](https://developer.android.com/jetpack/androidx/releases/heifwriter#1.2.0-rc02)

```
public @NonNull EncoderPreference.Builder setBitrateMode(int bitrateMode)
```

Sets the preferred bitrate mode.

| Parameters |
|---|---|
| `int bitrateMode` | The preferred bitrate mode. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder` | The Builder object to chain calls. |

### setEncoderType

Added in [1.2.0-rc02](https://developer.android.com/jetpack/androidx/releases/heifwriter#1.2.0-rc02)

```
public @NonNull EncoderPreference.Builder setEncoderType(int encoderType)
```

Sets the preferred encoding type.

| Parameters |
|---|---|
| `int encoderType` | The preferred encoding type (HARDWARE or SOFTWARE). |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/heifwriter/EncoderPreference.Builder` | The Builder object to chain calls. |