# MediaSession.ConnectionResult

Artifact: [androidx.media3:media3-session](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/session/MediaSession.java+class:androidx.media3.session.MediaSession.ConnectionResult)

*** ** * ** ***

<br />

```
class MediaSession.ConnectionResult
```

<br />

*** ** * ** ***

A result for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.Callback#onConnectAsync(androidx.media3.session.MediaSession,androidx.media3.session.MediaSession.ControllerInfo)` to denote the set of available commands and the media button preferences for a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo`.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi class https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult.AcceptedResultBuilder` A builder for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult` instances to accept a connection. |

| ### Constants |
|---|---|
| `const https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_PLAYER_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()`. |
| `const https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_SESSION_AND_LIBRARY_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `const https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_SESSION_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is not a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `const https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_UNTRUSTED_PLAYER_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()`. |
| `const https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_UNTRUSTED_SESSION_AND_LIBRARY_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `const https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#DEFAULT_UNTRUSTED_SESSION_COMMANDS()` The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is not a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |

| ### Public functions |
|---|---|
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#accept(androidx.media3.session.SessionCommands,androidx.media3.common.Player.Commands)( availableSessionCommands: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!, availablePlayerCommands: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands! )` Creates a connection result with the given session and player commands. |
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#reject()()` Creates a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult` to reject a connection. |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#availablePlayerCommands()` Available player commands. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#availableSessionCommands()` Available session commands. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!>?` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#customLayout()` The custom layout or null if the custom layout of the session should be used. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#isAccepted()` Whether the connection request is accepted or not. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!>?` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#mediaButtonPreferences()` The media button preferences or null if the media button preferences of the session should be used. |
| `https://developer.android.com/reference/android/app/PendingIntent.html?` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#sessionActivity()` The session activity. |
| `https://developer.android.com/reference/android/os/Bundle.html?` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult#sessionExtras()` The session extras. |

## Constants

### DEFAULT_PLAYER_COMMANDS

```
@UnstableApi
const val DEFAULT_PLAYER_COMMANDS: Player.Commands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()`.

### DEFAULT_SESSION_AND_LIBRARY_COMMANDS

```
@UnstableApi
const val DEFAULT_SESSION_AND_LIBRARY_COMMANDS: SessionCommands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`.

### DEFAULT_SESSION_COMMANDS

```
@UnstableApi
const val DEFAULT_SESSION_COMMANDS: SessionCommands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is not a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`.

### DEFAULT_UNTRUSTED_PLAYER_COMMANDS

```
@UnstableApi
const val DEFAULT_UNTRUSTED_PLAYER_COMMANDS: Player.Commands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()`. Contains all commands from `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands.Builder#addAllReadOnlyCommands()`.

### DEFAULT_UNTRUSTED_SESSION_AND_LIBRARY_COMMANDS

```
@UnstableApi
const val DEFAULT_UNTRUSTED_SESSION_AND_LIBRARY_COMMANDS: SessionCommands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`.

### DEFAULT_UNTRUSTED_SESSION_COMMANDS

```
@UnstableApi
const val DEFAULT_UNTRUSTED_SESSION_COMMANDS: SessionCommands!
```

The default `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands` used when a controller is not `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ControllerInfo#isTrusted()` and the session is not a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.MediaLibrarySession`.

## Public functions

### accept

```
java-static fun accept(
    availableSessionCommands: SessionCommands!,
    availablePlayerCommands: Player.Commands!
): MediaSession.ConnectionResult!
```

Creates a connection result with the given session and player commands.

Commands are specific to the controller receiving this connection result.

The controller receives `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession#getMediaButtonPreferences()`.

See `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult.AcceptedResultBuilder` for a more flexible way to accept a connection.

### reject

```
java-static fun reject(): MediaSession.ConnectionResult!
```

Creates a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.ConnectionResult` to reject a connection.

## Public properties

### availablePlayerCommands

```
val availablePlayerCommands: Player.Commands!
```

Available player commands.

### availableSessionCommands

```
val availableSessionCommands: SessionCommands!
```

Available session commands.

### customLayout

```
@UnstableApi
val customLayout: ImmutableList<CommandButton!>?
```

The custom layout or null if the custom layout of the session should be used.

### isAccepted

```
val isAccepted: Boolean
```

Whether the connection request is accepted or not.

### mediaButtonPreferences

```
@UnstableApi
val mediaButtonPreferences: ImmutableList<CommandButton!>?
```

The media button preferences or null if the media button preferences of the session should be used.

### sessionActivity

```
@UnstableApi
val sessionActivity: PendingIntent?
```

The session activity.

### sessionExtras

```
@UnstableApi
val sessionExtras: Bundle?
```

The session extras.