# CombinedLoadStates

Artifact: [androidx.paging:paging-common](https://developer.android.com/jetpack/androidx/releases/paging) [View Source](https://cs.android.com/search?q=file:androidx/paging/CombinedLoadStates.kt+class:androidx.paging.CombinedLoadStates) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOSJavaScript
- Cmn

  ```
  class CombinedLoadStates
  ```

*** ** * ** ***

Collection of pagination `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`s for both a `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource`, and `https://developer.android.com/reference/kotlin/androidx/paging/RemoteMediator`.

Note: The REFRESH`https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` always has `https://developer.android.com/reference/kotlin/androidx/paging/LoadState#endOfPaginationReached()` set to `false`.

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#CombinedLoadStates(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)( refresh: https://developer.android.com/reference/kotlin/androidx/paging/LoadState, prepend: https://developer.android.com/reference/kotlin/androidx/paging/LoadState, append: https://developer.android.com/reference/kotlin/androidx/paging/LoadState, source: https://developer.android.com/reference/kotlin/androidx/paging/LoadStates, mediator: https://developer.android.com/reference/kotlin/androidx/paging/LoadStates? )` | Cmn |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#hashCode()()` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#toString()()` | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#append()` Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#hasError()` Returns true if either `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#source()` or `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#mediator()` has a `https://developer.android.com/reference/kotlin/androidx/paging/LoadType` that is in `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Error` | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#isIdle()` Returns true when `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#source()` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#mediator()` is in `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` for all `https://developer.android.com/reference/kotlin/androidx/paging/LoadType` | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates?` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#mediator()` `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` corresponding to loads from a `https://developer.android.com/reference/kotlin/androidx/paging/RemoteMediator`, or `null` if `https://developer.android.com/reference/kotlin/androidx/paging/RemoteMediator` not present. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#prepend()` Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#refresh()` Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` | `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#source()` `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` corresponding to loads from a `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource`. | Cmn |

## Public constructors

### CombinedLoadStates

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
CombinedLoadStates(
    refresh: LoadState,
    prepend: LoadState,
    append: LoadState,
    source: LoadStates,
    mediator: LoadStates? = null
)
```

## Public functions

### equals

Cmn

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

Cmn

```
open fun hashCode(): Int
```

### toString

Cmn

```
open fun toString(): String
```

## Public properties

### append

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val append: LoadState
```

Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied.

For use cases that require reacting to `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` of `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` specifically, e.g., showing cached data when network loads via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` fail, `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` exposed via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` should be used directly.

### hasError

Cmn Added in [3.3.0](https://developer.android.com/jetpack/androidx/releases/paging#3.3.0)

```
val hasError: Boolean
```

Returns true if either `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#source()` or `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#mediator()` has a `https://developer.android.com/reference/kotlin/androidx/paging/LoadType` that is in `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Error`

### isIdle

Cmn Added in [3.3.0](https://developer.android.com/jetpack/androidx/releases/paging#3.3.0)

```
val isIdle: Boolean
```

Returns true when `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#source()` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#mediator()` is in `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` for all `https://developer.android.com/reference/kotlin/androidx/paging/LoadType`

### mediator

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val mediator: LoadStates?
```

`https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` corresponding to loads from a `https://developer.android.com/reference/kotlin/androidx/paging/RemoteMediator`, or `null` if `https://developer.android.com/reference/kotlin/androidx/paging/RemoteMediator` not present.

### prepend

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val prepend: LoadState
```

Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied.

For use cases that require reacting to `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` of `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` specifically, e.g., showing cached data when network loads via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` fail, `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` exposed via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` should be used directly.

### refresh

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val refresh: LoadState
```

Convenience for combined behavior of `https://developer.android.com/reference/kotlin/androidx/paging/LoadType#REFRESH` `https://developer.android.com/reference/kotlin/androidx/paging/LoadState`, which generally defers to `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` if it exists, but if previously was `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.Loading`, awaits for both `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` to become `https://developer.android.com/reference/kotlin/androidx/paging/LoadState.NotLoading` to ensure the remote load was applied.

For use cases that require reacting to `https://developer.android.com/reference/kotlin/androidx/paging/LoadState` of `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` specifically, e.g., showing cached data when network loads via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` fail, `https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` exposed via `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` and `https://developer.android.com/reference/kotlin/androidx/paging/CombinedLoadStates#(androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadState,androidx.paging.LoadStates,androidx.paging.LoadStates)` should be used directly.

### source

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val source: LoadStates
```

`https://developer.android.com/reference/kotlin/androidx/paging/LoadStates` corresponding to loads from a `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource`.