# ViewfinderSurfaceSession

Artifact: [androidx.camera.viewfinder:viewfinder-core](https://developer.android.com/jetpack/androidx/releases/camera-viewfinder) [View Source](https://cs.android.com/search?q=file:androidx/camera/viewfinder/core/ViewfinderSurfaceSession.kt+class:androidx.camera.viewfinder.core.ViewfinderSurfaceSession) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/camera-viewfinder#1.5.0)

*** ** * ** ***


```
public interface ViewfinderSurfaceSession extends AutoCloseable
```

<br />

*** ** * ** ***

A session of a `https://developer.android.com/reference/android/view/Surface.html` provided by a viewfinder.

The enclosed `https://developer.android.com/reference/android/view/Surface.html` is where pixels can be written by the client to be shown in the viewfinder that created this session. When the client no longer needs to write into the surface, the session must be closed with `https://developer.android.com/reference/java/lang/AutoCloseable.html#close()`. Failure to call `https://developer.android.com/reference/java/lang/AutoCloseable.html#close()` could potentially delay releasing significant resources.

## Summary

| ### Public methods |
|---|---|
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/camera/viewfinder/core/ViewfinderSurfaceRequest` | `https://developer.android.com/reference/androidx/camera/viewfinder/core/ViewfinderSurfaceSession#getRequest()()` The `https://developer.android.com/reference/androidx/camera/viewfinder/core/ViewfinderSurfaceRequest` responsible for this session. |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/Surface.html` | `https://developer.android.com/reference/androidx/camera/viewfinder/core/ViewfinderSurfaceSession#getSurface()()` The `https://developer.android.com/reference/android/view/Surface.html` available for this session. |

| ### Inherited methods |
|---|
| From [java.lang.AutoCloseable](https://developer.android.com/reference/java/lang/AutoCloseable.html) |---|---| | `abstract void` | `https://developer.android.com/reference/java/lang/AutoCloseable.html#close()()` | |

## Public methods

### getRequest

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/camera-viewfinder#1.5.0)

```
abstract @NonNull ViewfinderSurfaceRequest getRequest()
```

The `https://developer.android.com/reference/androidx/camera/viewfinder/core/ViewfinderSurfaceRequest` responsible for this session.

### getSurface

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/camera-viewfinder#1.5.0)

```
abstract @NonNull Surface getSurface()
```

The `https://developer.android.com/reference/android/view/Surface.html` available for this session. Users of this surface should not call `https://developer.android.com/reference/android/view/Surface.html#release()`, and should close the session with `https://developer.android.com/reference/java/lang/AutoCloseable.html#close()` instead when the surface is no longer in use.