# RaiseHandAction

Artifact: [androidx.core:core-telecom](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/telecom/extensions/RaiseHandAction.kt+class:androidx.core.telecom.extensions.RaiseHandAction) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

*** ** * ** ***


```
@ExperimentalAppActions
public interface RaiseHandAction
```

<br />

*** ** * ** ***

The action used to determine if the raise hand action is supported by the calling application and notify the calling application when the user requests to raise or lower their hand.

## Summary

| ### Public methods |
|---|---|
| `abstract boolean` | `https://developer.android.com/reference/androidx/core/telecom/extensions/RaiseHandAction#isSupported()()` Whether or not raising/lowering hands is supported by the calling application. |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/telecom/CallControlResult` | `https://developer.android.com/reference/androidx/core/telecom/extensions/RaiseHandAction#requestRaisedHandStateChange(kotlin.Boolean)(boolean isRaised)` Request the calling application to raise or lower this user's hand. |
| `abstract void` | `https://developer.android.com/reference/androidx/core/telecom/extensions/RaiseHandAction#setSupported(kotlin.Boolean)(boolean value)` Whether or not raising/lowering hands is supported by the calling application. |

## Public methods

### isSupported

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

```
abstract boolean isSupported()
```

Whether or not raising/lowering hands is supported by the calling application.

if `true`, then updates about raised hands from the calling application will be notified. If `false`, then the calling application doesn't support this action and state changes will not be notified to the caller and `https://developer.android.com/reference/androidx/core/telecom/extensions/RaiseHandAction#requestRaisedHandStateChange(kotlin.Boolean)` requests will fail.

Must not be queried until `https://developer.android.com/reference/androidx/core/telecom/extensions/CallExtensionScope#onConnected(kotlin.coroutines.SuspendFunction1)` is called or an error will be thrown.

### requestRaisedHandStateChange

```
abstract @NonNull CallControlResult requestRaisedHandStateChange(boolean isRaised)
```

Request the calling application to raise or lower this user's hand.

Whether or not this user's hand is currently raised is determined by inspecting whether or not this `https://developer.android.com/reference/androidx/core/telecom/extensions/Participant` is currently included in the `https://developer.android.com/reference/androidx/core/telecom/extensions/ParticipantExtensionRemote#addRaiseHandAction(kotlin.coroutines.SuspendFunction1)` `onRaisedHandsChanged` callback `List`.

Note: A `https://developer.android.com/reference/androidx/core/telecom/CallControlResult.Success` result does not mean that the raised hand state of the user has changed. It only means that the request was received by the remote application and processed. This can be used to gray out UI until the request has processed.

| Parameters |
|---|---|
| `boolean isRaised` | `true` if this user has raised their hand, `false` if they have lowered their hand |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/telecom/CallControlResult` | Whether or not the remote application received this event. This does not mean that the operation succeeded, but rather the remote received and processed the event successfully. |

### setSupported

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

```
abstract void setSupported(boolean value)
```

Whether or not raising/lowering hands is supported by the calling application.

if `true`, then updates about raised hands from the calling application will be notified. If `false`, then the calling application doesn't support this action and state changes will not be notified to the caller and `https://developer.android.com/reference/androidx/core/telecom/extensions/RaiseHandAction#requestRaisedHandStateChange(kotlin.Boolean)` requests will fail.

Must not be queried until `https://developer.android.com/reference/androidx/core/telecom/extensions/CallExtensionScope#onConnected(kotlin.coroutines.SuspendFunction1)` is called or an error will be thrown.