# Until

# Until

Artifact:[androidx.test.uiautomator:uiautomator](https://developer.android.com/jetpack/androidx/releases/test-uiautomator)  
[View Source](https://cs.android.com/search?q=file:androidx/test/uiautomator/Until.java+class:androidx.test.uiautomator.Until)  
Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/test/uiautomator/Until "View this page in Java")

<br />

```
class Until
```

<br />

*** ** * ** ***

The[Until](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until)class provides factory methods for constructing common conditions.

## Summary

|                                                                                                                                                                                                         ### Public functions                                                                                                                                                                                                          |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [checkable](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#checkable(boolean))`(isCheckable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s checkable state.                                                                                         |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [checked](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#checked(boolean))`(isChecked: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s checked state.                                                                                                 |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [clickable](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#clickable(boolean))`(isClickable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s clickable state.                                                                                         |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descContains](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descContains(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's content description contains the given string (case-sensitive).                                                                                                              |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descEndsWith](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descEndsWith(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's content description ends with the given string (case-sensitive).                                                                                                             |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descEquals](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descEquals(java.lang.String))`(contentDescription: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's content description exactly matches the given string (case-sensitive).                                                                                                  |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descMatches](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descMatches(java.util.regex.Pattern))`(regex: `[Pattern](https://developer.android.com/reference/java/util/regex/Pattern.html)`)` Returns a condition that is satisfied when the object's content description matches the given regex.                                                                                                                                  |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descMatches](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descMatches(java.lang.String))`(regex: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's content description matches the given regex.                                                                                                                                       |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [descStartsWith](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#descStartsWith(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's content description starts with the given string (case-sensitive).                                                                                                       |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [enabled](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#enabled(boolean))`(isEnabled: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s enabled state.                                                                                                 |
| `java-static `[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)`<`[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)`!>`                                                                                                                                                                                                       | [findObject](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#findObject(androidx.test.uiautomator.BySelector))`(selector: `[BySelector](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/BySelector)`)` Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found.   |
| `java-static `[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)`<(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)`!>!>` | [findObjects](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#findObjects(androidx.test.uiautomator.BySelector))`(selector: `[BySelector](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/BySelector)`)` Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found. |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [focusable](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#focusable(boolean))`(isFocusable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s focusable state.                                                                                         |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [focused](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#focused(boolean))`(isFocused: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s focused state.                                                                                                 |
| `java-static `[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                                   | [gone](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#gone(androidx.test.uiautomator.BySelector))`(selector: `[BySelector](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/BySelector)`)` Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when no elements matching the selector can be found.                        |
| `java-static `[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                                   | [hasObject](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#hasObject(androidx.test.uiautomator.BySelector))`(selector: `[BySelector](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/BySelector)`)` Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found.     |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [longClickable](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#longClickable(boolean))`(isLongClickable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s long clickable state.                                                                        |
| `java-static `[EventCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/EventCondition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                                     | [newWindow](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#newWindow())`()` Returns a condition that depends on a new window having appeared.                                                                                                                                                                                                                                                                                        |
| `java-static `[EventCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/EventCondition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                                     | [scrollFinished](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#scrollFinished(androidx.test.uiautomator.Direction))`(direction: `[Direction](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Direction)`)` Returns a condition that depends on a scroll having reached the end in the given`direction`.                                                                                                    |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [scrollable](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#scrollable(boolean))`(isScrollable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s scrollable state.                                                                                     |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [selected](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#selected(boolean))`(isSelected: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s selected state.                                                                                             |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textContains](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textContains(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value contains the given string (case-sensitive).                                                                                                                       |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textEndsWith](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textEndsWith(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value ends with the given string (case-sensitive).                                                                                                                      |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textEquals](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textEquals(java.lang.String))`(text: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value exactly matches the given string (case-sensitive).                                                                                                                         |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textMatches](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textMatches(java.util.regex.Pattern))`(regex: `[Pattern](https://developer.android.com/reference/java/util/regex/Pattern.html)`)` Returns a condition that is satisfied when the object's text value matches the given regex.                                                                                                                                           |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textMatches](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textMatches(java.lang.String))`(regex: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value matches the given regex.                                                                                                                                                |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textNotEquals](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textNotEquals(java.lang.String))`(text: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value does not match the given string.                                                                                                                                     |
| `java-static `[UiObject2Condition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2Condition)`<`[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`!>`                                                                                                                                                                                                             | [textStartsWith](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Until#textStartsWith(java.lang.String))`(substring: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Returns a condition that is satisfied when the object's text value starts with the given string (case-sensitive).                                                                                                                |

## Public functions

### checkable

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun checkable(isCheckable: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s checkable state.  

|                                             Parameters                                             |
|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `isCheckable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be checkable to satisfy this condition. |

### checked

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun checked(isChecked: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s checked state.  

|                                            Parameters                                            |
|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| `isChecked: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be checked to satisfy this condition. |

### clickable

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun clickable(isClickable: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s clickable state.  

|                                             Parameters                                             |
|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `isClickable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be clickable to satisfy this condition. |

### descContains

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descContains(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description contains the given string (case-sensitive).  

### descEndsWith

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descEndsWith(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description ends with the given string (case-sensitive).  

### descEquals

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descEquals(contentDescription: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description exactly matches the given string (case-sensitive).  

### descMatches

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descMatches(regex: Pattern): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description matches the given regex.  

### descMatches

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descMatches(regex: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description matches the given regex.  

### descStartsWith

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun descStartsWith(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's content description starts with the given string (case-sensitive).  

### enabled

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun enabled(isEnabled: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s enabled state.  

|                                            Parameters                                            |
|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| `isEnabled: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be enabled to satisfy this condition. |

### findObject

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun findObject(selector: BySelector): SearchCondition<UiObject2!>
```

Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found. The condition will return the first matching element.  

### findObjects

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun findObjects(selector: BySelector): SearchCondition<(Mutable)List<UiObject2!>!>
```

Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found. The condition will return all matching elements.  

### focusable

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun focusable(isFocusable: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s focusable state.  

|                                             Parameters                                             |
|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `isFocusable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be focusable to satisfy this condition. |

### focused

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun focused(isFocused: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s focused state.  

|                                            Parameters                                            |
|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| `isFocused: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be focused to satisfy this condition. |

### gone

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun gone(selector: BySelector): SearchCondition<Boolean!>
```

Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when no elements matching the selector can be found.  

### hasObject

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun hasObject(selector: BySelector): SearchCondition<Boolean!>
```

Returns a[SearchCondition](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/SearchCondition)that is satisfied when at least one element matching the selector can be found.  

### longClickable

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun longClickable(isLongClickable: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s long clickable state.  

|                                               Parameters                                               |
|--------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| `isLongClickable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be long clickable to satisfy this condition. |

### newWindow

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun newWindow(): EventCondition<Boolean!>
```

Returns a condition that depends on a new window having appeared.  

### scrollFinished

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun scrollFinished(direction: Direction): EventCondition<Boolean!>
```

Returns a condition that depends on a scroll having reached the end in the given`direction`.  

|                                                  Parameters                                                  |
|--------------------------------------------------------------------------------------------------------------|------------------------------|
| `direction: `[Direction](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/Direction) | The direction of the scroll. |

### scrollable

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun scrollable(isScrollable: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s scrollable state.  

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| `isScrollable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be scrollable to satisfy this condition. |

### selected

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun selected(isSelected: Boolean): UiObject2Condition<Boolean!>
```

Returns a condition that depends on a[UiObject2](https://developer.android.com/reference/kotlin/androidx/test/uiautomator/UiObject2)'s selected state.  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| `isSelected: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | Whether the object should be selected to satisfy this condition. |

### textContains

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textContains(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value contains the given string (case-sensitive).  

### textEndsWith

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textEndsWith(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value ends with the given string (case-sensitive).  

### textEquals

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textEquals(text: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value exactly matches the given string (case-sensitive).  

### textMatches

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textMatches(regex: Pattern): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value matches the given regex.  

### textMatches

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textMatches(regex: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value matches the given regex.  

### textNotEquals

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textNotEquals(text: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value does not match the given string.  

### textStartsWith

Added in[2.2.0](https://developer.android.com/jetpack/androidx/releases/test-uiautomator#2.2.0)  

```
java-static fun textStartsWith(substring: String): UiObject2Condition<Boolean!>
```

Returns a condition that is satisfied when the object's text value starts with the given string (case-sensitive).