SurfaceRequest.Result

@AutoValue
abstract class SurfaceRequest.Result


Result of providing a surface to a SurfaceRequest via provideSurface.

Summary

Constants

const Int

Provided surface could not be used by the camera.

const Int

Provided surface was never attached to the camera due to the SurfaceRequest being cancelled by the camera.

const Int

Surface was not attached to the camera through this invocation of provideSurface due to the SurfaceRequest already being complete with a surface.

const Int

Provided surface was successfully used by the camera and eventually detached once no longer needed by the camera.

const Int

Surface was not attached to the camera through this invocation of provideSurface due to the SurfaceRequest already being marked as "will not provide surface".

Public functions

abstract Int

Returns the result of invoking provideSurface with the surface from getSurface.

abstract Surface

The surface used to complete a SurfaceRequest with provideSurface.

Constants

RESULT_INVALID_SURFACE

Added in 1.0.0
const val RESULT_INVALID_SURFACE = 2: Int

Provided surface could not be used by the camera.

This is likely due to the Surface being closed prematurely or the resolution of the surface not matching the resolution specified by getResolution.

RESULT_REQUEST_CANCELLED

Added in 1.0.0
const val RESULT_REQUEST_CANCELLED = 1: Int

Provided surface was never attached to the camera due to the SurfaceRequest being cancelled by the camera.

It is safe to release or reuse Surface, assuming it was not previously attached to a camera via provideSurface. If reusing the surface for a future surface request, it should be verified that the surface still matches the resolution specified by getResolution.

RESULT_SURFACE_ALREADY_PROVIDED

Added in 1.0.0
const val RESULT_SURFACE_ALREADY_PROVIDED = 3: Int

Surface was not attached to the camera through this invocation of provideSurface due to the SurfaceRequest already being complete with a surface.

The SurfaceRequest has already been completed by a previous invocation of provideSurface.

It is safe to release or reuse the Surface, assuming it was not previously attached to a camera via provideSurface.

RESULT_SURFACE_USED_SUCCESSFULLY

Added in 1.0.0
const val RESULT_SURFACE_USED_SUCCESSFULLY = 0: Int

Provided surface was successfully used by the camera and eventually detached once no longer needed by the camera.

This result denotes that it is safe to release the Surface and any underlying resources.

For compatibility reasons, the Surface object should not be reused by future SurfaceRequests, and a new surface should be created instead.

RESULT_WILL_NOT_PROVIDE_SURFACE

Added in 1.0.0
const val RESULT_WILL_NOT_PROVIDE_SURFACE = 4: Int

Surface was not attached to the camera through this invocation of provideSurface due to the SurfaceRequest already being marked as "will not provide surface".

The SurfaceRequest has already been marked as 'will not provide surface' by a previous invocation of willNotProvideSurface.

It is safe to release or reuse the Surface, assuming it was not previously attached to a camera via provideSurface.

Public functions

getResultCode

Added in 1.0.0
abstract fun getResultCode(): Int

Returns the result of invoking provideSurface with the surface from getSurface.

getSurface

Added in 1.0.0
abstract fun getSurface(): Surface

The surface used to complete a SurfaceRequest with provideSurface.

Returns
Surface

the surface.