Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#inhmethods)

# MultiResolutionImageReader.Builder

*** ** * ** ***


`
public
static
final

class
MultiResolutionImageReader.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.hardware.camera2.MultiResolutionImageReader.Builder |

<br />

*** ** * ** ***

Builder class for `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader` objects.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#Builder(java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>,%20int,%20int)(https://developer.android.com/reference/java/util/Collection<https://developer.android.com/reference/android/hardware/camera2/params/MultiResolutionStreamInfo> streams, int format, int maxImages) ` Constructs a new builder for `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader`. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader` | ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#build()() ` Build a new MultiResolutionImageReader object. |
| ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder` | ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#setConcurrentOutputsEnabled(boolean)(boolean enable) ` Turn on/off concurrent outputs for the internal ImageReaders. |
| ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder` | ` https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder#setUsage(long)(long usage) ` Set the intended `https://developer.android.com/` of the images produced by the internal ImageReaders. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### Builder

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Builder (Collection<MultiResolutionStreamInfo> streams, 
                int format, 
                int maxImages)
```

Constructs a new builder for `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader`.

See `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader#MultiResolutionImageReader(java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>,%20int,%20int,%20long)`
for detailed explanations of the constructor parameters.

<br />

<br />

| Parameters ||
|---|---|
| `streams` | `Collection`: The group of multi-resolution stream info returned from `https://developer.android.com/reference/android/hardware/camera2/params/MultiResolutionStreamConfigurationMap#getOutputFormats()`. This value cannot be `null`. <br /> |
| `format` | `int`: The format of the Image that this multi-resolution reader will produce. <br /> |
| `maxImages` | `int`: The maximum number of images the user will want to access simultaneously. Value is 1 or greater <br /> |

## Public methods

### build

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public MultiResolutionImageReader build ()
```

Build a new MultiResolutionImageReader object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader` | The new MultiResolutionImageReader object. This value cannot be `null`. <br /> |

### setConcurrentOutputsEnabled

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public MultiResolutionImageReader.Builder setConcurrentOutputsEnabled (boolean enable)
```

Turn on/off concurrent outputs for the internal ImageReaders.

If `https://developer.android.com/reference/android/hardware/camera2/params/MultiResolutionStreamConfigurationMap#isConcurrentReadersSupported(int)`
returns `true`, the camera device supports concurrent outputs from
multiple internal ImageReaders (for example, in scenarios where multiple sensors run
at the same time). By default, concurrent outputs are disabled. The application can
enable such mode by calling this function with `true`.

<br />

<br />

| Parameters ||
|---|---|
| `enable` | `boolean`: Whether to allow the camera device to output concurrent readers for this MultiResolutionImageReader. If set to true for a device that doesn't support MultiResolutionImageReader concurrency, `https://developer.android.com/reference/android/hardware/camera2/CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration)` will fail. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder` | the Builder instance with concurrency enabled. This value cannot be `null`. <br /> |

### setUsage

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public MultiResolutionImageReader.Builder setUsage (long usage)
```

Set the intended `https://developer.android.com/` of the images produced by the
internal ImageReaders.

The default usage is `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_CPU_READ_OFTEN`, unless the format
is `https://developer.android.com/reference/android/graphics/ImageFormat#PRIVATE`, in which case the default usage is 0.

<br />

<br />

| Parameters ||
|---|---|
| `usage` | `long`: The intended `https://developer.android.com/` of the images produced by the internal ImageReaders. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_CPU_READ_RARELY` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_CPU_READ_OFTEN` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_CPU_WRITE_RARELY` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_CPU_WRITE_OFTEN` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_GPU_SAMPLED_IMAGE` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_GPU_COLOR_OUTPUT` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_COMPOSER_OVERLAY` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_PROTECTED_CONTENT` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_VIDEO_ENCODE` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_GPU_DATA_BUFFER` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_SENSOR_DIRECT_DATA` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_GPU_CUBE_MAP` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_GPU_MIPMAP_COMPLETE` - `https://developer.android.com/reference/android/hardware/HardwareBuffer#USAGE_FRONT_BUFFER` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.Builder` | the Builder instance with customized usage value. This value cannot be `null`. <br /> |