Builder

class Builder
kotlin.Any
   ↳ androidx.camera.core.FocusMeteringAction.Builder

The builder used to create the FocusMeteringAction. App must use Builder#from(MeteringPoint) or Builder#from(MeteringPoint, int) to create the Builder.

Summary

Public methods

open FocusMeteringAction.Builder
addPoint(@NonNull point: MeteringPoint)

Adds another MeteringPoint with default mode FLAG_AF | FLAG_AE | FLAG_AWB.

open FocusMeteringAction.Builder
addPoint(@NonNull point: MeteringPoint, mode: Int)

Adds another MeteringPoint with specified meteringMode.

open FocusMeteringAction

Builds the FocusMeteringAction instance.

open FocusMeteringAction.Builder

Disables the auto-cancel.

open static FocusMeteringAction.Builder
from(@NonNull meteringPoint: MeteringPoint)

Creates the Builder from a MeteringPoint with default mode FLAG_AF | FLAG_AE | FLAG_AWB.

open static FocusMeteringAction.Builder
from(@NonNull meteringPoint: MeteringPoint, mode: Int)

Creates the Builder from a MeteringPoint and MeteringMode.

open FocusMeteringAction.Builder
setAutoCancelDuration(duration: Long, @NonNull timeUnit: TimeUnit)

Sets the auto-cancel duration.

Public methods

addPoint

@NonNull open fun addPoint(@NonNull point: MeteringPoint): FocusMeteringAction.Builder

Adds another MeteringPoint with default mode FLAG_AF | FLAG_AE | FLAG_AWB.

The points added here will be appended in order after the point set in FocusMeteringAction.Builder#from(MeteringPoint) or FocusMeteringAction.Builder#from(MeteringPoint, int).

If more points are added than what current device supports for AF/AE/AWB, only the first point and then in order up to the number of points supported on the device will be enabled.

If none of the points is supported on the device, this FocusMeteringAction will cause CameraControl#startFocusAndMetering(FocusMeteringAction) to fail.

addPoint

@NonNull open fun addPoint(
    @NonNull point: MeteringPoint,
    mode: Int
): FocusMeteringAction.Builder

Adds another MeteringPoint with specified meteringMode.

The points added here will be appended in order after the point set in FocusMeteringAction.Builder#from(MeteringPoint) or FocusMeteringAction.Builder#from(MeteringPoint, int).

If more points are added than what current device supports for AF/AE/AWB, only the first point and then in order up to the number of points supported on the device will be enabled.

If none of the points is supported on the device, this FocusMeteringAction will cause CameraControl#startFocusAndMetering(FocusMeteringAction) to fail.

build

@NonNull open fun build(): FocusMeteringAction

Builds the FocusMeteringAction instance.

disableAutoCancel

@NonNull open fun disableAutoCancel(): FocusMeteringAction.Builder

Disables the auto-cancel.

from

@NonNull open static fun from(@NonNull meteringPoint: MeteringPoint): FocusMeteringAction.Builder

Creates the Builder from a MeteringPoint with default mode FLAG_AF | FLAG_AE | FLAG_AWB.

from

@NonNull open static fun from(
    @NonNull meteringPoint: MeteringPoint,
    mode: Int
): FocusMeteringAction.Builder

Creates the Builder from a MeteringPoint and MeteringMode.

setAutoCancelDuration

@NonNull open fun setAutoCancelDuration(
    duration: Long,
    @NonNull timeUnit: TimeUnit
): FocusMeteringAction.Builder

Sets the auto-cancel duration. After set, CameraControl#cancelFocusAndMetering() will be called in specified duration. By default, auto-cancel is enabled with 5 seconds duration. The duration must be greater than or equal to 1 otherwise it will throw a IllegalArgumentException.