# IdlingResourceRegistry

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

*** ** * ** ***


```
@Singleton
public final class IdlingResourceRegistry
```

<br />

*** ** * ** ***

Keeps track of user-registered `https://developer.android.com/reference/androidx/test/espresso/IdlingResource`. Consider using `https://developer.android.com/reference/androidx/test/espresso/IdlingRegistry` instead of this class.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#IdlingResourceRegistry(android.os.Looper)(https://developer.android.com/reference/android/os/Looper.html looper)` |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/test/espresso/IdlingResource>` | `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#getResources()()` Returns a list of all currently registered `https://developer.android.com/reference/androidx/test/espresso/IdlingResource`s. |
| `void` | `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#registerLooper(android.os.Looper,boolean)(https://developer.android.com/reference/android/os/Looper.html looper, boolean considerWaitIdle)` |
| `boolean` | `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#registerResources(java.util.List<? extends androidx.test.espresso.IdlingResource>)(https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/test/espresso/IdlingResource> resourceList)` Registers the given resources. |
| `void` | `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#sync(java.lang.Iterable<androidx.test.espresso.IdlingResource>,java.lang.Iterable<android.os.Looper>)(https://developer.android.com/reference/java/lang/Iterable.html<https://developer.android.com/reference/androidx/test/espresso/IdlingResource> resources, https://developer.android.com/reference/java/lang/Iterable.html<https://developer.android.com/reference/android/os/Looper.html> loopers)` Ensures that this idling resource registry is in sync with given resources by registering/un-registering idling resources as needed. |
| `boolean` | `https://developer.android.com/reference/androidx/test/espresso/base/IdlingResourceRegistry#unregisterResources(java.util.List<? extends androidx.test.espresso.IdlingResource>)(https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/test/espresso/IdlingResource> resourceList)` Unregisters the given resources. |

## Public constructors

### IdlingResourceRegistry

```
public IdlingResourceRegistry(Looper looper)
```

## Public methods

### getResources

```
public List<IdlingResource> getResources()
```

Returns a list of all currently registered `https://developer.android.com/reference/androidx/test/espresso/IdlingResource`s. This method is safe to call from any thread.

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/test/espresso/IdlingResource>` | an immutable List of `https://developer.android.com/reference/androidx/test/espresso/IdlingResource`s. |

### registerLooper

```
public void registerLooper(Looper looper, boolean considerWaitIdle)
```

### registerResources

```
public boolean registerResources(List<IdlingResource> resourceList)
```

Registers the given resources. If any of the given resources are already registered, a warning is logged.

| Returns |
|---|---|
| `boolean` | `true` if all resources were successfully registered |

### sync

```
public void sync(Iterable<IdlingResource> resources, Iterable<Looper> loopers)
```

Ensures that this idling resource registry is in sync with given resources by registering/un-registering idling resources as needed.

### unregisterResources

```
public boolean unregisterResources(List<IdlingResource> resourceList)
```

Unregisters the given resources. If any of the given resources are not already registered, a warning is logged.

| Returns |
|---|---|
| `boolean` | `true` if all resources were successfully unregistered |