# RequirementsWatcher

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

*** ** * ** ***


```
@UnstableApi
public final class RequirementsWatcher
```

<br />

*** ** * ** ***

Watches whether the `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements` are met and notifies the `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher.Listener` on changes.

## Summary

| ### Nested types |
|---|
| `public interface https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher.Listener` Notified when RequirementsWatcher instance first created and on changes whether the `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements` are met. |

| ### Public fields |
|---|---|
| `final https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements` | `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher#requirements()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher#RequirementsWatcher(android.content.Context,androidx.media3.exoplayer.scheduler.RequirementsWatcher.Listener,androidx.media3.exoplayer.scheduler.Requirements)( https://developer.android.com/reference/android/content/Context.html context, https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher.Listener listener, https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements requirements )` |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements` | `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher#getRequirements()()` Returns watched `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements`. |
| `int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements.RequirementFlags https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher#start()()` Starts watching for changes. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher#stop()()` Stops watching for changes. |

## Public fields

### requirements

```
public final Requirements requirements
```

## Public constructors

### RequirementsWatcher

```
public RequirementsWatcher(
    Context context,
    RequirementsWatcher.Listener listener,
    Requirements requirements
)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` | Any context. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/RequirementsWatcher.Listener listener` | Notified whether the `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements` are met. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements requirements` | The requirements to watch. |

## Public methods

### getRequirements

```
public Requirements getRequirements()
```

Returns watched `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements`.

### start

```
@Requirements.RequirementFlags
public int start()
```

Starts watching for changes. Must be called from a thread that has an associated `https://developer.android.com/reference/android/os/Looper.html`. Listener methods are called on the caller thread.

| Returns |
|---|---|
| `int` | Initial `https://developer.android.com/reference/androidx/media3/exoplayer/scheduler/Requirements.RequirementFlags` that are not met, or 0. |

### stop

```
public void stop()
```

Stops watching for changes.