# BinderStressCreator

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

*** ** * ** ***


```
@UnstableApi
public final class BinderStressCreator implements AutoCloseable
```

<br />

*** ** * ** ***

A utility for creating artificial stress on the system process binder.

While the class is active, any attempt to call a binder method to the system process will be much slower.

This class should be used in a try-with-resources block.

Use `https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator#verifyNoSystemBinderCalls(com.google.common.base.Supplier<T>,java.util.function.Consumer<T>)` to verify no system binder calls happen in a test.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator#BinderStressCreator(android.content.Context)(https://developer.android.com/reference/android/content/Context.html context)` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator#close()()` |
| `static void` | `<T> https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator#verifyNoSystemBinderCalls(com.google.common.base.Supplier<T>,java.util.function.Consumer<T>)( https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html<T> systemUnderTest, https://developer.android.com/reference/java/util/function/Consumer.html<T> cleanUp )` Verifies that the provided system-under-test does not exercise any system binder calls by comparing the run time with and without additional stress caused by `https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator`. |

## Public constructors

### BinderStressCreator

```
public BinderStressCreator(Context context)
```

## Public methods

### close

```
public void close()
```

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/Exception.html` |   |

### verifyNoSystemBinderCalls

```
public static void <T> verifyNoSystemBinderCalls(
    Supplier<T> systemUnderTest,
    Consumer<T> cleanUp
)
```

Verifies that the provided system-under-test does not exercise any system binder calls by comparing the run time with and without additional stress caused by `https://developer.android.com/reference/androidx/media3/test/utils/BinderStressCreator`.

| Parameters |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html<T> systemUnderTest` | The system-under-test that can return a test object for later clean-up. |
| `https://developer.android.com/reference/java/util/function/Consumer.html<T> cleanUp` | The clean-up stage for the system-under-test. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/Exception.html` |   |