# dropUnlessResumed

Common/All

## Functions summary

|---|---|---|
| `() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/dropUnlessResumed.composable#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)(lifecycleOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner, block: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Returns a new decorated function that will invoke the given `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)` if the `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)`'s lifecycle state is at least `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#RESUMED`. | Cmn |

## Functions

### dropUnlessResumed

Cmn Artifact: [androidx.lifecycle:lifecycle-runtime-compose](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/compose/DropUnlessLifecycle.kt+function:dropUnlessResumed) Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)

```
@Composable
fun dropUnlessResumed(
    lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current,
    block: () -> Unit
): () -> Unit
```

Returns a new decorated function that will invoke the given `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)` if the `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)`'s lifecycle state is at least `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#RESUMED`. Otherwise, `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)` is not invoked.

For Navigation users, it's recommended to safeguard navigate methods when using them while a composable is in transition as a result of navigation.

```kotlin
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.lifecycle.compose.dropUnlessResumed

Button(
    onClick =
        dropUnlessResumed {
            // Run on clicks only when the lifecycle is at least RESUMED.
            // Example: navController.navigate("next_screen")
        }
) {
    Text(text = "Navigate to next screen")
}
```

| Parameters |
|---|---|
| `lifecycleOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner = LocalLifecycleOwner.current` | The `https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner` whose lifecycle will be observed. Defaults to the current `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#LocalLifecycleOwner()`. |
| `block: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The callback to be executed when the observed lifecycle state is at least `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#RESUMED`. |

| Returns |
|---|---|
| `() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | A decorated function that invoke `https://developer.android.com/reference/kotlin/androidx/lifecycle/compose/package-summary#dropUnlessResumed(androidx.lifecycle.LifecycleOwner,kotlin.Function0)` only if the lifecycle state is at least `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#RESUMED`. |