## androidx.activity

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.activity:activity-ktx:1.12.2"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.activity:activity-ktx:1.12.2")
}
```

#### Extension functions

##### For [OnBackPressedDispatcher](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedDispatcher)

|---|---|
| [OnBackPressedCallback](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedCallback) | [OnBackPressedDispatcher](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedDispatcher)`.`[addCallback](https://developer.android.com/reference/kotlin/androidx/activity/package-summary#(androidx.activity.OnBackPressedDispatcher).addCallback(androidx.lifecycle.LifecycleOwner,%20kotlin.Boolean,%20kotlin.Function1))`(`owner:` `[LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)?` `=` null, `enabled:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true, `onBackPressed:` `[OnBackPressedCallback](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedCallback).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Create and add a new [OnBackPressedCallback](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedCallback) that calls [onBackPressed](https://developer.android.com/reference/kotlin/androidx/activity/package-summary#androidx.activity$addCallback(androidx.activity.OnBackPressedDispatcher,%20androidx.lifecycle.LifecycleOwner,%20kotlin.Boolean,%20kotlin.Function1((androidx.activity.OnBackPressedCallback,%20kotlin.Unit)))/onBackPressed) in [OnBackPressedCallback.handleOnBackPressed](https://developer.android.com/reference/kotlin/androidx/activity/OnBackPressedCallback#handleOnBackPressed()). |

##### For [ComponentActivity](https://developer.android.com/reference/kotlin/androidx/activity/ComponentActivity)

|---|---|
| [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html)\<VM\> | [ComponentActivity](https://developer.android.com/reference/kotlin/androidx/activity/ComponentActivity)`.`[viewModels](https://developer.android.com/reference/kotlin/androidx/activity/package-summary#(androidx.activity.ComponentActivity).viewModels(kotlin.Function0))`(`noinline` `factoryProducer:` `()` `->` `[ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory)` `=` null)` Returns a [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html) delegate to access the ComponentActivity's ViewModel, if [factoryProducer](https://developer.android.com/reference/kotlin/androidx/activity/package-summary#androidx.activity$viewModels(androidx.activity.ComponentActivity,%20kotlin.Function0((androidx.lifecycle.ViewModelProvider.Factory)))/factoryProducer) is specified then [ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory) returned by it will be used to create [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel) first time. |

## androidx.benchmark

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.4.1"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.4.1")
}
```

#### Top-level functions

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [beginTraceSection](https://developer.android.com/reference/kotlin/androidx/benchmark/package-summary#beginTraceSection(kotlin.String))`(`sectionName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` <br /> |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [endTraceSection](https://developer.android.com/reference/kotlin/androidx/benchmark/package-summary#endTraceSection())`()` <br /> |

## androidx.benchmark.junit4

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.4.1"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.4.1")
}
```

#### Extension functions

##### For [BenchmarkRule](https://developer.android.com/reference/kotlin/androidx/benchmark/junit4/BenchmarkRule)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [BenchmarkRule](https://developer.android.com/reference/kotlin/androidx/benchmark/junit4/BenchmarkRule)`.`[measureRepeated](https://developer.android.com/reference/kotlin/androidx/benchmark/junit4/package-summary#(androidx.benchmark.junit4.BenchmarkRule).measureRepeated(kotlin.Function1))`(`crossinline` `block:` `[BenchmarkRule.Scope](https://developer.android.com/reference/kotlin/androidx/benchmark/junit4/BenchmarkRule.Scope).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Benchmark a block of code. |

## androidx.collection

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.collection:collection-ktx:1.5.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.collection:collection-ktx:1.5.0")
}
```

#### Extension functions

##### For [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[contains](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).contains(kotlin.Long))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$contains(androidx.collection.LongSparseArray((androidx.collection.contains.T)),%20kotlin.Long)/key). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[forEach](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html),` `value:` `T)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$forEach(androidx.collection.LongSparseArray((androidx.collection.forEach.T)),%20kotlin.Function2((kotlin.Long,%20androidx.collection.forEach.T,%20kotlin.Unit)))/action) for each key/value entry. |
| T | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).getOrDefault(kotlin.Long,%20androidx.collection.getOrDefault.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `defaultValue:` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrDefault(androidx.collection.LongSparseArray((androidx.collection.getOrDefault.T)),%20kotlin.Long,%20androidx.collection.getOrDefault.T)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrDefault(androidx.collection.LongSparseArray((androidx.collection.getOrDefault.T)),%20kotlin.Long,%20androidx.collection.getOrDefault.T)/defaultValue) when not present. |
| T | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).getOrElse(kotlin.Long,%20kotlin.Function0))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `defaultValue:` `()` `->` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrElse(androidx.collection.LongSparseArray((androidx.collection.getOrElse.T)),%20kotlin.Long,%20kotlin.Function0((androidx.collection.getOrElse.T)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrElse(androidx.collection.LongSparseArray((androidx.collection.getOrElse.T)),%20kotlin.Long,%20kotlin.Function0((androidx.collection.getOrElse.T)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [LongIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-long-iterator/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)\<T\> | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).plus(androidx.collection.LongSparseArray))`(`other:` `[LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$plus(androidx.collection.LongSparseArray((androidx.collection.plus.T)),%20androidx.collection.LongSparseArray((androidx.collection.plus.T)))/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[remove](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).remove(kotlin.Long,%20androidx.collection.remove.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `value:` `T`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$remove(androidx.collection.LongSparseArray((androidx.collection.remove.T)),%20kotlin.Long,%20androidx.collection.remove.T)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$remove(androidx.collection.LongSparseArray((androidx.collection.remove.T)),%20kotlin.Long,%20androidx.collection.remove.T)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[set](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).set(kotlin.Long,%20androidx.collection.set.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `value:` `T`)` Allows the use of the index operator for storing values in the collection. |
| [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html)\<T\> | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[contains](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).contains(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$contains(androidx.collection.SparseArrayCompat((androidx.collection.contains.T)),%20kotlin.Int)/key). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[forEach](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).forEach(kotlin.Function2))`(`action:` `(key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `value:` `T)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$forEach(androidx.collection.SparseArrayCompat((androidx.collection.forEach.T)),%20kotlin.Function2((kotlin.Int,%20androidx.collection.forEach.T,%20kotlin.Unit)))/action) for each key/value entry. |
| T | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).getOrDefault(kotlin.Int,%20androidx.collection.getOrDefault.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrDefault(androidx.collection.SparseArrayCompat((androidx.collection.getOrDefault.T)),%20kotlin.Int,%20androidx.collection.getOrDefault.T)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrDefault(androidx.collection.SparseArrayCompat((androidx.collection.getOrDefault.T)),%20kotlin.Int,%20androidx.collection.getOrDefault.T)/defaultValue) when not present. |
| T | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).getOrElse(kotlin.Int,%20kotlin.Function0))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `()` `->` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrElse(androidx.collection.SparseArrayCompat((androidx.collection.getOrElse.T)),%20kotlin.Int,%20kotlin.Function0((androidx.collection.getOrElse.T)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$getOrElse(androidx.collection.SparseArrayCompat((androidx.collection.getOrElse.T)),%20kotlin.Int,%20kotlin.Function0((androidx.collection.getOrElse.T)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).isNotEmpty())`()` Return true when the collection contains elements. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)\<T\> | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).plus(androidx.collection.SparseArrayCompat))`(`other:` `[SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$plus(androidx.collection.SparseArrayCompat((androidx.collection.plus.T)),%20androidx.collection.SparseArrayCompat((androidx.collection.plus.T)))/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[remove](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).remove(kotlin.Int,%20androidx.collection.remove.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `T`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$remove(androidx.collection.SparseArrayCompat((androidx.collection.remove.T)),%20kotlin.Int,%20androidx.collection.remove.T)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#androidx.collection$remove(androidx.collection.SparseArrayCompat((androidx.collection.remove.T)),%20kotlin.Int,%20androidx.collection.remove.T)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[set](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).set(kotlin.Int,%20androidx.collection.set.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `T`)` Allows the use of the index operator for storing values in the collection. |
| [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html)\<T\> | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).valueIterator())`()` Return an iterator over the collection's values. |

#### Extension properties

##### For [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [LongSparseArray](https://developer.android.com/reference/kotlin/androidx/collection/LongSparseArray)<T>`.`[size](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.LongSparseArray).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

##### For [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseArrayCompat](https://developer.android.com/reference/kotlin/androidx/collection/SparseArrayCompat)<T>`.`[size](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#(androidx.collection.SparseArrayCompat).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

#### Top-level functions

