Skip to content

Instantly share code, notes, and snippets.

@skydoves
Created January 4, 2026 08:57
Show Gist options
  • Select an option

  • Save skydoves/9cc261b5782f422ee0c6c23ca72628c0 to your computer and use it in GitHub Desktop.

Select an option

Save skydoves/9cc261b5782f422ee0c6c23ca72628c0 to your computer and use it in GitHub Desktop.
Landscapist: State Change Callbacks
LandscapistImage(
model = imageUrl,
onImageStateChanged = { state ->
when (state) {
is LandscapistImageState.Loading -> {
analytics.trackImageLoadStart(imageUrl)
}
is LandscapistImageState.Success -> {
analytics.trackImageLoadComplete(
url = imageUrl,
source = state.dataSource.name,
duration = state.loadDuration
)
}
is LandscapistImageState.Failure -> {
analytics.trackImageLoadError(
url = imageUrl,
error = state.reason?.message
)
}
}
}
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment