# 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)

*** ** * ** ***


```
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/kotlin/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 functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#hashCode()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#toString()()` |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/engine/model/A2uiCoreSurfaceModel>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/model/A2uiCoreSurfaceGroupModel#activeSurfaces()` Exposes the currently active surfaces to the host UI framework. |

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

### toString

```
open fun toString(): String
```

## Public properties

### activeSurfaces

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

```
val activeSurfaces: StateFlow<List<A2uiCoreSurfaceModel>>
```

Exposes the currently active surfaces to the host UI framework.