# HandlerWrapper

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/HandlerWrapper.java+class:androidx.media3.common.util.HandlerWrapper)

*** ** * ** ***


```
@UnstableApi
public interface HandlerWrapper
```

<br />

*** ** * ** ***

An interface to call through to a `https://developer.android.com/reference/android/os/Handler.html`. Instances must be created by calling `https://developer.android.com/reference/androidx/media3/common/util/Clock#createHandler(android.os.Looper,android.os.Handler.Callback)` on `https://developer.android.com/reference/androidx/media3/common/util/Clock#DEFAULT()` for all non-test cases.

## Summary

| ### Nested types |
|---|
| `public interface https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message` A message obtained from the handler. |

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/android/os/Looper.html` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#getLooper()()` See `https://developer.android.com/reference/android/os/Handler.html#getLooper()`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#hasMessages(int)(int what)` See `https://developer.android.com/reference/android/os/Handler.html#hasMessages(int)`. |
| `abstract https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#obtainMessage(int)(int what)` See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int)`. |
| `abstract https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#obtainMessage(int,java.lang.Object)(int what, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, java.lang.Object)`. |
| `abstract https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#obtainMessage(int,int,int)(int what, int arg1, int arg2)` See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, int, int)`. |
| `abstract https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#obtainMessage(int,int,int,java.lang.Object)(int what, int arg1, int arg2, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, int, int, java.lang.Object)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#post(java.lang.Runnable)(https://developer.android.com/reference/java/lang/Runnable.html runnable)` See `https://developer.android.com/reference/android/os/Handler.html#post(java.lang.Runnable)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#postAtFrontOfQueue(java.lang.Runnable)(https://developer.android.com/reference/java/lang/Runnable.html runnable)` See `https://developer.android.com/reference/android/os/Handler.html#postAtFrontOfQueue(java.lang.Runnable)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#postDelayed(java.lang.Runnable,long)(https://developer.android.com/reference/java/lang/Runnable.html runnable, long delayMs)` See `https://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long)`. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#removeCallbacks(java.lang.Runnable)(https://developer.android.com/reference/java/lang/Runnable.html runnable)` See `https://developer.android.com/reference/android/os/Handler.html#removeCallbacks(java.lang.Runnable)`. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#removeCallbacksAndMessages(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html token)` See `https://developer.android.com/reference/android/os/Handler.html#removeCallbacksAndMessages(java.lang.Object)`. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#removeMessages(int)(int what)` See `https://developer.android.com/reference/android/os/Handler.html#removeMessages(int)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#sendEmptyMessage(int)(int what)` See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessage(int)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#sendEmptyMessageAtTime(int,long)(int what, long uptimeMs)` See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessageAtTime(int, long)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#sendEmptyMessageDelayed(int,int)(int what, int delayMs)` See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessageDelayed(int, long)`. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper#sendMessageAtFrontOfQueue(androidx.media3.common.util.HandlerWrapper.Message)(https://developer.android.com/reference/androidx/media3/common/util/HandlerWrapper.Message message)` See `https://developer.android.com/reference/android/os/Handler.html#sendMessageAtFrontOfQueue(android.os.Message)`. |

## Public methods

### getLooper

```
abstract Looper getLooper()
```

See `https://developer.android.com/reference/android/os/Handler.html#getLooper()`.

### hasMessages

```
abstract boolean hasMessages(int what)
```

See `https://developer.android.com/reference/android/os/Handler.html#hasMessages(int)`.

### obtainMessage

```
abstract HandlerWrapper.Message obtainMessage(int what)
```

See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int)`.

### obtainMessage

```
abstract HandlerWrapper.Message obtainMessage(int what, @Nullable Object obj)
```

See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, java.lang.Object)`.

### obtainMessage

```
abstract HandlerWrapper.Message obtainMessage(int what, int arg1, int arg2)
```

See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, int, int)`.

### obtainMessage

```
abstract HandlerWrapper.Message obtainMessage(int what, int arg1, int arg2, @Nullable Object obj)
```

See `https://developer.android.com/reference/android/os/Handler.html#obtainMessage(int, int, int, java.lang.Object)`.

### post

```
abstract boolean post(Runnable runnable)
```

See `https://developer.android.com/reference/android/os/Handler.html#post(java.lang.Runnable)`.

### postAtFrontOfQueue

```
abstract boolean postAtFrontOfQueue(Runnable runnable)
```

See `https://developer.android.com/reference/android/os/Handler.html#postAtFrontOfQueue(java.lang.Runnable)`.

### postDelayed

```
abstract boolean postDelayed(Runnable runnable, long delayMs)
```

See `https://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long)`.

### removeCallbacks

```
abstract void removeCallbacks(Runnable runnable)
```

See `https://developer.android.com/reference/android/os/Handler.html#removeCallbacks(java.lang.Runnable)`.

### removeCallbacksAndMessages

```
abstract void removeCallbacksAndMessages(@Nullable Object token)
```

See `https://developer.android.com/reference/android/os/Handler.html#removeCallbacksAndMessages(java.lang.Object)`.

### removeMessages

```
abstract void removeMessages(int what)
```

See `https://developer.android.com/reference/android/os/Handler.html#removeMessages(int)`.

### sendEmptyMessage

```
abstract boolean sendEmptyMessage(int what)
```

See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessage(int)`.

### sendEmptyMessageAtTime

```
abstract boolean sendEmptyMessageAtTime(int what, long uptimeMs)
```

See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessageAtTime(int, long)`.

### sendEmptyMessageDelayed

```
abstract boolean sendEmptyMessageDelayed(int what, int delayMs)
```

See `https://developer.android.com/reference/android/os/Handler.html#sendEmptyMessageDelayed(int, long)`.

### sendMessageAtFrontOfQueue

```
abstract boolean sendMessageAtFrontOfQueue(HandlerWrapper.Message message)
```

See `https://developer.android.com/reference/android/os/Handler.html#sendMessageAtFrontOfQueue(android.os.Message)`.