# A2uiCoreSurfaceGroupModel

Artifact: [androidx.a2ui:a2ui-engine](https://developer.android.com/jetpack/androidx/releases/a2ui) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel.kt+class:androidx.a2ui.engine.model.A2uiCoreSurfaceGroupModel) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

*** ** * ** ***


```
public final class A2uiCoreSurfaceGroupModel
```

<br />

*** ** * ** ***

The central manager for all active surfaces on the client.

It exposes an observable list of active `https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceModel`s and acts as a registry to resolve active surfaces by their unique ID.

Concurrency design: This class is thread-safe for concurrent operations across different surface IDs (e.g., adding or deleting different surfaces in parallel). It relies on external sequentialization (such as sequential actors or single-threaded queues) to ensure that operations targeting the same surface ID are executed sequentially.

## Summary

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceModel>>` | `https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#getActiveSurfaces()()` Exposes the currently active surfaces to the host UI framework. |
| `int` | `https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#hashCode()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#toString()()` |

## Public methods

### equals

```
public boolean equals(Object other)
```

### getActiveSurfaces

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
public final @NonNull StateFlow<@NonNull List<@NonNull A2uiCoreSurfaceModel>> getActiveSurfaces()
```

Exposes the currently active surfaces to the host UI framework.

### hashCode

```
public int hashCode()
```

### toString

```
public @NonNull String toString()
```