CameraFilter


public interface CameraFilter


An interface for filtering cameras.

Summary

Public methods

abstract @NonNull List<CameraInfo>
filter(@NonNull List<CameraInfo> cameraInfos)

Filters a list of CameraInfos and returns those matching the requirements.

Public methods

filter

Added in 1.0.0
abstract @NonNull List<CameraInfofilter(@NonNull List<CameraInfo> cameraInfos)

Filters a list of CameraInfos and returns those matching the requirements.

If the output list contains CameraInfos not in the input list, when used by a androidx.camera.core.CameraSelector then it will result in an IllegalArgumentException thrown when calling bindToLifecycle.

The CameraInfo that has lower index in the list has higher priority. When used by addCameraFilter, the available cameras will be filtered by all CameraFilters by the order they were added. The first camera in the result will be selected if there are multiple cameras left.

Parameters
@NonNull List<CameraInfo> cameraInfos

An unmodifiable list of CameraInfos being filtered.

Returns
@NonNull List<CameraInfo>

The output list of CameraInfos that match the requirements. Users are expected to create a new list to return with.

Throws
java.lang.IllegalArgumentException

If the device cannot return a valid lens facing value, it will throw this exception.