# HandlerExecutor

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

*** ** * ** ***


```
@UnstableApi
class HandlerExecutor : Executor
```

<br />

*** ** * ** ***

An `https://developer.android.com/reference/java/util/concurrent/Executor.html` that posts commands to a `https://developer.android.com/reference/android/os/Handler.html` or `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper` and forwards uncaught `https://developer.android.com/reference/java/lang/RuntimeException.html` to a `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener`.

## Summary

| ### Nested types |
|---|
| `interface https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener` Listener for uncaught exceptions thrown during command execution. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor#HandlerExecutor(android.os.Handler,androidx.media3.common.util.HandlerExecutor.Listener)(handler: https://developer.android.com/reference/android/os/Handler.html!, listener: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener!)` Creates an instance that posts commands to the specified `https://developer.android.com/reference/android/os/Handler.html`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor#HandlerExecutor(androidx.media3.common.util.HandlerWrapper,androidx.media3.common.util.HandlerExecutor.Listener)( handler: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper!, listener: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener! )` Creates an instance that posts commands to the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper`. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor#execute(java.lang.Runnable)(command: https://developer.android.com/reference/java/lang/Runnable.html!)` |

## Public constructors

### HandlerExecutor

```
HandlerExecutor(handler: Handler!, listener: HandlerExecutor.Listener!)
```

Creates an instance that posts commands to the specified `https://developer.android.com/reference/android/os/Handler.html`.

| Parameters |
|---|---|
| `handler: https://developer.android.com/reference/android/os/Handler.html!` | The `https://developer.android.com/reference/android/os/Handler.html` to post commands to. |
| `listener: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener` to notify of uncaught `https://developer.android.com/reference/java/lang/RuntimeException.html`. |

### HandlerExecutor

```
HandlerExecutor(
    handler: HandlerWrapper!,
    listener: HandlerExecutor.Listener!
)
```

Creates an instance that posts commands to the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper`.

| Parameters |
|---|---|
| `handler: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerWrapper` to post commands to. |
| `listener: https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/util/HandlerExecutor.Listener` to notify of uncaught `https://developer.android.com/reference/java/lang/RuntimeException.html`. |

## Public functions

### execute

```
fun execute(command: Runnable!): Unit
```