# 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
public final class HandlerExecutor implements 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/androidx/media3/common/util/HandlerWrapper` and forwards uncaught `https://developer.android.com/reference/java/lang/RuntimeException.html` to a `https://developer.android.com/reference/androidx/media3/common/util/HandlerExecutor.Listener`.

## Summary

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

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

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerExecutor#execute(java.lang.Runnable)(https://developer.android.com/reference/java/lang/Runnable.html command)` |

## Public constructors

### HandlerExecutor

```
public HandlerExecutor(Handler handler, HandlerExecutor.Listener listener)
```

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

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

### HandlerExecutor

```
public HandlerExecutor(
    HandlerWrapper handler,
    HandlerExecutor.Listener listener
)
```

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

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

## Public methods

### execute

```
public void execute(Runnable command)
```