|---|---|
| [ArrayMap](https://developer.android.com/reference/kotlin/androidx/collection/ArrayMap)\<K, V\> | [arrayMapOf](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#arrayMapOf())`()` Returns an empty new [ArrayMap](https://developer.android.com/reference/kotlin/androidx/collection/ArrayMap). |
| [ArrayMap](https://developer.android.com/reference/kotlin/androidx/collection/ArrayMap)\<K, V\> | [arrayMapOf](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#arrayMapOf(kotlin.Pair))`(`vararg` `pairs:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<K,` `V>`)` Returns a new [ArrayMap](https://developer.android.com/reference/kotlin/androidx/collection/ArrayMap) with the specified contents, given as a list of pairs where the first component is the key and the second component is the value. |
| [ArraySet](https://developer.android.com/reference/kotlin/androidx/collection/ArraySet)\<T\> | [arraySetOf](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#arraySetOf())`()` Returns an empty new [ArraySet](https://developer.android.com/reference/kotlin/androidx/collection/ArraySet). |
| [ArraySet](https://developer.android.com/reference/kotlin/androidx/collection/ArraySet)\<T\> | [arraySetOf](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#arraySetOf(androidx.collection.arraySetOf.T))`(`vararg` `values:` `T`)` Returns a new [ArraySet](https://developer.android.com/reference/kotlin/androidx/collection/ArraySet) with the specified contents. |
| [LruCache](https://developer.android.com/reference/kotlin/androidx/collection/LruCache)\<K, V\> | [lruCache](https://developer.android.com/reference/kotlin/androidx/collection/package-summary#lruCache(kotlin.Int,%20kotlin.Function2,%20kotlin.Function1,%20kotlin.Function4))`(`maxSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `crossinline` `sizeOf:` `(key:` `K,` `value:` `V)` `->` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` { _, _ -> 1 }, `crossinline` `create:` `(key:` `K)` `->` `V?` `=` { null as V? }, `crossinline` `onEntryRemoved:` `(evicted:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html),` `key:` `K,` `oldValue:` `V,` `newValue:` `V?)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` { _, _, _, _ -> })` Creates an [LruCache](https://developer.android.com/reference/kotlin/androidx/collection/LruCache) with the given parameters. |

## androidx.core.animation

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.animation.Animator](https://developer.android.com/reference/android/animation/Animator.html)

|---|---|
| [AnimatorListener](https://developer.android.com/reference/android/animation/Animator/AnimatorListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[addListener](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).addListener(kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1))`(`crossinline` `onEnd:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onStart:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onCancel:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onRepeat:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {})` Add a listener to this Animator using the provided actions. |
| [AnimatorPauseListener](https://developer.android.com/reference/android/animation/Animator/AnimatorPauseListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[addPauseListener](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).addPauseListener(kotlin.Function1,%20kotlin.Function1))`(`crossinline` `onResume:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onPause:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {})` Add a pause and resume listener to this Animator using the provided actions. |
| [AnimatorListener](https://developer.android.com/reference/android/animation/Animator/AnimatorListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnCancel](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnCancel(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has been cancelled. |
| [AnimatorListener](https://developer.android.com/reference/android/animation/Animator/AnimatorListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnEnd](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnEnd(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has ended. |
| [AnimatorPauseListener](https://developer.android.com/reference/android/animation/Animator/AnimatorPauseListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnPause](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnPause(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has been paused. |
| [AnimatorListener](https://developer.android.com/reference/android/animation/Animator/AnimatorListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnRepeat](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnRepeat(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has repeated. |
| [AnimatorPauseListener](https://developer.android.com/reference/android/animation/Animator/AnimatorPauseListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnResume](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnResume(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has resumed after a pause. |
| [AnimatorListener](https://developer.android.com/reference/android/animation/Animator/AnimatorListener.html) | [Animator](https://developer.android.com/reference/android/animation/Animator.html)`.`[doOnStart](https://developer.android.com/reference/kotlin/androidx/core/animation/package-summary#(android.animation.Animator).doOnStart(kotlin.Function1))`(`crossinline` `action:` `(animator:` `[Animator](https://developer.android.com/reference/android/animation/Animator.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the animation has started. |

## androidx.core.content

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.content.Context](https://developer.android.com/reference/android/content/Context.html)

|---|---|
| T? | [Context](https://developer.android.com/reference/android/content/Context.html)`.`[getSystemService](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#(android.content.Context).getSystemService())`()` Return the handle to a system-level service by class. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Context](https://developer.android.com/reference/android/content/Context.html)`.`[withStyledAttributes](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#(android.content.Context).withStyledAttributes(android.util.AttributeSet,%20kotlin.IntArray,%20kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`set:` `[AttributeSet](https://developer.android.com/reference/android/util/AttributeSet.html)?` `=` null, `attrs:` `[IntArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html)`, `@AttrRes` `defStyleAttr:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `@StyleRes` `defStyleRes:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `block:` `[TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Executes [block](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#androidx.core.content$withStyledAttributes(android.content.Context,%20android.util.AttributeSet,%20kotlin.IntArray,%20kotlin.Int,%20kotlin.Int,%20kotlin.Function1((android.content.res.TypedArray,%20kotlin.Unit)))/block) on a [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html) receiver. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Context](https://developer.android.com/reference/android/content/Context.html)`.`[withStyledAttributes](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#(android.content.Context).withStyledAttributes(kotlin.Int,%20kotlin.IntArray,%20kotlin.Function1))`(`@StyleRes` `resourceId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `attrs:` `[IntArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int-array/index.html)`, `block:` `[TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Executes [block](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#androidx.core.content$withStyledAttributes(android.content.Context,%20kotlin.Int,%20kotlin.IntArray,%20kotlin.Function1((android.content.res.TypedArray,%20kotlin.Unit)))/block) on a [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html) receiver. |

##### For [android.content.SharedPreferences](https://developer.android.com/reference/android/content/SharedPreferences.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SharedPreferences](https://developer.android.com/reference/android/content/SharedPreferences.html)`.`[edit](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#(android.content.SharedPreferences).edit(kotlin.Boolean,%20kotlin.Function1))`(`commit:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` false, `action:` `[Editor](https://developer.android.com/reference/android/content/SharedPreferences/Editor.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Allows editing of this preference instance with a call to [apply](https://developer.android.com/reference/android/content/SharedPreferences/Editor.html#apply()) or [commit](https://developer.android.com/reference/android/content/SharedPreferences/Editor.html#commit()) to persist the changes. |

#### Top-level functions

|---|---|
| [ContentValues](https://developer.android.com/reference/android/content/ContentValues.html) | [contentValuesOf](https://developer.android.com/reference/kotlin/androidx/core/content/package-summary#contentValuesOf(kotlin.Pair))`(`vararg` `pairs:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?>`)` Returns a new [ContentValues](https://developer.android.com/reference/android/content/ContentValues.html) with the given key/value pairs as elements. |

## androidx.core.content.res

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.content.res.TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getBooleanOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getBooleanOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the boolean value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getBooleanOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getColorOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getColorOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the color value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getColorOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [ColorStateList](https://developer.android.com/reference/android/content/res/ColorStateList.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getColorStateListOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getColorStateListOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the color state list value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getColorStateListOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getDimensionOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getDimensionOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the dimension value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getDimensionOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getDimensionPixelOffsetOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getDimensionPixelOffsetOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the dimension pixel offset value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getDimensionPixelOffsetOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getDimensionPixelSizeOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getDimensionPixelSizeOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the dimension pixel size value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getDimensionPixelSizeOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getDrawableOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getDrawableOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the drawable value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getDrawableOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getFloatOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getFloatOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the float value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getFloatOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Typeface](https://developer.android.com/reference/android/graphics/Typeface.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getFontOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getFontOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the font value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getFontOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getIntOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getIntOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the integer value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getIntOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getIntegerOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getIntegerOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the integer value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getIntegerOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getResourceIdOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getResourceIdOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieves the resource identifier for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getResourceIdOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getStringOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getStringOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the string value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getStringOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\<[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)\> | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getTextArrayOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getTextArrayOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the text array value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getTextArrayOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html) | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[getTextOrThrow](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).getTextOrThrow(kotlin.Int))`(`@StyleableRes` `index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Retrieve the text value for the attribute at [index](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$getTextOrThrow(android.content.res.TypedArray,%20kotlin.Int)/index) or throws [IllegalArgumentException](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html) if not defined. |
| R | [TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html)`.`[use](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#(android.content.res.TypedArray).use(kotlin.Function1))`(`block:` `([TypedArray](https://developer.android.com/reference/android/content/res/TypedArray.html))` `->` `R`)` Executes the given [block](https://developer.android.com/reference/kotlin/androidx/core/content/res/package-summary#androidx.core.content.res$use(android.content.res.TypedArray,%20kotlin.Function1((android.content.res.TypedArray,%20androidx.core.content.res.use.R)))/block) function on this TypedArray and then recycles it. |

## androidx.core.database

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.database.Cursor](https://developer.android.com/reference/android/database/Cursor.html)

|---|---|
| [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getBlobOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getBlobOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable byte array. |
| [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getDoubleOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getDoubleOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable double. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getFloatOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getFloatOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable float. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getIntOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getIntOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable integer. |
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getLongOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getLongOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable long. |
| [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getShortOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getShortOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable short. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? | [Cursor](https://developer.android.com/reference/android/database/Cursor.html)`.`[getStringOrNull](https://developer.android.com/reference/kotlin/androidx/core/database/package-summary#(android.database.Cursor).getStringOrNull(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the requested column as a nullable string. |

## androidx.core.database.sqlite

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.database.sqlite.SQLiteDatabase](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html)

|---|---|
| T | [SQLiteDatabase](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html)`.`[transaction](https://developer.android.com/reference/kotlin/androidx/core/database/sqlite/package-summary#(android.database.sqlite.SQLiteDatabase).transaction(kotlin.Boolean,%20kotlin.Function1))`(`exclusive:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true, `body:` `[SQLiteDatabase](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html).()` `->` `T`)` Run [body](https://developer.android.com/reference/kotlin/androidx/core/database/sqlite/package-summary#androidx.core.database.sqlite$transaction(android.database.sqlite.SQLiteDatabase,%20kotlin.Boolean,%20kotlin.Function1((android.database.sqlite.SQLiteDatabase,%20androidx.core.database.sqlite.transaction.T)))/body) in a transaction marking it as successful if it completes without exception. |

## androidx.core.graphics

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.graphics.Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)

|---|---|
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[applyCanvas](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).applyCanvas(kotlin.Function1))`(`block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Creates a new [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html) to draw on this bitmap and executes the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$applyCanvas(android.graphics.Bitmap,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) on the newly created canvas. |
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).contains(android.graphics.Point))`(`p:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Returns true if the specified point is inside the bitmap. |
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).contains(android.graphics.PointF))`(`p:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Returns true if the specified point is inside the bitmap. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[get](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).get(kotlin.Int,%20kotlin.Int))`(`x:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `y:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the value of the pixel at the specified location. |
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[scale](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).scale(kotlin.Int,%20kotlin.Int,%20kotlin.Boolean))`(`width:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `height:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `filter:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true)` Creates a new bitmap, scaled from this bitmap, when possible. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Bitmap).set(kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`x:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `y:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `color:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Writes the specified [color int](https://developer.android.com/reference/android/graphics/Color.html) into the bitmap (assuming it is mutable) at the specified `(x, y)` coordinate. |

##### For [android.graphics.Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withClip](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withClip(android.graphics.Rect,%20kotlin.Function1))`(`clipRect:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withClip(android.graphics.Canvas,%20android.graphics.Rect,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.clipRect](https://developer.android.com/reference/android/graphics/Canvas.html#clipRect(android.graphics.RectF, android.graphics.Region.Op)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withClip](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withClip(android.graphics.RectF,%20kotlin.Function1))`(`clipRect:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withClip(android.graphics.Canvas,%20android.graphics.RectF,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.clipRect](https://developer.android.com/reference/android/graphics/Canvas.html#clipRect(android.graphics.RectF, android.graphics.Region.Op)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withClip](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withClip(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`left:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `right:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withClip(android.graphics.Canvas,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.clipRect](https://developer.android.com/reference/android/graphics/Canvas.html#clipRect(android.graphics.RectF, android.graphics.Region.Op)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withClip](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withClip(kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1))`(`left:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `top:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `right:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `bottom:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withClip(android.graphics.Canvas,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.clipRect](https://developer.android.com/reference/android/graphics/Canvas.html#clipRect(android.graphics.RectF, android.graphics.Region.Op)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withClip](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withClip(android.graphics.Path,%20kotlin.Function1))`(`clipPath:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withClip(android.graphics.Canvas,%20android.graphics.Path,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.clipPath](https://developer.android.com/reference/android/graphics/Canvas.html#clipPath(android.graphics.Path, android.graphics.Region.Op)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withMatrix](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withMatrix(android.graphics.Matrix,%20kotlin.Function1))`(`matrix:` `[Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)` `=` Matrix(), `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withMatrix(android.graphics.Canvas,%20android.graphics.Matrix,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.concat](https://developer.android.com/reference/android/graphics/Canvas.html#concat(android.graphics.Matrix)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withRotation](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withRotation(kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1))`(`degrees:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `pivotX:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `pivotY:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withRotation(android.graphics.Canvas,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.rotate](https://developer.android.com/reference/android/graphics/Canvas.html#rotate(float)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withSave](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withSave(kotlin.Function1))`(`block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withSave(android.graphics.Canvas,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save()) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withScale](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withScale(kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1))`(`x:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 1.0f, `y:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 1.0f, `pivotX:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `pivotY:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withScale(android.graphics.Canvas,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.scale](https://developer.android.com/reference/android/graphics/Canvas.html#scale(float, float)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withSkew](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withSkew(kotlin.Float,%20kotlin.Float,%20kotlin.Function1))`(`x:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `y:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withSkew(android.graphics.Canvas,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.skew](https://developer.android.com/reference/android/graphics/Canvas.html#skew(float, float)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html)`.`[withTranslation](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Canvas).withTranslation(kotlin.Float,%20kotlin.Float,%20kotlin.Function1))`(`x:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `y:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$withTranslation(android.graphics.Canvas,%20kotlin.Float,%20kotlin.Float,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) in calls to [Canvas.save](https://developer.android.com/reference/android/graphics/Canvas.html#save())/[Canvas.translate](https://developer.android.com/reference/android/graphics/Canvas.html#translate(float, float)) and [Canvas.restoreToCount](https://developer.android.com/reference/android/graphics/Canvas.html#restoreToCount(int)). |

##### For [android.graphics.Color](https://developer.android.com/reference/android/graphics/Color.html)

|---|---|
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).component1())`()` Returns the first component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).component2())`()` Returns the second component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[component3](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).component3())`()` Returns the third component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[component4](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).component4())`()` Returns the fourth component of the color. |
| infix [Color](https://developer.android.com/reference/android/graphics/Color.html)! | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).convertTo(android.graphics.ColorSpace.Named))`(`colorSpace:` `[Named](https://developer.android.com/reference/android/graphics/ColorSpace/Named.html)`)` Converts the color receiver to a color in the specified color space. |
| infix [Color](https://developer.android.com/reference/android/graphics/Color.html)! | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).convertTo(android.graphics.ColorSpace))`(`colorSpace:` `[ColorSpace](https://developer.android.com/reference/android/graphics/ColorSpace.html)`)` Converts the color receiver to a color in the specified color space. |
| operator [Color](https://developer.android.com/reference/android/graphics/Color.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Color).plus(android.graphics.Color))`(`c:` `[Color](https://developer.android.com/reference/android/graphics/Color.html)`)` Composites two translucent colors together. |

##### For [android.graphics.ImageDecoder.Source](https://developer.android.com/reference/android/graphics/ImageDecoder/Source.html)

|---|---|
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [Source](https://developer.android.com/reference/android/graphics/ImageDecoder/Source.html)`.`[decodeBitmap](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.ImageDecoder.Source).decodeBitmap(kotlin.Function3))`(`crossinline` `action:` `[ImageDecoder](https://developer.android.com/reference/android/graphics/ImageDecoder.html).(info:` `[ImageInfo](https://developer.android.com/reference/android/graphics/ImageDecoder/ImageInfo.html),` `source:` `[Source](https://developer.android.com/reference/android/graphics/ImageDecoder/Source.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Create a Bitmap from a Source |
| [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html) | [Source](https://developer.android.com/reference/android/graphics/ImageDecoder/Source.html)`.`[decodeDrawable](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.ImageDecoder.Source).decodeDrawable(kotlin.Function3))`(`crossinline` `action:` `[ImageDecoder](https://developer.android.com/reference/android/graphics/ImageDecoder.html).(info:` `[ImageInfo](https://developer.android.com/reference/android/graphics/ImageDecoder/ImageInfo.html),` `source:` `[Source](https://developer.android.com/reference/android/graphics/ImageDecoder/Source.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Create a Drawable from a Source |

##### For [android.graphics.Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)

|---|---|
| operator [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) | [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)`.`[times](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Matrix).times(android.graphics.Matrix))`(`m:` `[Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)`)` Multiplies this [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) by another matrix and returns the result as a new matrix. |
| [FloatArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float-array/index.html) | [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)`.`[values](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Matrix).values())`()` Returns the 9 values of this [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) as a new array of floats. |

##### For [android.graphics.Paint](https://developer.android.com/reference/android/graphics/Paint.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Paint](https://developer.android.com/reference/android/graphics/Paint.html)`.`[setBlendMode](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Paint).setBlendMode(androidx.core.graphics.BlendModeCompat))`(`blendModeCompat:` `[BlendModeCompat](https://developer.android.com/reference/kotlin/androidx/core/graphics/BlendModeCompat)?`)` Convenience method to configure the BlendMode of a Paint in a backward compatible way. |

##### For [android.graphics.Path](https://developer.android.com/reference/android/graphics/Path.html)

|---|---|
| infix [Path](https://developer.android.com/reference/android/graphics/Path.html) | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[and](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).and(android.graphics.Path))`(`p:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`)` Returns the intersection of two paths as a new [Path](https://developer.android.com/reference/android/graphics/Path.html). |
| [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)\<[PathSegment](https://developer.android.com/reference/kotlin/androidx/core/graphics/PathSegment)\> | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[flatten](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).flatten(kotlin.Float))`(`error:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.5f)` Flattens (or approximate) the [Path](https://developer.android.com/reference/android/graphics/Path.html) with a series of line segments. |
| operator [Path](https://developer.android.com/reference/android/graphics/Path.html) | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).minus(android.graphics.Path))`(`p:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`)` Returns the difference of two paths as a new [Path](https://developer.android.com/reference/android/graphics/Path.html). |
| infix [Path](https://developer.android.com/reference/android/graphics/Path.html) | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[or](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).or(android.graphics.Path))`(`p:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`)` Returns the union of two paths as a new [Path](https://developer.android.com/reference/android/graphics/Path.html). |
| operator [Path](https://developer.android.com/reference/android/graphics/Path.html) | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).plus(android.graphics.Path))`(`p:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`)` Returns the union of two paths as a new [Path](https://developer.android.com/reference/android/graphics/Path.html). |
| infix [Path](https://developer.android.com/reference/android/graphics/Path.html) | [Path](https://developer.android.com/reference/android/graphics/Path.html)`.`[xor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Path).xor(android.graphics.Path))`(`p:` `[Path](https://developer.android.com/reference/android/graphics/Path.html)`)` Returns the union minus the intersection of two paths as a new [Path](https://developer.android.com/reference/android/graphics/Path.html). |

##### For [android.graphics.Picture](https://developer.android.com/reference/android/graphics/Picture.html)

|---|---|
| [Picture](https://developer.android.com/reference/android/graphics/Picture.html) | [Picture](https://developer.android.com/reference/android/graphics/Picture.html)`.`[record](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Picture).record(kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`width:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `height:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `block:` `[Canvas](https://developer.android.com/reference/android/graphics/Canvas.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Creates a new [Canvas](https://developer.android.com/reference/android/graphics/Canvas.html) to record commands in this [Picture](https://developer.android.com/reference/android/graphics/Picture.html), executes the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$record(android.graphics.Picture,%20kotlin.Int,%20kotlin.Int,%20kotlin.Function1((android.graphics.Canvas,%20kotlin.Unit)))/block) on the newly created canvas and returns this [Picture](https://developer.android.com/reference/android/graphics/Picture.html). |

##### For [android.graphics.Point](https://developer.android.com/reference/android/graphics/Point.html)

|---|---|
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).component1())`()` Returns the x coordinate of this point. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).component2())`()` Returns the y coordinate of this point. |
| operator [Point](https://developer.android.com/reference/android/graphics/Point.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).minus(android.graphics.Point))`(`p:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Offsets this point by the negation of the specified point and returns the result as a new point. |
| operator [Point](https://developer.android.com/reference/android/graphics/Point.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).minus(kotlin.Int))`(`xy:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Offsets this point by the negation of the specified amount on both X and Y axis and returns the result as a new point. |
| operator [Point](https://developer.android.com/reference/android/graphics/Point.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).plus(android.graphics.Point))`(`p:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Offsets this point by the specified point and returns the result as a new point. |
| operator [Point](https://developer.android.com/reference/android/graphics/Point.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).plus(kotlin.Int))`(`xy:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Offsets this point by the specified amount on both X and Y axis and returns the result as a new point. |
| [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[toPointF](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).toPointF())`()` Returns a [PointF](https://developer.android.com/reference/android/graphics/PointF.html) representation of this point. |
| operator [Point](https://developer.android.com/reference/android/graphics/Point.html) | [Point](https://developer.android.com/reference/android/graphics/Point.html)`.`[unaryMinus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Point).unaryMinus())`()` Returns a new point representing the negation of this point. |

##### For [android.graphics.PointF](https://developer.android.com/reference/android/graphics/PointF.html)

|---|---|
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).component1())`()` Returns the x coordinate of this point. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).component2())`()` Returns the y coordinate of this point. |
| operator [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).minus(android.graphics.PointF))`(`p:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Offsets this point by the negation of the specified point and returns the result as a new point. |
| operator [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).minus(kotlin.Float))`(`xy:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Offsets this point by the negation of the specified amount on both X and Y axis and returns the result as a new point. |
| operator [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).plus(android.graphics.PointF))`(`p:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Offsets this point by the specified point and returns the result as a new point. |
| operator [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).plus(kotlin.Float))`(`xy:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Offsets this point by the specified amount on both X and Y axis and returns the result as a new point. |
| [Point](https://developer.android.com/reference/android/graphics/Point.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[toPoint](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).toPoint())`()` Returns a [Point](https://developer.android.com/reference/android/graphics/Point.html) representation of this point. |
| operator [PointF](https://developer.android.com/reference/android/graphics/PointF.html) | [PointF](https://developer.android.com/reference/android/graphics/PointF.html)`.`[unaryMinus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PointF).unaryMinus())`()` Returns a new point representing the negation of this point. |

##### For [android.graphics.PorterDuff.Mode](https://developer.android.com/reference/android/graphics/PorterDuff/Mode.html)

|---|---|
| [PorterDuffColorFilter](https://developer.android.com/reference/android/graphics/PorterDuffColorFilter.html) | [Mode](https://developer.android.com/reference/android/graphics/PorterDuff/Mode.html)`.`[toColorFilter](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PorterDuff.Mode).toColorFilter(kotlin.Int))`(`color:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Creates a new [PorterDuffColorFilter](https://developer.android.com/reference/android/graphics/PorterDuffColorFilter.html) that uses this [PorterDuff.Mode](https://developer.android.com/reference/android/graphics/PorterDuff/Mode.html) as the alpha compositing or blending mode, and the specified [color](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$toColorFilter(android.graphics.PorterDuff.Mode,%20kotlin.Int)/color). |
| [PorterDuffXfermode](https://developer.android.com/reference/android/graphics/PorterDuffXfermode.html) | [Mode](https://developer.android.com/reference/android/graphics/PorterDuff/Mode.html)`.`[toXfermode](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.PorterDuff.Mode).toXfermode())`()` Creates a new [PorterDuffXfermode](https://developer.android.com/reference/android/graphics/PorterDuffXfermode.html) that uses this [PorterDuff.Mode](https://developer.android.com/reference/android/graphics/PorterDuff/Mode.html) as the alpha compositing or blending mode. |

##### For [android.graphics.Rect](https://developer.android.com/reference/android/graphics/Rect.html)

|---|---|
| infix [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[and](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).and(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Returns the intersection of two rectangles as a new rectangle. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).component1())`()` Returns "left", the first component of the rectangle. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).component2())`()` Returns "top", the second component of the rectangle. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[component3](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).component3())`()` Returns "right", the third component of the rectangle. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[component4](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).component4())`()` Returns "bottom", the fourth component of the rectangle. |
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).contains(android.graphics.Point))`(`p:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Returns true if the specified point is inside the rectangle. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).minus(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Returns the difference of this rectangle and the specified rectangle as a new region. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).minus(kotlin.Int))`(`xy:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns a new rectangle representing this rectangle offset by the negation of the specified amount on both X and Y axis. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).minus(android.graphics.Point))`(`xy:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Returns a new rectangle representing this rectangle offset by the negation of the specified point. |
| infix [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[or](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).or(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Returns the union of two rectangles as a new rectangle. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).plus(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Performs the union of this rectangle and the specified rectangle and returns the result as a new rectangle. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).plus(kotlin.Int))`(`xy:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns a new rectangle representing this rectangle offset by the specified amount on both X and Y axis. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).plus(android.graphics.Point))`(`xy:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Returns a new rectangle representing this rectangle offset by the specified point. |
| operator [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[times](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).times(kotlin.Int))`(`factor:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns a new rectangle representing this rectangle's components each scaled by [factor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$times(android.graphics.Rect,%20kotlin.Int)/factor). |
| [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[toRectF](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).toRectF())`()` Returns a [RectF](https://developer.android.com/reference/android/graphics/RectF.html) representation of this rectangle. |
| [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[toRegion](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).toRegion())`()` Returns a [Region](https://developer.android.com/reference/android/graphics/Region.html) representation of this rectangle. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Rect](https://developer.android.com/reference/android/graphics/Rect.html)`.`[xor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Rect).xor(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Returns the union minus the intersection of two rectangles as a new region. |

##### For [android.graphics.RectF](https://developer.android.com/reference/android/graphics/RectF.html)

|---|---|
| infix [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[and](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).and(android.graphics.RectF))`(`r:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`)` Returns the intersection of two rectangles as a new rectangle. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).component1())`()` Returns "left", the first component of the rectangle. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).component2())`()` Returns "top", the second component of the rectangle. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[component3](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).component3())`()` Returns "right", the third component of the rectangle. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[component4](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).component4())`()` Returns "bottom", the fourth component of the rectangle. |
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).contains(android.graphics.PointF))`(`p:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Returns true if the specified point is inside the rectangle. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).minus(android.graphics.RectF))`(`r:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`)` Returns the difference of this rectangle and the specified rectangle as a new region. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).minus(kotlin.Float))`(`xy:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Returns a new rectangle representing this rectangle offset by the negation of the specified amount on both X and Y axis. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).minus(android.graphics.PointF))`(`xy:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Returns a new rectangle representing this rectangle offset by the negation of the specified point. |
| infix [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[or](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).or(android.graphics.RectF))`(`r:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`)` Returns the union of two rectangles as a new rectangle. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).plus(android.graphics.RectF))`(`r:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`)` Performs the union of this rectangle and the specified rectangle and returns the result as a new rectangle. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).plus(kotlin.Float))`(`xy:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Returns a new rectangle representing this rectangle offset by the specified amount on both X and Y axis. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).plus(android.graphics.PointF))`(`xy:` `[PointF](https://developer.android.com/reference/android/graphics/PointF.html)`)` Returns a new rectangle representing this rectangle offset by the specified point. |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[times](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).times(kotlin.Int))`(`factor:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns a new rectangle representing this rectangle's components each scaled by [factor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$times(android.graphics.RectF,%20kotlin.Int)/factor). |
| operator [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[times](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).times(kotlin.Float))`(`factor:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Returns a new rectangle representing this rectangle's components each scaled by [factor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$times(android.graphics.RectF,%20kotlin.Float)/factor). |
| [Rect](https://developer.android.com/reference/android/graphics/Rect.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[toRect](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).toRect())`()` Returns a [Rect](https://developer.android.com/reference/android/graphics/Rect.html) representation of this rectangle. |
| [Region](https://developer.android.com/reference/android/graphics/Region.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[toRegion](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).toRegion())`()` Returns a [Region](https://developer.android.com/reference/android/graphics/Region.html) representation of this rectangle. |
| [RectF](https://developer.android.com/reference/android/graphics/RectF.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[transform](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).transform(android.graphics.Matrix))`(`m:` `[Matrix](https://developer.android.com/reference/android/graphics/Matrix.html)`)` Transform this rectangle in place using the supplied [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) and returns this rectangle. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [RectF](https://developer.android.com/reference/android/graphics/RectF.html)`.`[xor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.RectF).xor(android.graphics.RectF))`(`r:` `[RectF](https://developer.android.com/reference/android/graphics/RectF.html)`)` Returns the union minus the intersection of two rectangles as a new region. |

##### For [android.graphics.Region](https://developer.android.com/reference/android/graphics/Region.html)

|---|---|
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[and](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).and(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Return the intersection of this region and the specified [Rect](https://developer.android.com/reference/android/graphics/Rect.html) as a new region. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[and](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).and(android.graphics.Region))`(`r:` `[Region](https://developer.android.com/reference/android/graphics/Region.html)`)` Return the intersection of this region and the specified region as a new region. |
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).contains(android.graphics.Point))`(`p:` `[Point](https://developer.android.com/reference/android/graphics/Point.html)`)` Return true if the region contains the specified [Point](https://developer.android.com/reference/android/graphics/Point.html). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).forEach(kotlin.Function1))`(`action:` `(rect:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each rect in this region. |
| operator [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html)\<[Rect](https://developer.android.com/reference/android/graphics/Rect.html)\> | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[iterator](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).iterator())`()` Returns an [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html) over the rects in this region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).minus(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Return the difference of this region and the specified [Rect](https://developer.android.com/reference/android/graphics/Rect.html) as a new region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[minus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).minus(android.graphics.Region))`(`r:` `[Region](https://developer.android.com/reference/android/graphics/Region.html)`)` Return the difference of this region and the specified region as a new region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[not](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).not())`()` Returns the negation of this region as a new region. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[or](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).or(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Return the union of this region and the specified [Rect](https://developer.android.com/reference/android/graphics/Rect.html) as a new region. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[or](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).or(android.graphics.Region))`(`r:` `[Region](https://developer.android.com/reference/android/graphics/Region.html)`)` Return the union of this region and the specified region as a new region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).plus(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Return the union of this region and the specified [Rect](https://developer.android.com/reference/android/graphics/Rect.html) as a new region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).plus(android.graphics.Region))`(`r:` `[Region](https://developer.android.com/reference/android/graphics/Region.html)`)` Return the union of this region and the specified region as a new region. |
| operator [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[unaryMinus](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).unaryMinus())`()` Returns the negation of this region as a new region. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[xor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).xor(android.graphics.Rect))`(`r:` `[Rect](https://developer.android.com/reference/android/graphics/Rect.html)`)` Return the union minus the intersection of this region and the specified [Rect](https://developer.android.com/reference/android/graphics/Rect.html) as a new region. |
| infix [Region](https://developer.android.com/reference/android/graphics/Region.html) | [Region](https://developer.android.com/reference/android/graphics/Region.html)`.`[xor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Region).xor(android.graphics.Region))`(`r:` `[Region](https://developer.android.com/reference/android/graphics/Region.html)`)` Return the union minus the intersection of this region and the specified region as a new region. |

##### For [android.graphics.Shader](https://developer.android.com/reference/android/graphics/Shader.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Shader](https://developer.android.com/reference/android/graphics/Shader.html)`.`[transform](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(android.graphics.Shader).transform(kotlin.Function1))`(`block:` `[Matrix](https://developer.android.com/reference/android/graphics/Matrix.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$transform(android.graphics.Shader,%20kotlin.Function1((android.graphics.Matrix,%20kotlin.Unit)))/block) in calls to [Shader.getLocalMatrix](https://developer.android.com/reference/android/graphics/Shader.html#getLocalMatrix(android.graphics.Matrix)) and [Shader.setLocalMatrix](https://developer.android.com/reference/android/graphics/Shader.html#setLocalMatrix(android.graphics.Matrix)). |

##### For [kotlin.Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)

|---|---|
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).component1())`()` Return the alpha component of a color int. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).component2())`()` Return the red component of a color int. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[component3](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).component3())`()` Return the green component of a color int. |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[component4](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).component4())`()` Return the blue component of a color int. |
| infix [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).convertTo(android.graphics.ColorSpace.Named))`(`colorSpace:` `[Named](https://developer.android.com/reference/android/graphics/ColorSpace/Named.html)`)` Converts the color int receiver to a color long in the specified color space. |
| infix [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).convertTo(android.graphics.ColorSpace))`(`colorSpace:` `[ColorSpace](https://developer.android.com/reference/android/graphics/ColorSpace.html)`)` Converts the color int receiver to a color long in the specified color space. |
| [Color](https://developer.android.com/reference/android/graphics/Color.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[toColor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).toColor())`()` Creates a new [Color](https://developer.android.com/reference/android/graphics/Color.html) instance from a color int. |
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[toColorLong](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).toColorLong())`()` Converts the specified ARGB [color int](https://developer.android.com/reference/android/graphics/Color.html) to an RGBA [color long](https://developer.android.com/reference/android/graphics/Color.html) in the [sRGB](https://developer.android.com/reference/android/graphics/ColorSpace/Named.html#SRGB) color space. |

##### For [kotlin.Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)

|---|---|
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).component1())`()` Returns the first component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).component2())`()` Returns the second component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[component3](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).component3())`()` Returns the third component of the color. |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[component4](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).component4())`()` Returns the fourth component of the color. |
| infix [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).convertTo(android.graphics.ColorSpace.Named))`(`colorSpace:` `[Named](https://developer.android.com/reference/android/graphics/ColorSpace/Named.html)`)` Converts the color long receiver to a color long in the specified color space. |
| infix [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[convertTo](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).convertTo(android.graphics.ColorSpace))`(`colorSpace:` `[ColorSpace](https://developer.android.com/reference/android/graphics/ColorSpace.html)`)` Converts the color long receiver to a color long in the specified color space. |
| [Color](https://developer.android.com/reference/android/graphics/Color.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[toColor](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).toColor())`()` Creates a new [Color](https://developer.android.com/reference/android/graphics/Color.html) instance from a [color long](https://developer.android.com/reference/android/graphics/Color.html). |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[toColorInt](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).toColorInt())`()` Converts the specified [color long](https://developer.android.com/reference/android/graphics/Color.html) to an ARGB [color int](https://developer.android.com/reference/android/graphics/Color.html). |

##### For [kotlin.String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`.`[toColorInt](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.String).toColorInt())`()` Return a corresponding [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) color of this [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html). |

#### Extension properties

##### For [kotlin.Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[alpha](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).alpha:kotlin.Int)`()` Return the alpha component of a color int. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[blue](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).blue:kotlin.Int)`()` Return the blue component of a color int. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[green](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).green:kotlin.Int)`()` Return the green component of a color int. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[luminance](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).luminance:kotlin.Float)`()` Returns the relative luminance of a color int, assuming sRGB encoding. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[red](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Int).red:kotlin.Int)`()` Return the red component of a color int. |

##### For [kotlin.Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)

|---|---|
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[alpha](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).alpha:kotlin.Float)`()` Return the alpha component of a color long. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[blue](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).blue:kotlin.Float)`()` Return the blue component of a color long. |
| [ColorSpace](https://developer.android.com/reference/android/graphics/ColorSpace.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[colorSpace](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).colorSpace:android.graphics.ColorSpace)`()` Returns the color space encoded in the specified color long. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[green](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).green:kotlin.Float)`()` Return the green component of a color long. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[isSrgb](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).isSrgb:kotlin.Boolean)`()` Indicates whether the color is in the [sRGB](https://developer.android.com/reference/android/graphics/ColorSpace/Named.html#SRGB) color space. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[isWideGamut](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).isWideGamut:kotlin.Boolean)`()` Indicates whether the color is in a [wide-gamut](https://developer.android.com/reference/android/graphics/ColorSpace.html) color space. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[luminance](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).luminance:kotlin.Float)`()` Returns the relative luminance of a color. |
| [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`.`[red](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#(kotlin.Long).red:kotlin.Float)`()` Return the red component of a color long. |

#### Top-level functions

|---|---|
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [createBitmap](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config))`(`width:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `height:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `config:` `[Config](https://developer.android.com/reference/android/graphics/Bitmap/Config.html)` `=` Bitmap.Config.ARGB_8888)` Returns a mutable bitmap with the specified [width](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config)/width) and [height](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config)/height). |
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [createBitmap](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config,%20kotlin.Boolean,%20android.graphics.ColorSpace))`(`width:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `height:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `config:` `[Config](https://developer.android.com/reference/android/graphics/Bitmap/Config.html)` `=` Bitmap.Config.ARGB_8888, `hasAlpha:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true, `colorSpace:` `[ColorSpace](https://developer.android.com/reference/android/graphics/ColorSpace.html)` `=` ColorSpace.get(ColorSpace.Named.SRGB))` Returns a mutable bitmap with the specified [width](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config,%20kotlin.Boolean,%20android.graphics.ColorSpace)/width) and [height](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$createBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config,%20kotlin.Boolean,%20android.graphics.ColorSpace)/height). |
| [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) | [rotationMatrix](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#rotationMatrix(kotlin.Float,%20kotlin.Float,%20kotlin.Float))`(`degrees:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `px:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `py:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f)` Creates a rotation matrix, defined by a rotation angle in degrees around the pivot point located at the coordinates ([px](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$rotationMatrix(kotlin.Float,%20kotlin.Float,%20kotlin.Float)/px), [py](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$rotationMatrix(kotlin.Float,%20kotlin.Float,%20kotlin.Float)/py)). |
| [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) | [scaleMatrix](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#scaleMatrix(kotlin.Float,%20kotlin.Float))`(`sx:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 1.0f, `sy:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 1.0f)` Creates a scale matrix with the scale factor [sx](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$scaleMatrix(kotlin.Float,%20kotlin.Float)/sx) and [sy](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$scaleMatrix(kotlin.Float,%20kotlin.Float)/sy) respectively on the `x` and `y` axis. |
| [Matrix](https://developer.android.com/reference/android/graphics/Matrix.html) | [translationMatrix](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#translationMatrix(kotlin.Float,%20kotlin.Float))`(`tx:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f, `ty:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` 0.0f)` Creates a translation matrix with the translation amounts [tx](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$translationMatrix(kotlin.Float,%20kotlin.Float)/tx) and [ty](https://developer.android.com/reference/kotlin/androidx/core/graphics/package-summary#androidx.core.graphics$translationMatrix(kotlin.Float,%20kotlin.Float)/ty) respectively on the `x` and `y` axis. |

## androidx.core.graphics.drawable

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.graphics.Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)

|---|---|
| [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[toAdaptiveIcon](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.Bitmap).toAdaptiveIcon())`()` Create an [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) from this adaptive [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html). |
| [BitmapDrawable](https://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[toDrawable](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.Bitmap).toDrawable(android.content.res.Resources))`(`resources:` `[Resources](https://developer.android.com/reference/android/content/res/Resources.html)`)` Create a [BitmapDrawable](https://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html) from this [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html). |
| [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) | [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`.`[toIcon](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.Bitmap).toIcon())`()` Create an [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) from this [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html). |

##### For [android.graphics.Color](https://developer.android.com/reference/android/graphics/Color.html)

|---|---|
| [ColorDrawable](https://developer.android.com/reference/android/graphics/drawable/ColorDrawable.html) | [Color](https://developer.android.com/reference/android/graphics/Color.html)`.`[toDrawable](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.Color).toDrawable())`()` Create a [ColorDrawable](https://developer.android.com/reference/android/graphics/drawable/ColorDrawable.html) from this [Color](https://developer.android.com/reference/android/graphics/Color.html) (via [Color.toArgb](https://developer.android.com/reference/android/graphics/Color.html#toArgb())). |

##### For [android.graphics.drawable.Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)

|---|---|
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`.`[toBitmap](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.drawable.Drawable).toBitmap(kotlin.Int,%20kotlin.Int,%20android.graphics.Bitmap.Config))`(`@Px` `width:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` intrinsicWidth, `@Px` `height:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` intrinsicHeight, `config:` `[Config](https://developer.android.com/reference/android/graphics/Bitmap/Config.html)?` `=` null)` Return a [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) representation of this [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`.`[updateBounds](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.graphics.drawable.Drawable).updateBounds(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`@Px` `left:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bounds.left, `@Px` `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bounds.top, `@Px` `right:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bounds.right, `@Px` `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bounds.bottom)` Updates this drawable's bounds. |

##### For [android.net.Uri](https://developer.android.com/reference/android/net/Uri.html)

|---|---|
| [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) | [Uri](https://developer.android.com/reference/android/net/Uri.html)`.`[toIcon](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(android.net.Uri).toIcon())`()` Create an [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) from this [Uri](https://developer.android.com/reference/android/net/Uri.html). |

##### For [kotlin.ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)

|---|---|
| [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`.`[toIcon](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(kotlin.ByteArray).toIcon())`()` Create an [Icon](https://developer.android.com/reference/android/graphics/drawable/Icon.html) from this [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html). |

##### For [kotlin.Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)

|---|---|
| [ColorDrawable](https://developer.android.com/reference/android/graphics/drawable/ColorDrawable.html) | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`.`[toDrawable](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/package-summary#(kotlin.Int).toDrawable())`()` Create a [ColorDrawable](https://developer.android.com/reference/android/graphics/drawable/ColorDrawable.html) from this color value. |

## androidx.core.location

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.location.Location](https://developer.android.com/reference/android/location/Location.html)

|---|---|
| operator [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) | [Location](https://developer.android.com/reference/android/location/Location.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/location/package-summary#(android.location.Location).component1())`()` Returns the latitude of this [Location](https://developer.android.com/reference/android/location/Location.html). |
| operator [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) | [Location](https://developer.android.com/reference/android/location/Location.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/location/package-summary#(android.location.Location).component2())`()` Returns the longitude of this [Location](https://developer.android.com/reference/android/location/Location.html). |

## androidx.core.net

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.net.Uri](https://developer.android.com/reference/android/net/Uri.html)

|---|---|
| [File](https://developer.android.com/reference/java/io/File.html) | [Uri](https://developer.android.com/reference/android/net/Uri.html)`.`[toFile](https://developer.android.com/reference/kotlin/androidx/core/net/package-summary#(android.net.Uri).toFile())`()` Creates a [File](https://developer.android.com/reference/java/io/File.html) from the given [Uri](https://developer.android.com/reference/android/net/Uri.html). |

##### For [java.io.File](https://developer.android.com/reference/java/io/File.html)

|---|---|
| [Uri](https://developer.android.com/reference/android/net/Uri.html) | [File](https://developer.android.com/reference/java/io/File.html)`.`[toUri](https://developer.android.com/reference/kotlin/androidx/core/net/package-summary#(java.io.File).toUri())`()` Creates a Uri from the given file. |

##### For [kotlin.String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

|---|---|
| [Uri](https://developer.android.com/reference/android/net/Uri.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`.`[toUri](https://developer.android.com/reference/kotlin/androidx/core/net/package-summary#(kotlin.String).toUri())`()` Creates a Uri from the given encoded URI string. |

## androidx.core.os

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.os.Handler](https://developer.android.com/reference/android/os/Handler.html)

|---|---|
| [Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | [Handler](https://developer.android.com/reference/android/os/Handler.html)`.`[postAtTime](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#(android.os.Handler).postAtTime(kotlin.Long,%20kotlin.Any,%20kotlin.Function0))`(`uptimeMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `token:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?` `=` null, `crossinline` `action:` `()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Version of [Handler.postAtTime](https://developer.android.com/reference/android/os/Handler.html#postAtTime(java.lang.Runnable, long)) which re-orders the parameters, allowing the action to be placed outside of parentheses. |
| [Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | [Handler](https://developer.android.com/reference/android/os/Handler.html)`.`[postDelayed](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#(android.os.Handler).postDelayed(kotlin.Long,%20kotlin.Any,%20kotlin.Function0))`(`delayInMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `token:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?` `=` null, `crossinline` `action:` `()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Version of [Handler.postDelayed](https://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, long)) which re-orders the parameters, allowing the action to be placed outside of parentheses. |

#### Top-level functions

|---|---|
| [Bundle](https://developer.android.com/reference/android/os/Bundle.html) | [bundleOf](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#bundleOf(kotlin.Pair))`(`vararg` `pairs:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?>`)` Returns a new [Bundle](https://developer.android.com/reference/android/os/Bundle.html) with the given key/value pairs as elements. |
| [PersistableBundle](https://developer.android.com/reference/android/os/PersistableBundle.html) | [persistableBundleOf](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#persistableBundleOf(kotlin.Pair))`(`vararg` `pairs:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?>`)` Returns a new [PersistableBundle](https://developer.android.com/reference/android/os/PersistableBundle.html) with the given key/value pairs as elements. |
| T | [trace](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#trace(kotlin.String,%20kotlin.Function0))`(`sectionName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `block:` `()` `->` `T`)` Wrap the specified [block](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#androidx.core.os$trace(kotlin.String,%20kotlin.Function0((androidx.core.os.trace.T)))/block) in calls to [Trace.beginSection](https://developer.android.com/reference/android/os/Trace.html#beginSection(java.lang.String)) (with the supplied [sectionName](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#androidx.core.os$trace(kotlin.String,%20kotlin.Function0((androidx.core.os.trace.T)))/sectionName)) and [Trace.endSection](https://developer.android.com/reference/android/os/Trace.html#endSection()). |

## androidx.core.text

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.text.Spannable](https://developer.android.com/reference/android/text/Spannable.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Spannable](https://developer.android.com/reference/android/text/Spannable.html)`.`[clearSpans](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.Spannable).clearSpans())`()` Clear all spans from this text. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Spannable](https://developer.android.com/reference/android/text/Spannable.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.Spannable).set(kotlin.Int,%20kotlin.Int,%20kotlin.Any))`(`start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `end:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `span:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`)` Add [span](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$set(android.text.Spannable,%20kotlin.Int,%20kotlin.Int,%20kotlin.Any)/span) to the range [start](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$set(android.text.Spannable,%20kotlin.Int,%20kotlin.Int,%20kotlin.Any)/start)...[end](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$set(android.text.Spannable,%20kotlin.Int,%20kotlin.Int,%20kotlin.Any)/end) of the text. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Spannable](https://developer.android.com/reference/android/text/Spannable.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.Spannable).set(kotlin.ranges.IntRange,%20kotlin.Any))`(`range:` `[IntRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-int-range/index.html)`, `span:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`)` Add [span](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$set(android.text.Spannable,%20kotlin.ranges.IntRange,%20kotlin.Any)/span) to the [range](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$set(android.text.Spannable,%20kotlin.ranges.IntRange,%20kotlin.Any)/range) of the text. |

##### For [android.text.SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)

|---|---|
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[backgroundColor](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).backgroundColor(kotlin.Int,%20kotlin.Function1))`(`color:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$backgroundColor(android.text.SpannableStringBuilder,%20kotlin.Int,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [BackgroundColorSpan](https://developer.android.com/reference/android/text/style/BackgroundColorSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[bold](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).bold(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$bold(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a bold [StyleSpan](https://developer.android.com/reference/android/text/style/StyleSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[color](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).color(kotlin.Int,%20kotlin.Function1))`(`color:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$color(android.text.SpannableStringBuilder,%20kotlin.Int,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [ForegroundColorSpan](https://developer.android.com/reference/android/text/style/ForegroundColorSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[inSpans](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).inSpans(kotlin.Any,%20kotlin.Function1))`(`vararg` `spans:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`, `builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$inSpans(android.text.SpannableStringBuilder,%20kotlin.Array((kotlin.Any)),%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in [spans](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$inSpans(android.text.SpannableStringBuilder,%20kotlin.Array((kotlin.Any)),%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/spans). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[inSpans](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).inSpans(kotlin.Any,%20kotlin.Function1))`(`span:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`, `builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$inSpans(android.text.SpannableStringBuilder,%20kotlin.Any,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in [span](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$inSpans(android.text.SpannableStringBuilder,%20kotlin.Any,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/span). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[italic](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).italic(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$italic(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in an italic [StyleSpan](https://developer.android.com/reference/android/text/style/StyleSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[scale](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).scale(kotlin.Float,%20kotlin.Function1))`(`proportion:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$scale(android.text.SpannableStringBuilder,%20kotlin.Float,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [RelativeSizeSpan](https://developer.android.com/reference/android/text/style/RelativeSizeSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[strikeThrough](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).strikeThrough(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$strikeThrough(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [StrikethroughSpan](https://developer.android.com/reference/android/text/style/StrikethroughSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[subscript](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).subscript(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$subscript(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [SubscriptSpan](https://developer.android.com/reference/android/text/style/SubscriptSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[superscript](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).superscript(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$superscript(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in a [SuperscriptSpan](https://developer.android.com/reference/android/text/style/SuperscriptSpan.html). |
| [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html)`.`[underline](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.SpannableStringBuilder).underline(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Wrap appended text in [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$underline(android.text.SpannableStringBuilder,%20kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) in an [UnderlineSpan](https://developer.android.com/reference/android/text/style/UnderlineSpan.html). |

##### For [android.text.Spanned](https://developer.android.com/reference/android/text/Spanned.html)

|---|---|
| [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\<out T\> | [Spanned](https://developer.android.com/reference/android/text/Spanned.html)`.`[getSpans](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.Spanned).getSpans(kotlin.Int,%20kotlin.Int))`(`start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `end:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` length)` Get all spans that are instance of T. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [Spanned](https://developer.android.com/reference/android/text/Spanned.html)`.`[toHtml](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(android.text.Spanned).toHtml(kotlin.Int))`(`option:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` TO_HTML_PARAGRAPH_LINES_CONSECUTIVE)` Returns a string of HTML from the spans in this [Spanned](https://developer.android.com/reference/android/text/Spanned.html). |

##### For [kotlin.CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`.`[isDigitsOnly](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.CharSequence).isDigitsOnly())`()` Returns whether the given [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html) contains only digits. |
| [Spannable](https://developer.android.com/reference/android/text/Spannable.html) | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`.`[toSpannable](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.CharSequence).toSpannable())`()` Returns a new [Spannable](https://developer.android.com/reference/android/text/Spannable.html) from [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html), or the source itself if it is already an instance of [SpannableString](https://developer.android.com/reference/android/text/SpannableString.html). |
| [Spanned](https://developer.android.com/reference/android/text/Spanned.html) | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`.`[toSpanned](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.CharSequence).toSpanned())`()` Returns a new [Spanned](https://developer.android.com/reference/android/text/Spanned.html) from [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html), or the source itself if it is already an instance of [SpannedString](https://developer.android.com/reference/android/text/SpannedString.html). |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`.`[trimmedLength](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.CharSequence).trimmedLength())`()` Returns the length that the specified [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html) would have if spaces and ASCII control characters were trimmed from the start and end, as by [String.trim](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim.html). |

##### For [kotlin.String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

|---|---|
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`.`[htmlEncode](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.String).htmlEncode())`()` Html-encode the string. |
| [Spanned](https://developer.android.com/reference/android/text/Spanned.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`.`[parseAsHtml](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(kotlin.String).parseAsHtml(kotlin.Int,%20android.text.Html.ImageGetter,%20android.text.Html.TagHandler))`(`flags:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` FROM_HTML_MODE_LEGACY, `imageGetter:` `[ImageGetter](https://developer.android.com/reference/android/text/Html/ImageGetter.html)?` `=` null, `tagHandler:` `[TagHandler](https://developer.android.com/reference/android/text/Html/TagHandler.html)?` `=` null)` Returns a [Spanned](https://developer.android.com/reference/android/text/Spanned.html) from parsing this string as HTML. |

#### Extension properties

##### For [java.util.Locale](https://developer.android.com/reference/java/util/Locale.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Locale](https://developer.android.com/reference/java/util/Locale.html)`.`[layoutDirection](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#(java.util.Locale).layoutDirection:kotlin.Int)`()` Returns layout direction for a given locale. |

#### Top-level functions

|---|---|
| [SpannedString](https://developer.android.com/reference/android/text/SpannedString.html) | [buildSpannedString](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#buildSpannedString(kotlin.Function1))`(`builderAction:` `[SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Builds new string by populating a newly created [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder.html) using the provided [builderAction](https://developer.android.com/reference/kotlin/androidx/core/text/package-summary#androidx.core.text$buildSpannedString(kotlin.Function1((android.text.SpannableStringBuilder,%20kotlin.Unit)))/builderAction) and then converting it to [SpannedString](https://developer.android.com/reference/android/text/SpannedString.html). |

## androidx.core.transition

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.transition.Transition](https://developer.android.com/reference/android/transition/Transition.html)

|---|---|
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[addListener](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).addListener(kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1))`(`crossinline` `onEnd:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onStart:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onCancel:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onResume:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `crossinline` `onPause:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {})` Add a listener to this Transition using the provided actions. |
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[doOnCancel](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).doOnCancel(kotlin.Function1))`(`crossinline` `action:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when this transition has been cancelled. |
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[doOnEnd](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).doOnEnd(kotlin.Function1))`(`crossinline` `action:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when this transition has ended. |
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[doOnPause](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).doOnPause(kotlin.Function1))`(`crossinline` `action:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when this transition has been paused. |
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[doOnResume](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).doOnResume(kotlin.Function1))`(`crossinline` `action:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when this transition has resumed after a pause. |
| [TransitionListener](https://developer.android.com/reference/android/transition/Transition/TransitionListener.html) | [Transition](https://developer.android.com/reference/android/transition/Transition.html)`.`[doOnStart](https://developer.android.com/reference/kotlin/androidx/core/transition/package-summary#(android.transition.Transition).doOnStart(kotlin.Function1))`(`crossinline` `action:` `(transition:` `[Transition](https://developer.android.com/reference/android/transition/Transition.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when this transition has started. |

## androidx.core.util

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.util.AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)

|---|---|
| [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html) | [AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)`.`[readBytes](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.AtomicFile).readBytes())`()` Gets the entire content of this file as a byte array. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)`.`[readText](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.AtomicFile).readText(java.nio.charset.Charset))`(`charset:` `[Charset](https://developer.android.com/reference/java/nio/charset/Charset.html)` `=` Charsets.UTF_8)` Gets the entire content of this file as a String using UTF-8 or specified [charset](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$readText(android.util.AtomicFile,%20java.nio.charset.Charset)/charset). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)`.`[tryWrite](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.AtomicFile).tryWrite(kotlin.Function1))`(`block:` `(out:` `[FileOutputStream](https://developer.android.com/reference/java/io/FileOutputStream.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Perform the write operations inside [block](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$tryWrite(android.util.AtomicFile,%20kotlin.Function1((java.io.FileOutputStream,%20kotlin.Unit)))/block) on this file. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)`.`[writeBytes](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.AtomicFile).writeBytes(kotlin.ByteArray))`(`array:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`)` Sets the content of this file as an [array](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$writeBytes(android.util.AtomicFile,%20kotlin.ByteArray)/array) of bytes. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AtomicFile](https://developer.android.com/reference/android/util/AtomicFile.html)`.`[writeText](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.AtomicFile).writeText(kotlin.String,%20java.nio.charset.Charset))`(`text:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `charset:` `[Charset](https://developer.android.com/reference/java/nio/charset/Charset.html)` `=` Charsets.UTF_8)` Sets the content of this file as [text](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$writeText(android.util.AtomicFile,%20kotlin.String,%20java.nio.charset.Charset)/text) encoded using UTF-8 or specified [charset](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$writeText(android.util.AtomicFile,%20kotlin.String,%20java.nio.charset.Charset)/charset). |

##### For [android.util.LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).contains(kotlin.Long))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$contains(android.util.LongSparseArray((androidx.core.util.contains.T)),%20kotlin.Long)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[containsKey](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).containsKey(kotlin.Long))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsKey(android.util.LongSparseArray((androidx.core.util.containsKey.T)),%20kotlin.Long)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[containsValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).containsValue(androidx.core.util.android.util.LongSparseArray.containsValue.T))`(`value:` `T`)` Returns true if the collection contains [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsValue(android.util.LongSparseArray((androidx.core.util.containsValue.T)),%20androidx.core.util.containsValue.T)/value). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html),` `value:` `T)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$forEach(android.util.LongSparseArray((androidx.core.util.forEach.T)),%20kotlin.Function2((kotlin.Long,%20androidx.core.util.forEach.T,%20kotlin.Unit)))/action) for each key/value entry. |
| T | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).getOrDefault(kotlin.Long,%20androidx.core.util.android.util.LongSparseArray.getOrDefault.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `defaultValue:` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.LongSparseArray((androidx.core.util.getOrDefault.T)),%20kotlin.Long,%20androidx.core.util.getOrDefault.T)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.LongSparseArray((androidx.core.util.getOrDefault.T)),%20kotlin.Long,%20androidx.core.util.getOrDefault.T)/defaultValue) when not present. |
| T | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).getOrElse(kotlin.Long,%20kotlin.Function0))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `defaultValue:` `()` `->` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.LongSparseArray((androidx.core.util.getOrElse.T)),%20kotlin.Long,%20kotlin.Function0((androidx.core.util.getOrElse.T)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.LongSparseArray((androidx.core.util.getOrElse.T)),%20kotlin.Long,%20kotlin.Function0((androidx.core.util.getOrElse.T)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).isEmpty())`()` Return true when the collection contains no elements. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [LongIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-long-iterator/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)\<T\> | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).plus(android.util.LongSparseArray))`(`other:` `[LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.LongSparseArray((androidx.core.util.plus.T)),%20android.util.LongSparseArray((androidx.core.util.plus.T)))/other). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[putAll](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).putAll(android.util.LongSparseArray))`(`other:` `[LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`)` Update this collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$putAll(android.util.LongSparseArray((androidx.core.util.putAll.T)),%20android.util.LongSparseArray((androidx.core.util.putAll.T)))/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[remove](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).remove(kotlin.Long,%20androidx.core.util.android.util.LongSparseArray.remove.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `value:` `T`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.LongSparseArray((androidx.core.util.remove.T)),%20kotlin.Long,%20androidx.core.util.remove.T)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.LongSparseArray((androidx.core.util.remove.T)),%20kotlin.Long,%20androidx.core.util.remove.T)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[set](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).set(kotlin.Long,%20androidx.core.util.android.util.LongSparseArray.set.T))`(`key:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `value:` `T`)` Allows the use of the index operator for storing values in the collection. |
| [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html)\<T\> | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [android.util.Pair](https://developer.android.com/reference/android/util/Pair.html)

|---|---|
| operator F | [Pair](https://developer.android.com/reference/android/util/Pair.html)<F,` `S>`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Pair).component1())`()` Returns the first component of the pair. |
| operator S | [Pair](https://developer.android.com/reference/android/util/Pair.html)<F,` `S>`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Pair).component2())`()` Returns the second component of the pair. |
| [Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)\<F, S\> | [Pair](https://developer.android.com/reference/android/util/Pair.html)<F,` `S>`.`[toKotlinPair](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Pair).toKotlinPair())`()` Returns this [Pair](https://developer.android.com/reference/android/util/Pair.html) as a [kotlin.Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html). |

##### For [android.util.Range](https://developer.android.com/reference/android/util/Range.html)

|---|---|
| infix [Range](https://developer.android.com/reference/android/util/Range.html)\<T\> | [Range](https://developer.android.com/reference/android/util/Range.html)<T>`.`[and](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Range).and(android.util.Range))`(`other:` `[Range](https://developer.android.com/reference/android/util/Range.html)<T>`)` Return the intersection of this range and [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$and(android.util.Range((androidx.core.util.and.T)),%20android.util.Range((androidx.core.util.and.T)))/other). |
| operator [Range](https://developer.android.com/reference/android/util/Range.html)\<T\> | [Range](https://developer.android.com/reference/android/util/Range.html)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Range).plus(androidx.core.util.android.util.Range.plus.T))`(`value:` `T`)` Return the smallest range that includes this and [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.Range((androidx.core.util.plus.T)),%20androidx.core.util.plus.T)/value). |
| operator [Range](https://developer.android.com/reference/android/util/Range.html)\<T\> | [Range](https://developer.android.com/reference/android/util/Range.html)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Range).plus(android.util.Range))`(`other:` `[Range](https://developer.android.com/reference/android/util/Range.html)<T>`)` Return the smallest range that includes this and [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.Range((androidx.core.util.plus.T)),%20android.util.Range((androidx.core.util.plus.T)))/other). |
| [ClosedRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-closed-range/index.html)\<T\> | [Range](https://developer.android.com/reference/android/util/Range.html)<T>`.`[toClosedRange](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Range).toClosedRange())`()` Returns this [Range](https://developer.android.com/reference/android/util/Range.html) as a [ClosedRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-closed-range/index.html). |

##### For [android.util.Size](https://developer.android.com/reference/android/util/Size.html)

|---|---|
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Size](https://developer.android.com/reference/android/util/Size.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Size).component1())`()` Returns "width", the first component of this [Size](https://developer.android.com/reference/android/util/Size.html). |
| operator [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Size](https://developer.android.com/reference/android/util/Size.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.Size).component2())`()` Returns "height", the second component of this [Size](https://developer.android.com/reference/android/util/Size.html). |

##### For [android.util.SizeF](https://developer.android.com/reference/android/util/SizeF.html)

|---|---|
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [SizeF](https://developer.android.com/reference/android/util/SizeF.html)`.`[component1](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SizeF).component1())`()` Returns "width", the first component of this [SizeF](https://developer.android.com/reference/android/util/SizeF.html). |
| operator [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html) | [SizeF](https://developer.android.com/reference/android/util/SizeF.html)`.`[component2](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SizeF).component2())`()` Returns "height", the second component of this [SizeF](https://developer.android.com/reference/android/util/SizeF.html). |

##### For [android.util.SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).contains(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$contains(android.util.SparseArray((androidx.core.util.contains.T)),%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[containsKey](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).containsKey(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsKey(android.util.SparseArray((androidx.core.util.containsKey.T)),%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[containsValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).containsValue(androidx.core.util.android.util.SparseArray.containsValue.T))`(`value:` `T`)` Returns true if the collection contains [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsValue(android.util.SparseArray((androidx.core.util.containsValue.T)),%20androidx.core.util.containsValue.T)/value). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `value:` `T)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$forEach(android.util.SparseArray((androidx.core.util.forEach.T)),%20kotlin.Function2((kotlin.Int,%20androidx.core.util.forEach.T,%20kotlin.Unit)))/action) for each key/value entry. |
| T | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).getOrDefault(kotlin.Int,%20androidx.core.util.android.util.SparseArray.getOrDefault.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseArray((androidx.core.util.getOrDefault.T)),%20kotlin.Int,%20androidx.core.util.getOrDefault.T)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseArray((androidx.core.util.getOrDefault.T)),%20kotlin.Int,%20androidx.core.util.getOrDefault.T)/defaultValue) when not present. |
| T | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).getOrElse(kotlin.Int,%20kotlin.Function0))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `()` `->` `T`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseArray((androidx.core.util.getOrElse.T)),%20kotlin.Int,%20kotlin.Function0((androidx.core.util.getOrElse.T)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseArray((androidx.core.util.getOrElse.T)),%20kotlin.Int,%20kotlin.Function0((androidx.core.util.getOrElse.T)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).isEmpty())`()` Return true when the collection contains no elements. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)\<T\> | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).plus(android.util.SparseArray))`(`other:` `[SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.SparseArray((androidx.core.util.plus.T)),%20android.util.SparseArray((androidx.core.util.plus.T)))/other). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[putAll](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).putAll(android.util.SparseArray))`(`other:` `[SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`)` Update this collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$putAll(android.util.SparseArray((androidx.core.util.putAll.T)),%20android.util.SparseArray((androidx.core.util.putAll.T)))/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[remove](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).remove(kotlin.Int,%20androidx.core.util.android.util.SparseArray.remove.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `T`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseArray((androidx.core.util.remove.T)),%20kotlin.Int,%20androidx.core.util.remove.T)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseArray((androidx.core.util.remove.T)),%20kotlin.Int,%20androidx.core.util.remove.T)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[set](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).set(kotlin.Int,%20androidx.core.util.android.util.SparseArray.set.T))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `T`)` Allows the use of the index operator for storing values in the collection. |
| [Iterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html)\<T\> | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [android.util.SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).contains(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$contains(android.util.SparseBooleanArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[containsKey](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).containsKey(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsKey(android.util.SparseBooleanArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[containsValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).containsValue(kotlin.Boolean))`(`value:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Returns true if the collection contains [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsValue(android.util.SparseBooleanArray,%20kotlin.Boolean)/value). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `value:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$forEach(android.util.SparseBooleanArray,%20kotlin.Function2((kotlin.Int,%20kotlin.Boolean,%20kotlin.Unit)))/action) for each key/value entry. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).getOrDefault(kotlin.Int,%20kotlin.Boolean))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Boolean)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Boolean)/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).getOrElse(kotlin.Int,%20kotlin.Function0))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `()` `->` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Boolean)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Boolean)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).isEmpty())`()` Return true when the collection contains no elements. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).plus(android.util.SparseBooleanArray))`(`other:` `[SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.SparseBooleanArray,%20android.util.SparseBooleanArray)/other). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[putAll](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).putAll(android.util.SparseBooleanArray))`(`other:` `[SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`)` Update this collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$putAll(android.util.SparseBooleanArray,%20android.util.SparseBooleanArray)/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[remove](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).remove(kotlin.Int,%20kotlin.Boolean))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Boolean)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseBooleanArray,%20kotlin.Int,%20kotlin.Boolean)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).set(kotlin.Int,%20kotlin.Boolean))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Allows the use of the index operator for storing values in the collection. |
| [BooleanIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-boolean-iterator/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [android.util.SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).contains(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$contains(android.util.SparseIntArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[containsKey](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).containsKey(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsKey(android.util.SparseIntArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[containsValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).containsValue(kotlin.Int))`(`value:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsValue(android.util.SparseIntArray,%20kotlin.Int)/value). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `value:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$forEach(android.util.SparseIntArray,%20kotlin.Function2((kotlin.Int,%20,%20kotlin.Unit)))/action) for each key/value entry. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).getOrDefault(kotlin.Int,%20kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Int)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Int)/defaultValue) when not present. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).getOrElse(kotlin.Int,%20kotlin.Function0))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `()` `->` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Int)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Int)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).isEmpty())`()` Return true when the collection contains no elements. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).plus(android.util.SparseIntArray))`(`other:` `[SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.SparseIntArray,%20android.util.SparseIntArray)/other). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[putAll](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).putAll(android.util.SparseIntArray))`(`other:` `[SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`)` Update this collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$putAll(android.util.SparseIntArray,%20android.util.SparseIntArray)/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[remove](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).remove(kotlin.Int,%20kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Int)/key) only if it is mapped to [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseIntArray,%20kotlin.Int,%20kotlin.Int)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).set(kotlin.Int,%20kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Allows the use of the index operator for storing values in the collection. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [android.util.SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).contains(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$contains(android.util.SparseLongArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[containsKey](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).containsKey(kotlin.Int))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns true if the collection contains [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsKey(android.util.SparseLongArray,%20kotlin.Int)/key). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[containsValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).containsValue(kotlin.Long))`(`value:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Returns true if the collection contains [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$containsValue(android.util.SparseLongArray,%20kotlin.Long)/value). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).forEach(kotlin.Function2))`(`action:` `(key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `value:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given [action](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$forEach(android.util.SparseLongArray,%20kotlin.Function2((kotlin.Int,%20kotlin.Long,%20kotlin.Unit)))/action) for each key/value entry. |
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[getOrDefault](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).getOrDefault(kotlin.Int,%20kotlin.Long))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Long)/key), or [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrDefault(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Long)/defaultValue) when not present. |
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[getOrElse](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).getOrElse(kotlin.Int,%20kotlin.Function0))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `defaultValue:` `()` `->` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Return the value corresponding to [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Long)))/key), or from [defaultValue](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$getOrElse(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Function0((kotlin.Long)))/defaultValue) when not present. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).isEmpty())`()` Return true when the collection contains no elements. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).isNotEmpty())`()` Return true when the collection contains elements. |
| [IntIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-int-iterator/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[keyIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).keyIterator())`()` Return an iterator over the collection's keys. |
| operator [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[plus](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).plus(android.util.SparseLongArray))`(`other:` `[SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`)` Creates a new collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$plus(android.util.SparseLongArray,%20android.util.SparseLongArray)/other). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[putAll](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).putAll(android.util.SparseLongArray))`(`other:` `[SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`)` Update this collection by adding or replacing entries from [other](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$putAll(android.util.SparseLongArray,%20android.util.SparseLongArray)/other). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[remove](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).remove(kotlin.Int,%20kotlin.Long))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Removes the entry for [key](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Long)/key) only if it is set to [value](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$remove(android.util.SparseLongArray,%20kotlin.Int,%20kotlin.Long)/value). |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[set](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).set(kotlin.Int,%20kotlin.Long))`(`key:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `value:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Allows the use of the index operator for storing values in the collection. |
| [LongIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-long-iterator/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[valueIterator](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).valueIterator())`()` Return an iterator over the collection's values. |

##### For [kotlin.Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)

|---|---|
| [Half](https://developer.android.com/reference/android/util/Half.html) | [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)`.`[toHalf](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.Double).toHalf())`()` Returns a [Half](https://developer.android.com/reference/android/util/Half.html) instance representing given [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html). |

##### For [kotlin.Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)

|---|---|
| [Half](https://developer.android.com/reference/android/util/Half.html) | [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`.`[toHalf](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.Float).toHalf())`()` Returns a [Half](https://developer.android.com/reference/android/util/Half.html) instance representing given [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html). |

##### For [kotlin.Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)

|---|---|
| [Pair](https://developer.android.com/reference/android/util/Pair.html)\<F, S\> | [Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<F,` `S>`.`[toAndroidPair](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.Pair).toAndroidPair())`()` Returns this [kotlin.Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html) as an Android [Pair](https://developer.android.com/reference/android/util/Pair.html). |

##### For [kotlin.Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)

|---|---|
| [Half](https://developer.android.com/reference/android/util/Half.html) | [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)`.`[toHalf](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.Short).toHalf())`()` Returns a [Half](https://developer.android.com/reference/android/util/Half.html) instance representing given [Short](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html). |

##### For [kotlin.String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)

|---|---|
| [Half](https://developer.android.com/reference/android/util/Half.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`.`[toHalf](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.String).toHalf())`()` Returns a [Half](https://developer.android.com/reference/android/util/Half.html) instance representing given [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html). |

##### For [kotlin.ranges.ClosedRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-closed-range/index.html)

|---|---|
| [Range](https://developer.android.com/reference/android/util/Range.html)\<T\> | [ClosedRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-closed-range/index.html)<T>`.`[toRange](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(kotlin.ranges.ClosedRange).toRange())`()` Returns this [ClosedRange](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/-closed-range/index.html) as a [Range](https://developer.android.com/reference/android/util/Range.html). |

#### Extension properties

##### For [android.util.LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [LongSparseArray](https://developer.android.com/reference/android/util/LongSparseArray.html)<T>`.`[size](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.LongSparseArray).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

##### For [android.util.SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseArray](https://developer.android.com/reference/android/util/SparseArray.html)<T>`.`[size](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseArray).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

##### For [android.util.SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseBooleanArray](https://developer.android.com/reference/android/util/SparseBooleanArray.html)`.`[size](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseBooleanArray).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

##### For [android.util.SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseIntArray](https://developer.android.com/reference/android/util/SparseIntArray.html)`.`[size](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseIntArray).size:kotlin.Int)`()` Returns the number of key/value pairs in the collection. |

##### For [android.util.SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SparseLongArray](https://developer.android.com/reference/android/util/SparseLongArray.html)`.`[size](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(android.util.SparseLongArray).size:kotlin.Int)`()` Returns the number of key/value entries in the collection. |

#### Top-level functions

|---|---|
| [LruCache](https://developer.android.com/reference/android/util/LruCache.html)\<K, V\> | [lruCache](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#lruCache(kotlin.Int,%20kotlin.Function2,%20kotlin.Function1,%20kotlin.Function4))`(`maxSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `crossinline` `sizeOf:` `(key:` `K,` `value:` `V)` `->` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` { _, _ -> 1 }, `crossinline` `create:` `(key:` `K)` `->` `V?` `=` { null as V? }, `crossinline` `onEntryRemoved:` `(evicted:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html),` `key:` `K,` `oldValue:` `V,` `newValue:` `V?)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` { _, _, _, _ -> })` Creates an [LruCache](https://developer.android.com/reference/android/util/LruCache.html) with the given parameters. |
| infix [Range](https://developer.android.com/reference/android/util/Range.html)\<T\> | T`.`[rangeTo](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#(androidx.core.util.rangeTo.T).rangeTo(androidx.core.util.rangeTo.T))`(`that:` `T`)` Creates a range from this [Comparable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-comparable/index.html) value to [that](https://developer.android.com/reference/kotlin/androidx/core/util/package-summary#androidx.core.util$rangeTo(androidx.core.util.rangeTo.T,%20androidx.core.util.rangeTo.T)/that). |

## androidx.core.view

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.view.Menu](https://developer.android.com/reference/android/view/Menu.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).contains(android.view.MenuItem))`(`item:` `[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)`)` Returns `true` if [item](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$contains(android.view.Menu,%20android.view.MenuItem)/item) is found in this menu. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).forEach(kotlin.Function1))`(`action:` `(item:` `[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each item in this menu. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[forEachIndexed](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).forEachIndexed(kotlin.Function2))`(`action:` `(index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `item:` `[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each item in this menu, providing its sequential index. |
| operator [MenuItem](https://developer.android.com/reference/android/view/MenuItem.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[get](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).get(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the menu at [index](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$get(android.view.Menu,%20kotlin.Int)/index). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).isEmpty())`()` Returns true if this menu contains no items. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).isNotEmpty())`()` Returns true if this menu contains one or more items. |
| operator [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html)\<[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)\> | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[iterator](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).iterator())`()` Returns a [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html) over the items in this menu. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[minusAssign](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).minusAssign(android.view.MenuItem))`(`item:` `[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)`)` Removes [item](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$minusAssign(android.view.Menu,%20android.view.MenuItem)/item) from this menu. |

##### For [android.view.View](https://developer.android.com/reference/android/view/View.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[doOnAttach](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).doOnAttach(kotlin.Function1))`(`crossinline` `action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action when this view is attached to a window. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[doOnDetach](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).doOnDetach(kotlin.Function1))`(`crossinline` `action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action when this view is detached from a window. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[doOnLayout](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).doOnLayout(kotlin.Function1))`(`crossinline` `action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action when this view is laid out. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[doOnNextLayout](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).doOnNextLayout(kotlin.Function1))`(`crossinline` `action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action when this view is next laid out. |
| [OneShotPreDrawListener](https://developer.android.com/reference/kotlin/androidx/core/view/OneShotPreDrawListener) | [View](https://developer.android.com/reference/android/view/View.html)`.`[doOnPreDraw](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).doOnPreDraw(kotlin.Function1))`(`crossinline` `action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action when the view tree is about to be drawn. |
| [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[drawToBitmap](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).drawToBitmap(android.graphics.Bitmap.Config))`(`config:` `[Config](https://developer.android.com/reference/android/graphics/Bitmap/Config.html)` `=` Bitmap.Config.ARGB_8888)` Return a [Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html) representation of this [View](https://developer.android.com/reference/android/view/View.html). |
| [Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[postDelayed](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).postDelayed(kotlin.Long,%20kotlin.Function0))`(`delayInMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `crossinline` `action:` `()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Version of [View.postDelayed](https://developer.android.com/reference/android/view/View.html#postDelayed(java.lang.Runnable, long)) which re-orders the parameters, allowing the action to be placed outside of parentheses. |
| [Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[postOnAnimationDelayed](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).postOnAnimationDelayed(kotlin.Long,%20kotlin.Function0))`(`delayInMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `crossinline` `action:` `()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Version of [View.postOnAnimationDelayed](https://developer.android.com/reference/android/view/View.html#postOnAnimationDelayed(java.lang.Runnable, long)) which re-orders the parameters, allowing the action to be placed outside of parentheses. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[setPadding](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).setPadding(kotlin.Int))`(`@Px` `size:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the view's padding. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[updateLayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).updateLayoutParams(kotlin.Function1))`(`block:` `[LayoutParams](https://developer.android.com/reference/android/view/ViewGroup/LayoutParams.html).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Executes [block](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$updateLayoutParams(android.view.View,%20kotlin.Function1((android.view.ViewGroup.LayoutParams,%20kotlin.Unit)))/block) with the View's layoutParams and reassigns the layoutParams with the updated version. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[updateLayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).updateLayoutParams(kotlin.Function1))`(`block:` `T.()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Executes [block](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$updateLayoutParams(android.view.View,%20kotlin.Function1((androidx.core.view.updateLayoutParams.T,%20kotlin.Unit)))/block) with a typed version of the View's layoutParams and reassigns the layoutParams with the updated version. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[updatePadding](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).updatePadding(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`@Px` `left:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingLeft, `@Px` `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingTop, `@Px` `right:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingRight, `@Px` `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingBottom)` Updates this view's padding. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[updatePaddingRelative](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).updatePaddingRelative(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`@Px` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingStart, `@Px` `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingTop, `@Px` `end:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingEnd, `@Px` `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` paddingBottom)` Updates this view's relative padding. |

##### For [android.view.ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[contains](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).contains(android.view.View))`(`view:` `[View](https://developer.android.com/reference/android/view/View.html)`)` Returns `true` if [view](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$contains(android.view.ViewGroup,%20android.view.View)/view) is found in this view group. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).forEach(kotlin.Function1))`(`action:` `(view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each view in this view group. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[forEachIndexed](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).forEachIndexed(kotlin.Function2))`(`action:` `(index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `view:` `[View](https://developer.android.com/reference/android/view/View.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each view in this view group, providing its sequential index. |
| operator [View](https://developer.android.com/reference/android/view/View.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[get](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).get(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the view at [index](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$get(android.view.ViewGroup,%20kotlin.Int)/index). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).isEmpty())`()` Returns true if this view group contains no views. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).isNotEmpty())`()` Returns true if this view group contains one or more views. |
| operator [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html)\<[View](https://developer.android.com/reference/android/view/View.html)\> | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[iterator](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).iterator())`()` Returns a [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html) over the views in this view group. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[minusAssign](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).minusAssign(android.view.View))`(`view:` `[View](https://developer.android.com/reference/android/view/View.html)`)` Removes [view](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$minusAssign(android.view.ViewGroup,%20android.view.View)/view) from this view group. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[plusAssign](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).plusAssign(android.view.View))`(`view:` `[View](https://developer.android.com/reference/android/view/View.html)`)` Adds [view](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#androidx.core.view$plusAssign(android.view.ViewGroup,%20android.view.View)/view) to this view group. |

##### For [android.view.ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html)`.`[setMargins](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup.MarginLayoutParams).setMargins(kotlin.Int))`(`@Px` `size:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the margins in the ViewGroup's MarginLayoutParams. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html)`.`[updateMargins](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup.MarginLayoutParams).updateMargins(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`@Px` `left:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` leftMargin, `@Px` `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` topMargin, `@Px` `right:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` rightMargin, `@Px` `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bottomMargin)` Updates the margins in the [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)'s [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html)`.`[updateMarginsRelative](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup.MarginLayoutParams).updateMarginsRelative(kotlin.Int,%20kotlin.Int,%20kotlin.Int,%20kotlin.Int))`(`@Px` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` marginStart, `@Px` `top:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` topMargin, `@Px` `end:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` marginEnd, `@Px` `bottom:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` bottomMargin)` Updates the relative margins in the ViewGroup's MarginLayoutParams. |

#### Extension properties

##### For [android.view.Menu](https://developer.android.com/reference/android/view/Menu.html)

|---|---|
| [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)\<[MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)\> | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[children](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).children:kotlin.sequences.Sequence)`()` Returns a [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html) over the items in this menu. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [Menu](https://developer.android.com/reference/android/view/Menu.html)`.`[size](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.Menu).size:kotlin.Int)`()` Returns the number of items in this menu. |

##### For [android.view.View](https://developer.android.com/reference/android/view/View.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[isGone](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).isGone:kotlin.Boolean)`()` Returns true when this view's visibility is [View.GONE](https://developer.android.com/reference/android/view/View.html#GONE), false otherwise. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[isInvisible](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).isInvisible:kotlin.Boolean)`()` Returns true when this view's visibility is [View.INVISIBLE](https://developer.android.com/reference/android/view/View.html#INVISIBLE), false otherwise. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[isVisible](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).isVisible:kotlin.Boolean)`()` Returns true when this view's visibility is [View.VISIBLE](https://developer.android.com/reference/android/view/View.html#VISIBLE), false otherwise. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginBottom](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginBottom:kotlin.Int)`()` Returns the bottom margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginEnd](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginEnd:kotlin.Int)`()` Returns the end margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginLeft](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginLeft:kotlin.Int)`()` Returns the left margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginRight](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginRight:kotlin.Int)`()` Returns the right margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginStart](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginStart:kotlin.Int)`()` Returns the start margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [View](https://developer.android.com/reference/android/view/View.html)`.`[marginTop](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.View).marginTop:kotlin.Int)`()` Returns the top margin if this view's [LayoutParams](https://developer.android.com/reference/kotlin/androidx/core/view) is a [ViewGroup.MarginLayoutParams](https://developer.android.com/reference/android/view/ViewGroup/MarginLayoutParams.html), otherwise 0. |

##### For [android.view.ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)

|---|---|
| [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)\<[View](https://developer.android.com/reference/android/view/View.html)\> | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[children](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).children:kotlin.sequences.Sequence)`()` Returns a [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html) over the child views in this view group. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup.html)`.`[size](https://developer.android.com/reference/kotlin/androidx/core/view/package-summary#(android.view.ViewGroup).size:kotlin.Int)`()` Returns the number of views in this view group. |

## androidx.core.widget

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.core:core-ktx:1.17.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.core:core-ktx:1.17.0")
}
```

#### Extension functions

##### For [android.widget.TextView](https://developer.android.com/reference/android/widget/TextView.html)

|---|---|
| [TextWatcher](https://developer.android.com/reference/android/text/TextWatcher.html) | [TextView](https://developer.android.com/reference/android/widget/TextView.html)`.`[addTextChangedListener](https://developer.android.com/reference/kotlin/androidx/core/widget/package-summary#(android.widget.TextView).addTextChangedListener(kotlin.Function4,%20kotlin.Function4,%20kotlin.Function1))`(`crossinline` `beforeTextChanged:` `(text:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?,` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `count:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `after:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` { _, _, _, _ -> }, `crossinline` `onTextChanged:` `(text:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?,` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `count:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `after:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` { _, _, _, _ -> }, `crossinline` `afterTextChanged:` `(text:` `[Editable](https://developer.android.com/reference/android/text/Editable.html)?)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {})` Add a text changed listener to this TextView using the provided actions |
| [TextWatcher](https://developer.android.com/reference/android/text/TextWatcher.html) | [TextView](https://developer.android.com/reference/android/widget/TextView.html)`.`[doAfterTextChanged](https://developer.android.com/reference/kotlin/androidx/core/widget/package-summary#(android.widget.TextView).doAfterTextChanged(kotlin.Function1))`(`crossinline` `action:` `(text:` `[Editable](https://developer.android.com/reference/android/text/Editable.html)?)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked after the text changed. |
| [TextWatcher](https://developer.android.com/reference/android/text/TextWatcher.html) | [TextView](https://developer.android.com/reference/android/widget/TextView.html)`.`[doBeforeTextChanged](https://developer.android.com/reference/kotlin/androidx/core/widget/package-summary#(android.widget.TextView).doBeforeTextChanged(kotlin.Function4))`(`crossinline` `action:` `(text:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?,` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `count:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `after:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked before the text changed. |
| [TextWatcher](https://developer.android.com/reference/android/text/TextWatcher.html) | [TextView](https://developer.android.com/reference/android/widget/TextView.html)`.`[doOnTextChanged](https://developer.android.com/reference/kotlin/androidx/core/widget/package-summary#(android.widget.TextView).doOnTextChanged(kotlin.Function4))`(`crossinline` `action:` `(text:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?,` `start:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `count:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `after:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Add an action which will be invoked when the text is changing. |

## androidx.dynamicanimation.animation

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.dynamicanimation:dynamicanimation-ktx:"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.dynamicanimation:dynamicanimation-ktx:")
}
```

#### Extension functions

##### For [SpringAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringAnimation)

|---|---|
| [SpringAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringAnimation) | [SpringAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringAnimation)`.`[withSpringForceProperties](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/package-summary#(androidx.dynamicanimation.animation.SpringAnimation).withSpringForceProperties(kotlin.Function1))`(`func:` `[SpringForce](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringForce).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Updates or applies spring force properties like [SpringForce.mDampingRatio](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation), [SpringForce.mFinalPosition](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation) and stiffness on SpringAnimation. |

#### Top-level functions

|---|---|
| [FlingAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/FlingAnimation) | [flingAnimationOf](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/package-summary#flingAnimationOf(kotlin.Function1,%20kotlin.Function0))`(`setter:` `([Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`, `getter:` `()` `->` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Creates [FlingAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/FlingAnimation) for a property that can be accessed via the provided setter and getter. |
| [SpringAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringAnimation) | [springAnimationOf](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/package-summary#springAnimationOf(kotlin.Function1,%20kotlin.Function0,%20kotlin.Float))`(`setter:` `([Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`, `getter:` `()` `->` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `finalPosition:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)` `=` Float.NaN)` Creates [SpringAnimation](https://developer.android.com/reference/kotlin/androidx/dynamicanimation/animation/SpringAnimation) for a property that can be accessed via the provided setter and getter. |

## androidx.fragment.app

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.fragment:fragment-ktx:1.8.9"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.fragment:fragment-ktx:1.8.9")
}
```

#### Extension functions

##### For [android.view.View](https://developer.android.com/reference/android/view/View.html)

|---|---|
| F | [View](https://developer.android.com/reference/android/view/View.html)`.`[findFragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(android.view.View).findFragment())`()` Find a [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment) associated with a [View](https://developer.android.com/reference/android/view/View.html). |

##### For [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)

|---|---|
| [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html)\<VM\> | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[activityViewModels](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.Fragment).activityViewModels(kotlin.Function0))`(`noinline` `factoryProducer:` `()` `->` `[ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory)` `=` null)` Returns a property delegate to access parent activity's [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel), if [factoryProducer](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$activityViewModels(androidx.fragment.app.Fragment,%20kotlin.Function0((androidx.lifecycle.ViewModelProvider.Factory)))/factoryProducer) is specified then [ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory) returned by it will be used to create [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel) first time. |
| [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html)\<VM\> | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[createViewModelLazy](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.Fragment).createViewModelLazy(kotlin.reflect.KClass,%20kotlin.Function0,%20kotlin.Function0))`(`viewModelClass:` `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)<VM>`, `storeProducer:` `()` `->` `[ViewModelStore](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStore)`, `factoryProducer:` `()` `->` `[ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory)` `=` null)` Helper method for creation of [ViewModelLazy](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelLazy), that resolves `null` passed as [factoryProducer](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$createViewModelLazy(androidx.fragment.app.Fragment,%20kotlin.reflect.KClass((androidx.fragment.app.createViewModelLazy.VM)),%20kotlin.Function0((androidx.lifecycle.ViewModelStore)),%20kotlin.Function0((androidx.lifecycle.ViewModelProvider.Factory)))/factoryProducer) to default factory. |
| [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html)\<VM\> | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[viewModels](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.Fragment).viewModels(kotlin.Function0,%20kotlin.Function0))`(`noinline` `ownerProducer:` `()` `->` `[ViewModelStoreOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner)` `=` { this }, `noinline` `factoryProducer:` `()` `->` `[ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory)` `=` null)` Returns a property delegate to access [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel) by **default** scoped to this [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment): |

##### For [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction)

|---|---|
| [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) | [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction)`.`[add](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentTransaction).add(kotlin.Int,%20kotlin.String,%20android.os.Bundle))`(`@IdRes` `containerViewId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `tag:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?` `=` null, `args:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null)` Add a fragment to the associated [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager), inflating the Fragment's view into the container view specified by [containerViewId](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$add(androidx.fragment.app.FragmentTransaction,%20kotlin.Int,%20kotlin.String,%20android.os.Bundle)/containerViewId), to later retrieve via [FragmentManager.findFragmentById](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager#findFragmentById(kotlin.Int)). |
| [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) | [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction)`.`[add](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentTransaction).add(kotlin.String,%20android.os.Bundle))`(`tag:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `args:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null)` Add a fragment to the associated [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager) without adding the Fragment to any container view. |
| [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) | [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction)`.`[replace](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentTransaction).replace(kotlin.Int,%20kotlin.String,%20android.os.Bundle))`(`@IdRes` `containerViewId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `tag:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?` `=` null, `args:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null)` Replace an existing fragment that was added to a container. |

##### For [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager)`.`[commit](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentManager).commit(kotlin.Boolean,%20kotlin.Function1))`(`allowStateLoss:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` false, `body:` `[FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Run [body](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$commit(androidx.fragment.app.FragmentManager,%20kotlin.Boolean,%20kotlin.Function1((androidx.fragment.app.FragmentTransaction,%20kotlin.Unit)))/body) in a [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) which is automatically committed if it completes without exception. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager)`.`[commitNow](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentManager).commitNow(kotlin.Boolean,%20kotlin.Function1))`(`allowStateLoss:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` false, `body:` `[FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Run [body](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$commitNow(androidx.fragment.app.FragmentManager,%20kotlin.Boolean,%20kotlin.Function1((androidx.fragment.app.FragmentTransaction,%20kotlin.Unit)))/body) in a [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) which is automatically committed if it completes without exception. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [FragmentManager](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentManager)`.`[transaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#(androidx.fragment.app.FragmentManager).transaction(kotlin.Boolean,%20kotlin.Boolean,%20kotlin.Function1))`(`now:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` false, `allowStateLoss:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` false, `body:` `[FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Run [body](https://developer.android.com/reference/kotlin/androidx/fragment/app/package-summary#androidx.fragment.app$transaction(androidx.fragment.app.FragmentManager,%20kotlin.Boolean,%20kotlin.Boolean,%20kotlin.Function1((androidx.fragment.app.FragmentTransaction,%20kotlin.Unit)))/body) in a [FragmentTransaction](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentTransaction) which is automatically committed if it completes without exception. |

## androidx.fragment.app.testing

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.fragment:fragment-testing:1.8.9"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.fragment:fragment-testing:1.8.9")
}
```

#### Top-level functions

|---|---|
| [FragmentScenario](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/FragmentScenario)\<F!\> | [launchFragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#launchFragment(android.os.Bundle,%20kotlin.Int,%20androidx.fragment.app.FragmentFactory))`(`fragmentArgs:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null, `@StyleRes` `themeResId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` R.style.FragmentScenarioEmptyFragmentActivityTheme, `factory:` `[FragmentFactory](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentFactory)?` `=` null)` Launches a Fragment with given arguments hosted by an empty [FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity) using given [FragmentFactory](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentFactory) and waits for it to reach a resumed state. |
| [FragmentScenario](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/FragmentScenario)\<F!\> | [launchFragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#launchFragment(android.os.Bundle,%20kotlin.Int,%20kotlin.Function0))`(`fragmentArgs:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null, `@StyleRes` `themeResId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` R.style.FragmentScenarioEmptyFragmentActivityTheme, `crossinline` `instantiate:` `()` `->` `F`)` Launches a Fragment with given arguments hosted by an empty [FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity) using [instantiate](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#androidx.fragment.app.testing$launchFragment(android.os.Bundle,%20kotlin.Int,%20kotlin.Function0((androidx.fragment.app.testing.launchFragment.F)))/instantiate) to create the Fragment and waits for it to reach a resumed state. |
| [FragmentScenario](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/FragmentScenario)\<F!\> | [launchFragmentInContainer](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#launchFragmentInContainer(android.os.Bundle,%20kotlin.Int,%20androidx.fragment.app.FragmentFactory))`(`fragmentArgs:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null, `@StyleRes` `themeResId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` R.style.FragmentScenarioEmptyFragmentActivityTheme, `factory:` `[FragmentFactory](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentFactory)?` `=` null)` Launches a Fragment in the Activity's root view container `android.R.id.content`, with given arguments hosted by an empty [FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity) and waits for it to reach a resumed state. |
| [FragmentScenario](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/FragmentScenario)\<F!\> | [launchFragmentInContainer](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#launchFragmentInContainer(android.os.Bundle,%20kotlin.Int,%20kotlin.Function0))`(`fragmentArgs:` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)?` `=` null, `@StyleRes` `themeResId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` R.style.FragmentScenarioEmptyFragmentActivityTheme, `crossinline` `instantiate:` `()` `->` `F`)` Launches a Fragment in the Activity's root view container `android.R.id.content`, with given arguments hosted by an empty [FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity) using [instantiate](https://developer.android.com/reference/kotlin/androidx/fragment/app/testing/package-summary#androidx.fragment.app.testing$launchFragmentInContainer(android.os.Bundle,%20kotlin.Int,%20kotlin.Function0((androidx.fragment.app.testing.launchFragmentInContainer.F)))/instantiate) to create the Fragment and waits for it to reach a resumed state. |

## androidx.lifecycle

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.lifecycle:lifecycle-livedata-core-ktx:2.10.0"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.10.0"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:2.10.0"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.10.0"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.10.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.10.0")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.10.0")
    implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.10.0")
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.10.0")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.10.0")
}
```

#### Extension functions

##### For [kotlinx.coroutines.flow.Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html)

|---|---|
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<T\> | [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html)<T>`.`[asLiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(kotlinx.coroutines.flow.Flow).asLiveData(kotlin.coroutines.CoroutineContext,%20kotlin.Long))`(`context:` `[CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html)` `=` EmptyCoroutineContext, `timeoutInMs:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` `=` DEFAULT_TIMEOUT)` Creates a LiveData that has values collected from the origin [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html). |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<T\> | [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html)<T>`.`[asLiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(kotlinx.coroutines.flow.Flow).asLiveData(kotlin.coroutines.CoroutineContext,%20java.time.Duration))`(`context:` `[CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html)` `=` EmptyCoroutineContext, `timeout:` `[Duration](https://developer.android.com/reference/java/time/Duration.html)`)` Creates a LiveData that has values collected from the origin [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html). |

##### For [org.reactivestreams.Publisher](https://developer.android.com/reference/kotlin/androidx/lifecycle)

|---|---|
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<T\> | Publisher<T>`.`[toLiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(org.reactivestreams.Publisher).toLiveData())`()` Creates an observable [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) stream from a ReactiveStreams [Publisher](https://developer.android.com/reference/kotlin/androidx/lifecycle). |

##### For [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)

|---|---|
| [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html)\<T\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<T>`.`[asFlow](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).asFlow())`()` Creates a [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html) containing values dispatched by originating [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData): at the start a flow collector receives the latest value held by LiveData and then observes LiveData updates. |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<X\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<X>`.`[distinctUntilChanged](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).distinctUntilChanged())`()` Creates a new [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) object does not emit a value until the source `this` LiveData value has been changed. |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<Y\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<X>`.`[map](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).map(kotlin.Function1))`(`crossinline` `transform:` `(X)` `->` `Y`)` Returns a [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) mapped from `this` LiveData by applying [transform](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$map(androidx.lifecycle.LiveData((androidx.lifecycle.map.X)),%20kotlin.Function1((androidx.lifecycle.map.X,%20androidx.lifecycle.map.Y)))/transform) to each value set on `this` LiveData. |
| [Observer](https://developer.android.com/reference/kotlin/androidx/lifecycle/Observer)\<T\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<T>`.`[observe](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).observe(androidx.lifecycle.LifecycleOwner,%20kotlin.Function1))`(`owner:` `[LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`, `crossinline` `onChanged:` `(T)` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Adds the given [onChanged](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$observe(androidx.lifecycle.LiveData((androidx.lifecycle.observe.T)),%20androidx.lifecycle.LifecycleOwner,%20kotlin.Function1((androidx.lifecycle.observe.T,%20kotlin.Unit)))/onChanged) lambda as an observer within the lifespan of the given [owner](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$observe(androidx.lifecycle.LiveData((androidx.lifecycle.observe.T)),%20androidx.lifecycle.LifecycleOwner,%20kotlin.Function1((androidx.lifecycle.observe.T,%20kotlin.Unit)))/owner) and returns a reference to observer. |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<Y\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<X>`.`[switchMap](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).switchMap(kotlin.Function1))`(`crossinline` `transform:` `(X)` `->` `[LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<Y>`)` Returns a [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) mapped from the input `this` `LiveData` by applying [transform](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$switchMap(androidx.lifecycle.LiveData((androidx.lifecycle.switchMap.X)),%20kotlin.Function1((androidx.lifecycle.switchMap.X,%20androidx.lifecycle.LiveData((androidx.lifecycle.switchMap.Y)))))/transform) to each value set on `this`. |
| Publisher\<T\> | [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)<T>`.`[toPublisher](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LiveData).toPublisher(androidx.lifecycle.LifecycleOwner))`(`lifecycle:` `[LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`)` Adapts the given [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData) stream to a ReactiveStreams [Publisher](https://developer.android.com/reference/kotlin/androidx/lifecycle). |

##### For [ViewModelProvider](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider)

|---|---|
| VM | [ViewModelProvider](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider)`.`[get](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.ViewModelProvider).get())`()` Returns an existing ViewModel or creates a new one in the scope (usually, a fragment or an activity), associated with this `ViewModelProvider`. |

##### For [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)

|---|---|
| suspend T | [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`.`[whenCreated](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).whenCreated(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)'s [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.CREATED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:CREATED) state. |
| suspend T | [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`.`[whenResumed](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).whenResumed(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)'s [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.RESUMED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:RESUMED) state. |
| suspend T | [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`.`[whenStarted](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).whenStarted(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)'s [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.STARTED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:STARTED) state. |

##### For [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)

|---|---|
| suspend T | [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)`.`[whenCreated](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).whenCreated(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.CREATED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:CREATED) state. |
| suspend T | [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)`.`[whenResumed](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).whenResumed(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.RESUMED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:RESUMED) state. |
| suspend T | [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)`.`[whenStarted](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).whenStarted(kotlin.coroutines.SuspendFunction1))`(`block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given block when the [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle) is at least in [Lifecycle.State.STARTED](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#ENUM_VALUE:STARTED) state. |
| suspend T | [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)`.`[whenStateAtLeast](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).whenStateAtLeast(androidx.lifecycle.Lifecycle.State,%20kotlin.coroutines.SuspendFunction1))`(`minState:` `[Lifecycle.State](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State)`, `block:` `suspend [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html).()` `->` `T`)` Runs the given [block](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$whenStateAtLeast(androidx.lifecycle.Lifecycle,%20androidx.lifecycle.Lifecycle.State,%20kotlin.coroutines.SuspendFunction1((kotlinx.coroutines.CoroutineScope,%20androidx.lifecycle.whenStateAtLeast.T)))/block) on a [CoroutineDispatcher](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html) that executes the [block](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$whenStateAtLeast(androidx.lifecycle.Lifecycle,%20androidx.lifecycle.Lifecycle.State,%20kotlin.coroutines.SuspendFunction1((kotlinx.coroutines.CoroutineScope,%20androidx.lifecycle.whenStateAtLeast.T)))/block) on the main thread and suspends the execution unless the [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)'s state is at least [minState](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$whenStateAtLeast(androidx.lifecycle.Lifecycle,%20androidx.lifecycle.Lifecycle.State,%20kotlin.coroutines.SuspendFunction1((kotlinx.coroutines.CoroutineScope,%20androidx.lifecycle.whenStateAtLeast.T)))/minState). |

#### Extension properties

##### For [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)

|---|---|
| [LifecycleCoroutineScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleCoroutineScope) | [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle)`.`[coroutineScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).coroutineScope:androidx.lifecycle.LifecycleCoroutineScope)`()` [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html) tied to this [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle). |

##### For [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)

|---|---|
| [LifecycleCoroutineScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleCoroutineScope) | [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)`.`[lifecycleScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).lifecycleScope:androidx.lifecycle.LifecycleCoroutineScope)`()` [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html) tied to this [LifecycleOwner](https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)'s [Lifecycle](https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle). |

##### For [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel)

|---|---|
| [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html) | [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel)`.`[viewModelScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#(androidx.lifecycle.ViewModel).viewModelScope:kotlinx.coroutines.CoroutineScope)`()` [CoroutineScope](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html) tied to this [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel). |

#### Top-level functions

|---|---|
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<T\> | [liveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#liveData(kotlin.coroutines.CoroutineContext,%20kotlin.Long,%20kotlin.coroutines.SuspendFunction1))`(`context:` `[CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html)` `=` EmptyCoroutineContext, `timeoutInMs:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` `=` DEFAULT_TIMEOUT, `block:` `suspend [LiveDataScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveDataScope)<T>.()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Builds a LiveData that has values yielded from the given [block](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$liveData(kotlin.coroutines.CoroutineContext,%20kotlin.Long,%20kotlin.coroutines.SuspendFunction1((androidx.lifecycle.LiveDataScope((androidx.lifecycle.liveData.T)),%20kotlin.Unit)))/block) that executes on a [LiveDataScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveDataScope). |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<T\> | [liveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#liveData(kotlin.coroutines.CoroutineContext,%20java.time.Duration,%20kotlin.coroutines.SuspendFunction1))`(`context:` `[CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html)` `=` EmptyCoroutineContext, `timeout:` `[Duration](https://developer.android.com/reference/java/time/Duration.html)`, `block:` `suspend [LiveDataScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveDataScope)<T>.()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Builds a LiveData that has values yielded from the given [block](https://developer.android.com/reference/kotlin/androidx/lifecycle/package-summary#androidx.lifecycle$liveData(kotlin.coroutines.CoroutineContext,%20java.time.Duration,%20kotlin.coroutines.SuspendFunction1((androidx.lifecycle.LiveDataScope((androidx.lifecycle.liveData.T)),%20kotlin.Unit)))/block) that executes on a [LiveDataScope](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveDataScope). |

## androidx.navigation

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.navigation:navigation-runtime-ktx:2.9.6"
    implementation "androidx.navigation:navigation-fragment-ktx:2.9.6"
    implementation "androidx.navigation:navigation-ui-ktx:2.9.6"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.navigation:navigation-runtime-ktx:2.9.6")
    implementation("androidx.navigation:navigation-fragment-ktx:2.9.6")
    implementation("androidx.navigation:navigation-ui-ktx:2.9.6")
}
```

#### Extension functions

##### For [android.app.Activity](https://developer.android.com/reference/android/app/Activity.html)

|---|---|
| [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) | [Activity](https://developer.android.com/reference/android/app/Activity.html)`.`[findNavController](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(android.app.Activity).findNavController(kotlin.Int))`(`@IdRes` `viewId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Find a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) given the id of a View and its containing [Activity](https://developer.android.com/reference/android/app/Activity.html). |
| [NavArgsLazy](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgsLazy)\<Args\> | [Activity](https://developer.android.com/reference/android/app/Activity.html)`.`[navArgs](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(android.app.Activity).navArgs())`()` Returns a [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html) delegate to access the Activity's extras as an Args instance. |

##### For [android.view.View](https://developer.android.com/reference/android/view/View.html)

|---|---|
| [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) | [View](https://developer.android.com/reference/android/view/View.html)`.`[findNavController](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(android.view.View).findNavController())`()` Find a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) associated with a [View](https://developer.android.com/reference/android/view/View.html). |

##### For [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[activity](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraphBuilder).activity(kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[ActivityNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigatorDestinationBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [ActivityNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination) |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraphBuilder).navigation(kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `@IdRes` `startDestination:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a nested [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) |

##### For [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`.`[contains](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraph).contains(kotlin.Int))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns `true` if a destination with `id` is found in this navigation graph. |
| operator [NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination) | [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`.`[get](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraph).get(kotlin.Int))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the destination with `id`. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`.`[minusAssign](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraph).minusAssign(androidx.navigation.NavDestination))`(`node:` `[NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination)`)` Removes `node` from this navigation graph. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`.`[plusAssign](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraph).plusAssign(androidx.navigation.NavDestination))`(`node:` `[NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination)`)` Adds a destination to this NavGraph. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`.`[plusAssign](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavGraph).plusAssign(androidx.navigation.NavGraph))`(`other:` `[NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`)` Add all destinations from another collection to this one. |

##### For [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)

|---|---|
| [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) | [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`.`[createGraph](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavController).createGraph(kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `@IdRes` `startDestination:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) |

##### For [NavHost](https://developer.android.com/reference/kotlin/androidx/navigation/NavHost)

|---|---|
| [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) | [NavHost](https://developer.android.com/reference/kotlin/androidx/navigation/NavHost)`.`[createGraph](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavHost).createGraph(kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `@IdRes` `startDestination:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) |

##### For [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)

|---|---|
| operator T | [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)`.`[get](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).get(kotlin.String))`(`name:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Retrieves a registered [Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator) by name. |
| operator T | [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)`.`[get](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).get(kotlin.reflect.KClass))`(`clazz:` `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)<T>`)` Retrieves a registered [Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator) using the name provided by the [Navigator.Name annotation](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name). |
| [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) | [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)`.`[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.Int,%20kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0, `@IdRes` `startDestination:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph) |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)`.`[plusAssign](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).plusAssign(androidx.navigation.Navigator))`(`navigator:` `[Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator)<out` `[NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination)>`)` Register a navigator using the name provided by the [Navigator.Name annotation](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name). |
| operator [Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator)\<out [NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination)!\>? | [NavigatorProvider](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider)`.`[set](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).set(kotlin.String,%20androidx.navigation.Navigator))`(`name:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `navigator:` `[Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator)<out` `[NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination)>`)` Register a [Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator) by name. |

##### For [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)

|---|---|
| [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html)\<VM\> | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[navGraphViewModels](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.fragment.app.Fragment).navGraphViewModels(kotlin.Int,%20kotlin.Function0))`(`@IdRes` `navGraphId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `noinline` `factoryProducer:` `()` `->` `[ViewModelProvider.Factory](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelProvider.Factory)` `=` null)` Returns a property delegate to access a [ViewModel](https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel) scoped to a navigation graph present on the {@link NavController} back stack: |

#### Top-level functions

|---|---|
| [ActivityNavigator.Extras](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Extras) | [ActivityNavigatorExtras](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#ActivityNavigatorExtras(androidx.core.app.ActivityOptionsCompat,%20kotlin.Int))`(`activityOptions:` `[ActivityOptionsCompat](https://developer.android.com/reference/kotlin/androidx/core/app/ActivityOptionsCompat)?` `=` null, `flags:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 0)` Create a new [ActivityNavigator.Extras](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Extras) instance with a specific [ActivityOptionsCompat](https://developer.android.com/reference/kotlin/androidx/core/app/ActivityOptionsCompat) instance and/or any `Intent.FLAG_ACTIVITY_` flags. |
| [NavOptions](https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions) | [navOptions](https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#navOptions(kotlin.Function1))`(`optionsBuilder:` `[NavOptionsBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavOptionsBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [NavOptions](https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions) |

## androidx.navigation.fragment

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.navigation:navigation-fragment-ktx:2.9.6"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.navigation:navigation-fragment-ktx:2.9.6")
}
```

#### Extension functions

##### For [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Construct a new [DialogFragmentNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination) |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[dialog](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).dialog(kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[DialogFragmentNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [DialogFragmentNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination) |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Construct a new [FragmentNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination) |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)`.`[fragment](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.navigation.NavGraphBuilder).fragment(kotlin.Int,%20kotlin.Function1))`(`@IdRes` `id:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `builder:` `[FragmentNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Construct a new [FragmentNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination) |

##### For [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)

|---|---|
| [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[findNavController](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).findNavController())`()` Find a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController) given a [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment) |
| [NavArgsLazy](https://developer.android.com/reference/kotlin/androidx/navigation/NavArgsLazy)\<Args\> | [Fragment](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment)`.`[navArgs](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).navArgs())`()` Returns a [Lazy](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-lazy/index.html) delegate to access the Fragment's arguments as an Args instance. |

#### Top-level functions

|---|---|
| [FragmentNavigator.Extras](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras) | [FragmentNavigatorExtras](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/package-summary#FragmentNavigatorExtras(kotlin.Pair))`(`vararg` `sharedElements:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[View](https://developer.android.com/reference/android/view/View.html),` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>`)` Create a new [FragmentNavigator.Extras](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Extras) instance with the given shared elements |

## androidx.navigation.ui

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.navigation:navigation-ui-ktx:2.9.6"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.navigation:navigation-ui-ktx:2.9.6")
}
```

#### Extension functions

##### For [android.view.MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [MenuItem](https://developer.android.com/reference/android/view/MenuItem.html)`.`[onNavDestinationSelected](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(android.view.MenuItem).onNavDestinationSelected(androidx.navigation.NavController))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`)` Attempt to navigate to the [NavDestination](https://developer.android.com/reference/kotlin/androidx/navigation/ui) associated with this [MenuItem](https://developer.android.com/reference/android/view/MenuItem.html). |

##### For [androidx.appcompat.app.AppCompatActivity](https://developer.android.com/reference/kotlin/androidx/navigation/ui)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AppCompatActivity](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity)`.`[setupActionBarWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.appcompat.app.AppCompatActivity).setupActionBarWithNavController(androidx.navigation.NavController,%20androidx.drawerlayout.widget.DrawerLayout))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?`)` Sets up the ActionBar returned by [AppCompatActivity.getSupportActionBar](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity#getSupportActionBar()) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AppCompatActivity](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity)`.`[setupActionBarWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.appcompat.app.AppCompatActivity).setupActionBarWithNavController(androidx.navigation.NavController,%20androidx.navigation.ui.AppBarConfiguration))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `configuration:` `[AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration)` `=` AppBarConfiguration(navController.graph))` Sets up the ActionBar returned by [AppCompatActivity.getSupportActionBar](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity#getSupportActionBar()) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

##### For [androidx.appcompat.widget.Toolbar](https://developer.android.com/reference/kotlin/androidx/navigation/ui)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar)`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.appcompat.widget.Toolbar).setupWithNavController(androidx.navigation.NavController,%20androidx.drawerlayout.widget.DrawerLayout))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?`)` Sets up a [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar)`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.appcompat.widget.Toolbar).setupWithNavController(androidx.navigation.NavController,%20androidx.navigation.ui.AppBarConfiguration))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `configuration:` `[AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration)` `=` AppBarConfiguration(navController.graph))` Sets up a [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

##### For [com.google.android.material.appbar.CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | CollapsingToolbarLayout`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(com.google.android.material.appbar.CollapsingToolbarLayout).setupWithNavController(androidx.appcompat.widget.Toolbar,%20androidx.navigation.NavController,%20androidx.drawerlayout.widget.DrawerLayout))`(`toolbar:` `[Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar)`, `navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?`)` Sets up a [CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui) and [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | CollapsingToolbarLayout`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(com.google.android.material.appbar.CollapsingToolbarLayout).setupWithNavController(androidx.appcompat.widget.Toolbar,%20androidx.navigation.NavController,%20androidx.navigation.ui.AppBarConfiguration))`(`toolbar:` `[Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar)`, `navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`, `configuration:` `[AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration)` `=` AppBarConfiguration(navController.graph))` Sets up a [CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui) and [Toolbar](https://developer.android.com/reference/kotlin/androidx/appcompat/widget/Toolbar) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

##### For [com.google.android.material.bottomnavigation.BottomNavigationView](https://developer.android.com/reference/kotlin/androidx/navigation/ui)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | BottomNavigationView`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(com.google.android.material.bottomnavigation.BottomNavigationView).setupWithNavController(androidx.navigation.NavController))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`)` Sets up a [BottomNavigationView](https://developer.android.com/reference/kotlin/androidx/navigation/ui) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

##### For [com.google.android.material.navigation.NavigationView](https://developer.android.com/reference/kotlin/androidx/navigation/ui)

|---|---|
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | NavigationView`.`[setupWithNavController](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(com.google.android.material.navigation.NavigationView).setupWithNavController(androidx.navigation.NavController))`(`navController:` `[NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`)` Sets up a [NavigationView](https://developer.android.com/reference/kotlin/androidx/navigation/ui) for use with a [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

##### For [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`.`[navigateUp](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.navigation.NavController).navigateUp(androidx.drawerlayout.widget.DrawerLayout))`(`drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?`)` Handles the Up button by delegating its behavior to the given [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController)`.`[navigateUp](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(androidx.navigation.NavController).navigateUp(androidx.navigation.ui.AppBarConfiguration))`(`appBarConfiguration:` `[AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration)`)` Handles the Up button by delegating its behavior to the given [NavController](https://developer.android.com/reference/kotlin/androidx/navigation/NavController). |

#### Top-level functions

|---|---|
| [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration) | [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#AppBarConfiguration(androidx.navigation.NavGraph,%20androidx.drawerlayout.widget.DrawerLayout,%20kotlin.Function0))`(`navGraph:` `[NavGraph](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph)`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?` `=` null, `noinline` `fallbackOnNavigateUpListener:` `()` `->` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` { false })` Configuration options for [NavigationUI](https://developer.android.com/reference/kotlin/androidx/navigation/ui/NavigationUI) methods that interact with implementations of the app bar pattern such as [android.support.v7.widget.Toolbar](https://developer.android.com/reference/kotlin/androidx/navigation/ui), [android.support.design.widget.CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui), and [android.support.v7.app.ActionBar](https://developer.android.com/reference/kotlin/androidx/navigation/ui). |
| [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration) | [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#AppBarConfiguration(android.view.Menu,%20androidx.drawerlayout.widget.DrawerLayout,%20kotlin.Function0))`(`topLevelMenu:` `[Menu](https://developer.android.com/reference/android/view/Menu.html)`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?` `=` null, `noinline` `fallbackOnNavigateUpListener:` `()` `->` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` { false })` Configuration options for [NavigationUI](https://developer.android.com/reference/kotlin/androidx/navigation/ui/NavigationUI) methods that interact with implementations of the app bar pattern such as [android.support.v7.widget.Toolbar](https://developer.android.com/reference/kotlin/androidx/navigation/ui), [android.support.design.widget.CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui), and [android.support.v7.app.ActionBar](https://developer.android.com/reference/kotlin/androidx/navigation/ui). |
| [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/AppBarConfiguration) | [AppBarConfiguration](https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#AppBarConfiguration(kotlin.collections.Set,%20androidx.drawerlayout.widget.DrawerLayout,%20kotlin.Function0))`(`topLevelDestinationIds:` `[Set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)<[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)>`, `drawerLayout:` `[DrawerLayout](https://developer.android.com/reference/kotlin/androidx/drawerlayout/widget/DrawerLayout)?` `=` null, `noinline` `fallbackOnNavigateUpListener:` `()` `->` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` { false })` Configuration options for [NavigationUI](https://developer.android.com/reference/kotlin/androidx/navigation/ui/NavigationUI) methods that interact with implementations of the app bar pattern such as [android.support.v7.widget.Toolbar](https://developer.android.com/reference/kotlin/androidx/navigation/ui), [android.support.design.widget.CollapsingToolbarLayout](https://developer.android.com/reference/kotlin/androidx/navigation/ui), and [android.support.v7.app.ActionBar](https://developer.android.com/reference/kotlin/androidx/navigation/ui). |

## androidx.paging

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.paging:paging-common-ktx:2.1.2"
    implementation "androidx.paging:paging-runtime-ktx:2.1.2"
    implementation "androidx.paging:paging-rxjava2-ktx:2.1.2"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.paging:paging-common-ktx:2.1.2")
    implementation("androidx.paging:paging-runtime-ktx:2.1.2")
    implementation("androidx.paging:paging-rxjava2-ktx:2.1.2")
}
```

#### Extension functions

##### For [Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)

|---|---|
| Flowable\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toFlowable](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toFlowable(androidx.paging.PagedList.Config,%20androidx.paging.toFlowable.Key,%20androidx.paging.PagedList.BoundaryCallback,%20io.reactivex.Scheduler,%20io.reactivex.Scheduler,%20io.reactivex.BackpressureStrategy))`(`config:` `[PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchScheduler:` `Scheduler?` `=` null, `notifyScheduler:` `Scheduler?` `=` null, `backpressureStrategy:` `BackpressureStrategy` `=` BackpressureStrategy.LATEST)` Constructs a `Flowable<PagedList>`, from this `DataSource.Factory`, convenience for [RxPagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/RxPagedListBuilder). |
| Flowable\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toFlowable](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toFlowable(kotlin.Int,%20androidx.paging.toFlowable.Key,%20androidx.paging.PagedList.BoundaryCallback,%20io.reactivex.Scheduler,%20io.reactivex.Scheduler,%20io.reactivex.BackpressureStrategy))`(`pageSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchScheduler:` `Scheduler?` `=` null, `notifyScheduler:` `Scheduler?` `=` null, `backpressureStrategy:` `BackpressureStrategy` `=` BackpressureStrategy.LATEST)` Constructs a `Flowable<PagedList>`, from this `DataSource.Factory`, convenience for [RxPagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/RxPagedListBuilder). |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toLiveData](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toLiveData(androidx.paging.PagedList.Config,%20androidx.paging.toLiveData.Key,%20androidx.paging.PagedList.BoundaryCallback,%20java.util.concurrent.Executor))`(`config:` `[PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchExecutor:` `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html)` `=` ArchTaskExecutor.getIOThreadExecutor())` Constructs a `LiveData<PagedList>`, from this `DataSource.Factory`, convenience for [LivePagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/LivePagedListBuilder). |
| [LiveData](https://developer.android.com/reference/kotlin/androidx/lifecycle/LiveData)\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toLiveData](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toLiveData(kotlin.Int,%20androidx.paging.toLiveData.Key,%20androidx.paging.PagedList.BoundaryCallback,%20java.util.concurrent.Executor))`(`pageSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchExecutor:` `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html)` `=` ArchTaskExecutor.getIOThreadExecutor())` Constructs a `LiveData<PagedList>`, from this `DataSource.Factory`, convenience for [LivePagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/LivePagedListBuilder). |
| Observable\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toObservable](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toObservable(androidx.paging.PagedList.Config,%20androidx.paging.toObservable.Key,%20androidx.paging.PagedList.BoundaryCallback,%20io.reactivex.Scheduler,%20io.reactivex.Scheduler))`(`config:` `[PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchScheduler:` `Scheduler?` `=` null, `notifyScheduler:` `Scheduler?` `=` null)` Constructs a `Observable<PagedList>` from this `DataSource.Factory`, convenience for [RxPagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/RxPagedListBuilder). |
| Observable\<[PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\>\> | [DataSource.Factory](https://developer.android.com/reference/kotlin/androidx/paging/DataSource.Factory)<Key,` `Value>`.`[toObservable](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#(androidx.paging.DataSource.Factory).toObservable(kotlin.Int,%20androidx.paging.toObservable.Key,%20androidx.paging.PagedList.BoundaryCallback,%20io.reactivex.Scheduler,%20io.reactivex.Scheduler))`(`pageSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `initialLoadKey:` `Key?` `=` null, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `fetchScheduler:` `Scheduler?` `=` null, `notifyScheduler:` `Scheduler?` `=` null)` Constructs a `Observable<PagedList>` from this `DataSource.Factory`, convenience for [RxPagedListBuilder](https://developer.android.com/reference/kotlin/androidx/paging/RxPagedListBuilder). |

#### Top-level functions

|---|---|
| [PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config) | [Config](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#Config(kotlin.Int,%20kotlin.Int,%20kotlin.Boolean,%20kotlin.Int,%20kotlin.Int))`(`pageSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `prefetchDistance:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` pageSize, `enablePlaceholders:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true, `initialLoadSizeHint:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` pageSize * PagedList.Config.Builder.DEFAULT_INITIAL_PAGE_MULTIPLIER, `maxSize:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` PagedList.Config.MAX_SIZE_UNBOUNDED)` Constructs a [PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config), convenience for [PagedList.Config.Builder](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config.Builder). |
| [PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList)\<Value\> | [PagedList](https://developer.android.com/reference/kotlin/androidx/paging/package-summary#PagedList(androidx.paging.DataSource,%20androidx.paging.PagedList.Config,%20java.util.concurrent.Executor,%20java.util.concurrent.Executor,%20androidx.paging.PagedList.BoundaryCallback,%20androidx.paging.PagedList.Key))`(`dataSource:` `[DataSource](https://developer.android.com/reference/kotlin/androidx/paging/DataSource)<Key,` `Value>`, `config:` `[PagedList.Config](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Config)`, `notifyExecutor:` `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html)`, `fetchExecutor:` `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html)`, `boundaryCallback:` `[PagedList.BoundaryCallback](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.BoundaryCallback)<Value>?` `=` null, `initialKey:` `Key?` `=` null)` Constructs a [PagedList](https://developer.android.com/reference/kotlin/androidx/paging/PagedList), convenience for [PagedList.Builder](https://developer.android.com/reference/kotlin/androidx/paging/PagedList.Builder). |

## androidx.palette.graphics

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.palette:palette-ktx:1.0.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.palette:palette-ktx:1.0.0")
}
```

#### Extension functions

##### For [Palette](https://developer.android.com/reference/kotlin/androidx/palette/graphics/Palette)

|---|---|
| operator [Palette.Swatch](https://developer.android.com/reference/kotlin/androidx/palette/graphics/Palette.Swatch)? | [Palette](https://developer.android.com/reference/kotlin/androidx/palette/graphics/Palette)`.`[get](https://developer.android.com/reference/kotlin/androidx/palette/graphics/package-summary#(androidx.palette.graphics.Palette).get(androidx.palette.graphics.Target))`(`target:` `[Target](https://developer.android.com/reference/kotlin/androidx/palette/graphics/Target)`)` Returns the selected swatch for the given target from the palette, or `null` if one could not be found. |

## androidx.preference

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.preference:preference-ktx:1.2.1"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.preference:preference-ktx:1.2.1")
}
```

#### Extension functions

##### For [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)

|---|---|
| operator [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[contains](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).contains(androidx.preference.Preference))`(`preference:` `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`)` Returns `true` if `preference` is found in this preference group. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[forEach](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).forEach(kotlin.Function1))`(`action:` `(preference:` `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each preference in this preference group. |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[forEachIndexed](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).forEachIndexed(kotlin.Function2))`(`action:` `(index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html),` `preference:` `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Performs the given action on each preference in this preference group, providing its sequential index. |
| operator T? | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[get](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).get(kotlin.CharSequence))`(`key:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`)` Returns the preference with `key`, or `null` if no preference with `key` is found. |
| operator [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[get](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).get(kotlin.Int))`(`index:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Returns the preference at `index`. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[isEmpty](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).isEmpty())`()` Returns true if this preference group contains no preferences. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[isNotEmpty](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).isNotEmpty())`()` Returns true if this preference group contains one or more preferences. |
| operator [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html)\<[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)\> | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[iterator](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).iterator())`()` Returns a [MutableIterator](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html) over the preferences in this preference group. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[minusAssign](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).minusAssign(androidx.preference.Preference))`(`preference:` `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`)` Removes `preference` from this preference group. |
| operator [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[plusAssign](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).plusAssign(androidx.preference.Preference))`(`preference:` `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`)` Adds `preference` to this preference group. |

#### Extension properties

##### For [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)

|---|---|
| [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)\<[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)\> | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[children](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).children:kotlin.sequences.Sequence)`()` Returns a [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html) over the preferences in this preference group. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [PreferenceGroup](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceGroup)`.`[size](https://developer.android.com/reference/kotlin/androidx/preference/package-summary#(androidx.preference.PreferenceGroup).size:kotlin.Int)`()` Returns the number of preferences in this preference group. |

## androidx.room

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.room:room-ktx:2.8.4"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.room:room-ktx:2.8.4")
}
```

#### Extension functions

##### For [RoomDatabase](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase)

|---|---|
| suspend R | [RoomDatabase](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase)`.`[withTransaction](https://developer.android.com/reference/kotlin/androidx/room/package-summary#(androidx.room.RoomDatabase).withTransaction(kotlin.coroutines.SuspendFunction0))`(`block:` `suspend ()` `->` `R`)` Calls the specified suspending [block](https://developer.android.com/reference/kotlin/androidx/room/package-summary#androidx.room$withTransaction(androidx.room.RoomDatabase,%20kotlin.coroutines.SuspendFunction0((androidx.room.withTransaction.R)))/block) in a database transaction. |

## androidx.slice.builders

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.slice:slice-builders-ktx:1.0.0-alpha08"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.slice:slice-builders-ktx:1.0.0-alpha08")
}
```

#### Extension functions

##### For [GridRowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilderDsl)

|---|---|
| [GridRowBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilder) | [GridRowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilderDsl)`.`[cell](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.GridRowBuilderDsl).cell(kotlin.Function1))`(`buildCell:` `[CellBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/CellBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [GridRowBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilder) | [GridRowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilderDsl)`.`[seeMoreCell](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.GridRowBuilderDsl).seeMoreCell(kotlin.Function1))`(`buildCell:` `[CellBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/CellBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |

##### For [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)

|---|---|
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[gridRow](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).gridRow(kotlin.Function1))`(`buildGrid:` `[GridRowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/GridRowBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[header](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).header(kotlin.Function1))`(`buildHeader:` `[HeaderBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/HeaderBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[inputRange](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).inputRange(kotlin.Function1))`(`buildInputRange:` `[InputRangeBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/InputRangeBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[range](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).range(kotlin.Function1))`(`buildRange:` `[RangeBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/RangeBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[row](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).row(kotlin.Function1))`(`buildRow:` `[RowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/RowBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |
| [ListBuilder](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilder) | [ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl)`.`[seeMoreRow](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#(androidx.slice.builders.ListBuilderDsl).seeMoreRow(kotlin.Function1))`(`buildRow:` `[RowBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/RowBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> |

#### Top-level functions

|---|---|
| [Slice](https://developer.android.com/reference/kotlin/androidx/slice/Slice) | [list](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#list(android.content.Context,%20android.net.Uri,%20kotlin.Long,%20kotlin.Function1))`(`context:` `[Context](https://developer.android.com/reference/android/content/Context.html)`, `uri:` `[Uri](https://developer.android.com/reference/android/net/Uri.html)`, `ttl:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `addRows:` `[ListBuilderDsl](https://developer.android.com/reference/kotlin/androidx/slice/builders/ListBuilderDsl).()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` Reduces verbosity required to build a Slice in Kotlin. |
| [SliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/SliceAction) | [tapSliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#tapSliceAction(android.app.PendingIntent,%20androidx.core.graphics.drawable.IconCompat,%20kotlin.Int,%20kotlin.CharSequence))`(`pendingIntent:` `[PendingIntent](https://developer.android.com/reference/android/app/PendingIntent.html)`, `icon:` `[IconCompat](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/IconCompat)`, `imageMode:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` ICON_IMAGE, `title:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`)` Factory method to build a tappable [SliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/SliceAction). |
| [SliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/SliceAction) | [toggleSliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/package-summary#toggleSliceAction(android.app.PendingIntent,%20androidx.core.graphics.drawable.IconCompat,%20kotlin.CharSequence,%20kotlin.Boolean))`(`pendingIntent:` `[PendingIntent](https://developer.android.com/reference/android/app/PendingIntent.html)`, `icon:` `[IconCompat](https://developer.android.com/reference/kotlin/androidx/core/graphics/drawable/IconCompat)?` `=` null, `title:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)`, `isChecked:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Factory method to build a toggleable [SliceAction](https://developer.android.com/reference/kotlin/androidx/slice/builders/SliceAction). |

## androidx.sqlite.db

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.sqlite:sqlite-ktx:2.6.2"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.sqlite:sqlite-ktx:2.6.2")
}
```

#### Extension functions

##### For [SupportSQLiteDatabase](https://developer.android.com/reference/kotlin/androidx/sqlite/db/SupportSQLiteDatabase)

|---|---|
| T | [SupportSQLiteDatabase](https://developer.android.com/reference/kotlin/androidx/sqlite/db/SupportSQLiteDatabase)`.`[transaction](https://developer.android.com/reference/kotlin/androidx/sqlite/db/package-summary#(androidx.sqlite.db.SupportSQLiteDatabase).transaction(kotlin.Boolean,%20kotlin.Function1))`(`exclusive:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` `=` true, `body:` `[SupportSQLiteDatabase](https://developer.android.com/reference/kotlin/androidx/sqlite/db/SupportSQLiteDatabase).()` `->` `T`)` Run [body](https://developer.android.com/reference/kotlin/androidx/sqlite/db/package-summary#androidx.sqlite.db$transaction(androidx.sqlite.db.SupportSQLiteDatabase,%20kotlin.Boolean,%20kotlin.Function1((androidx.sqlite.db.SupportSQLiteDatabase,%20androidx.sqlite.db.transaction.T)))/body) in a transaction marking it as successful if it completes without exception. |

## androidx.work

#### Dependency

#### Extension functions

##### For [com.google.common.util.concurrent.ListenableFuture](https://guava.dev/releases/27.0.1-jre/api/docs/com/google/common/util/concurrent/ListenableFuture.html)

|---|---|
| suspend R | [ListenableFuture](https://guava.dev/releases/27.0.1-jre/api/docs/com/google/common/util/concurrent/ListenableFuture.html)<R>`.`[await](https://developer.android.com/reference/kotlin/androidx/work/package-summary#(com.google.common.util.concurrent.ListenableFuture).await())`()` Awaits for the completion of the [ListenableFuture](https://guava.dev/releases/27.0.1-jre/api/docs/com/google/common/util/concurrent/ListenableFuture.html) without blocking a thread. |

##### For [Operation](https://developer.android.com/reference/kotlin/androidx/work/Operation)

|---|---|
| suspend [Operation.State.SUCCESS](https://developer.android.com/reference/kotlin/androidx/work/Operation.State.SUCCESS)! | [Operation](https://developer.android.com/reference/kotlin/androidx/work/Operation)`.`[await](https://developer.android.com/reference/kotlin/androidx/work/package-summary#(androidx.work.Operation).await())`()` Awaits an [Operation](https://developer.android.com/reference/kotlin/androidx/work/Operation) without blocking a thread. |

##### For [Data](https://developer.android.com/reference/kotlin/androidx/work/Data)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [Data](https://developer.android.com/reference/kotlin/androidx/work/Data)`.`[hasKeyWithValueOfType](https://developer.android.com/reference/kotlin/androidx/work/package-summary#(androidx.work.Data).hasKeyWithValueOfType(kotlin.String))`(`key:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Returns true if the instance of [Data](https://developer.android.com/reference/kotlin/androidx/work/Data) has a value corresponding to the given [key](https://developer.android.com/reference/kotlin/androidx/work/package-summary#androidx.work$hasKeyWithValueOfType(androidx.work.Data,%20kotlin.String)/key) with an expected type T. |

##### For [Builder](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest.Builder)

|---|---|
| [OneTimeWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest.Builder) | [OneTimeWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest.Builder)`.`[setInputMerger](https://developer.android.com/reference/kotlin/androidx/work/package-summary#(androidx.work.OneTimeWorkRequest.Builder).setInputMerger(kotlin.reflect.KClass))`(`@NonNull` `inputMerger:` `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)<out` `[InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger)>`)` Sets an [InputMerger](https://developer.android.com/reference/kotlin/androidx/work/InputMerger) on the [OneTimeWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest.Builder). |

#### Top-level functions

|---|---|
| [OneTimeWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest.Builder) | [OneTimeWorkRequestBuilder](https://developer.android.com/reference/kotlin/androidx/work/package-summary#OneTimeWorkRequestBuilder())`()` Creates a [OneTimeWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest) with the given [ListenableWorker](https://developer.android.com/reference/kotlin/androidx/work/ListenableWorker). |
| [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) | [PeriodicWorkRequestBuilder](https://developer.android.com/reference/kotlin/androidx/work/package-summary#PeriodicWorkRequestBuilder(kotlin.Long,%20java.util.concurrent.TimeUnit))`(`repeatInterval:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `repeatIntervalTimeUnit:` `[TimeUnit](https://developer.android.com/reference/java/util/concurrent/TimeUnit.html)`)` Creates a [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) with a given [ListenableWorker](https://developer.android.com/reference/kotlin/androidx/work/ListenableWorker). |
| [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) | [PeriodicWorkRequestBuilder](https://developer.android.com/reference/kotlin/androidx/work/package-summary#PeriodicWorkRequestBuilder(java.time.Duration))`(`repeatInterval:` `[Duration](https://developer.android.com/reference/java/time/Duration.html)`)` Creates a [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) with a given [ListenableWorker](https://developer.android.com/reference/kotlin/androidx/work/ListenableWorker). |
| [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) | [PeriodicWorkRequestBuilder](https://developer.android.com/reference/kotlin/androidx/work/package-summary#PeriodicWorkRequestBuilder(kotlin.Long,%20java.util.concurrent.TimeUnit,%20kotlin.Long,%20java.util.concurrent.TimeUnit))`(`repeatInterval:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `repeatIntervalTimeUnit:` `[TimeUnit](https://developer.android.com/reference/java/util/concurrent/TimeUnit.html)`, `flexTimeInterval:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `flexTimeIntervalUnit:` `[TimeUnit](https://developer.android.com/reference/java/util/concurrent/TimeUnit.html)`)` Creates a [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) with a given [ListenableWorker](https://developer.android.com/reference/kotlin/androidx/work/ListenableWorker). |
| [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) | [PeriodicWorkRequestBuilder](https://developer.android.com/reference/kotlin/androidx/work/package-summary#PeriodicWorkRequestBuilder(java.time.Duration,%20java.time.Duration))`(`repeatInterval:` `[Duration](https://developer.android.com/reference/java/time/Duration.html)`, `flexTimeInterval:` `[Duration](https://developer.android.com/reference/java/time/Duration.html)`)` Creates a [PeriodicWorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest.Builder) with a given [ListenableWorker](https://developer.android.com/reference/kotlin/androidx/work/ListenableWorker). |
| [Data](https://developer.android.com/reference/kotlin/androidx/work/Data) | [workDataOf](https://developer.android.com/reference/kotlin/androidx/work/package-summary#workDataOf(kotlin.Pair))`(`vararg` `pairs:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?>`)` Converts a list of pairs to a [Data](https://developer.android.com/reference/kotlin/androidx/work/Data) object. |

## androidx.work.testing

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "androidx.work:work-testing:2.11.0"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("androidx.work:work-testing:2.11.0")
}
```

#### Top-level functions

|---|---|
| [TestListenableWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/TestListenableWorkerBuilder)\<W\> | [TestListenableWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/package-summary#TestListenableWorkerBuilder(android.content.Context,%20androidx.work.Data,%20kotlin.collections.List,%20kotlin.Int,%20kotlin.collections.List,%20kotlin.collections.List))`(`context:` `[Context](https://developer.android.com/reference/android/content/Context.html)`, `inputData:` `[Data](https://developer.android.com/reference/kotlin/androidx/work/Data)` `=` Data.EMPTY, `tags:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` emptyList(), `runAttemptCount:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 1, `triggeredContentUris:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Uri](https://developer.android.com/reference/android/net/Uri.html)>` `=` emptyList(), `triggeredContentAuthorities:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` emptyList())` Builds an instance of [TestListenableWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/TestListenableWorkerBuilder). |
| [TestWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/TestWorkerBuilder)\<W\> | [TestWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/package-summary#TestWorkerBuilder(android.content.Context,%20java.util.concurrent.Executor,%20androidx.work.Data,%20kotlin.collections.List,%20kotlin.Int,%20kotlin.collections.List,%20kotlin.collections.List))`(`context:` `[Context](https://developer.android.com/reference/android/content/Context.html)`, `executor:` `[Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html)`, `inputData:` `[Data](https://developer.android.com/reference/kotlin/androidx/work/Data)` `=` Data.EMPTY, `tags:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` emptyList(), `runAttemptCount:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` `=` 1, `triggeredContentUris:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Uri](https://developer.android.com/reference/android/net/Uri.html)>` `=` emptyList(), `triggeredContentAuthorities:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` emptyList())` Builds an instance of [TestWorkerBuilder](https://developer.android.com/reference/kotlin/androidx/work/testing/TestWorkerBuilder). |

## com.google.android.play.core.ktx

#### Dependency

### Groovy

```groovy
dependencies {
    implementation "com.google.android.play:core-ktx:1.8.1"
}
```

### Kotlin

```kotlin
dependencies {
    implementation("com.google.android.play:core-ktx:1.8.1")
}
```

#### Extension functions

##### For [com.google.android.play.core.appupdate.AppUpdateManager](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html)

|---|---|
| suspend [AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html) | [AppUpdateManager](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html)`.`[requestAppUpdateInfo](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateManager).requestAppUpdateInfo())`()` Requests the update availability for the current app |
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [AppUpdateManager](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html)`.`[requestCompleteUpdate](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateManager).requestCompleteUpdate())`()` For a flexible update flow, triggers the completion of the update. |
| Flow\<[AppUpdateResult](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/AppUpdateResult)\> | [AppUpdateManager](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html)`.`[requestUpdateFlow](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateManager).requestUpdateFlow())`()` Entry point for monitoring the availability and progress of updates. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [AppUpdateManager](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html)`.`[startUpdateFlowForResult](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateManager).startUpdateFlowForResult(com.google.android.play.core.appupdate.AppUpdateInfo,%20kotlin.Int,%20androidx.fragment.app.Fragment,%20kotlin.Int))`(`appUpdateInfo:` `[AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html)`, `appUpdateType:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `fragment:` `Fragment`, `requestCode:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` A version of [AppUpdateManager.startUpdateFlowForResult](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateManager.html#startUpdateFlowForResult(com.google.android.play.core.appupdate.AppUpdateInfo, int, android.app.Activity, int)) that accepts an AndroidX Fragment for returning the result. |

##### For [com.google.android.play.core.splitinstall.SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)

|---|---|
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestCancelInstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestCancelInstall(kotlin.Int))`(`sessionId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Suspend version of [SplitInstallManager.cancelInstall](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#cancelInstall(int)) |
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestDeferredInstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestDeferredInstall(kotlin.collections.List))`(`moduleNames:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>`)` Suspend version of [SplitInstallManager.deferredInstall](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#deferredInstall(java.util.List<java.lang.String>)) |
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestDeferredLanguageInstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestDeferredLanguageInstall(kotlin.collections.List))`(`languages:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Locale](https://developer.android.com/reference/java/util/Locale.html)>`)` Suspend version of [SplitInstallManager.deferredLanguageInstall](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#deferredLanguageInstall(java.util.List<java.util.Locale>)) |
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestDeferredLanguageUninstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestDeferredLanguageUninstall(kotlin.collections.List))`(`languages:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Locale](https://developer.android.com/reference/java/util/Locale.html)>`)` Suspend version of [SplitInstallManager.deferredLanguageUninstall](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#deferredLanguageUninstall(java.util.List<java.util.Locale>)) |
| suspend [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestDeferredUninstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestDeferredUninstall(kotlin.collections.List))`(`moduleNames:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>`)` Suspend version of [SplitInstallManager.deferredUninstall](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#deferredUninstall(java.util.List<java.lang.String>)) |
| suspend [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestInstall](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestInstall(kotlin.collections.List,%20kotlin.collections.List))`(`modules:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` listOf(), `languages:` `[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>` `=` listOf())` Initiates installation of the requested modules/languages. |
| Flow\<[SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)\> | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestProgressFlow](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestProgressFlow())`()` Creates and returns a buffered [Flow](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx) that will deliver all progress events for ongoing split installations. |
| suspend [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestSessionState](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestSessionState(kotlin.Int))`(`sessionId:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Suspend version of [SplitInstallManager.getSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#getSessionState(int)) |
| suspend [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)\<[SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)\> | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[requestSessionStates](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).requestSessionStates())`()` Suspend version of [SplitInstallManager.getSessionStates](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#getSessionStates()) |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SplitInstallManager](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html)`.`[startConfirmationDialogForResult](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallManager).startConfirmationDialogForResult(com.google.android.play.core.splitinstall.SplitInstallSessionState,%20androidx.fragment.app.Fragment,%20kotlin.Int))`(`sessionState:` `[SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`, `fragment:` `Fragment`, `requestCode:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` A version of [SplitInstallManager.startConfirmationDialogForResult](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallManager.html#startConfirmationDialogForResult(com.google.android.play.core.splitinstall.SplitInstallSessionState, android.app.Activity, int)) that accepts an AndroidX Fragment for returning the result. |

#### Extension properties

##### For [com.google.android.play.core.appupdate.AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html)

|---|---|
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html)`.`[installStatus](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateInfo).installStatus:kotlin.Int)`()` Returns the progress status of the update. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html)`.`[isFlexibleUpdateAllowed](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateInfo).isFlexibleUpdateAllowed:kotlin.Boolean)`()` Returns `true` if flexible update is allowed. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [AppUpdateInfo](https://developer.android.com/reference/com/google/android/play/core/appupdate/AppUpdateInfo.html)`.`[isImmediateUpdateAllowed](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.appupdate.AppUpdateInfo).isImmediateUpdateAllowed:kotlin.Boolean)`()` Returns `true` if immediate update is allowed. |

##### For [com.google.android.play.core.install.InstallState](https://developer.android.com/reference/com/google/android/play/core/install/InstallState.html)

|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [InstallState](https://developer.android.com/reference/com/google/android/play/core/install/InstallState.html)`.`[hasTerminalStatus](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.install.InstallState).hasTerminalStatus:kotlin.Boolean)`()` This signifies that this is a terminal status (there will be no more updates) and should be handled accordingly (success, cancellation or failure). |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [InstallState](https://developer.android.com/reference/com/google/android/play/core/install/InstallState.html)`.`[installErrorCode](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.install.InstallState).installErrorCode:kotlin.Int)`()` Returns the error code for an install, or {@link InstallErrorCode#NO_ERROR}. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [InstallState](https://developer.android.com/reference/com/google/android/play/core/install/InstallState.html)`.`[installStatus](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.install.InstallState).installStatus:kotlin.Int)`()` Returns the status of an install. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [InstallState](https://developer.android.com/reference/com/google/android/play/core/install/InstallState.html)`.`[packageName](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.install.InstallState).packageName:kotlin.String)`()` Returns the package name for the app being installed. |

##### For [com.google.android.play.core.splitinstall.SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)

|---|---|
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[bytesDownloaded](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).bytesDownloaded:kotlin.Long)`()` The bytes downloaded by this update. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[errorCode](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).errorCode:kotlin.Int)`()` The error code of this update. |
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[hasTerminalStatus](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).hasTerminalStatus:kotlin.Boolean)`()` Signifies that this update is terminal, meaning there will be no more updates for this session. |
| [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[languages](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).languages:kotlin.collections.List)`()` The languages included by this update. |
| [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[moduleNames](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).moduleNames:kotlin.collections.List)`()` The modules included by this update. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[sessionId](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).sessionId:kotlin.Int)`()` The session id of this update. |
| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[status](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).status:kotlin.Int)`()` The status code of this update. |
| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html)`.`[totalBytesToDownload](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#(com.google.android.play.core.splitinstall.SplitInstallSessionState).totalBytesToDownload:kotlin.Long)`()` The total bytes to download by this update. |

#### Top-level functions

|---|---|
| [SplitInstallStateUpdatedListener](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallStateUpdatedListener.html) | [SplitInstallStateUpdatedListener](https://developer.android.com/reference/kotlin/com/google/android/play/core/ktx/package-summary#SplitInstallStateUpdatedListener(kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1,%20kotlin.Function1))`(`onRequiresConfirmation:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`, `onInstalled:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`, `onFailed:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onPending:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onDownloaded:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onDownloading:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onInstalling:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onCanceling:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onCanceled:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onNonTerminalStatus:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {}, `onTerminalStatus:` `([SplitInstallSessionState](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallSessionState.html))` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` `=` {})` A convenience function for creating a [SplitInstallStateUpdatedListener](https://developer.android.com/reference/com/google/android/play/core/splitinstall/SplitInstallStateUpdatedListener.html). |