onKeyPlaysRefreshNeeded
Notifies the client app to make a new load of the key plays data.
Overview
The SDK calls this method when it needs fresh key plays data. This can occur when the user manually requests a refresh, when the SDK detects stale data, or when event data changes. Your app should reload key plays data and emit the new values through the keyPlaysData() flow.
Syntax
abstract fun onKeyPlaysRefreshNeeded()
Example
override fun onKeyPlaysRefreshNeeded() {
// Trigger a reload of key plays data
lifecycleScope.launch {
loadKeyPlays()
}
}
private suspend fun loadKeyPlays() {
// Emit loading state
_keyPlaysState.value = MaestroLoadableResult.Loading
try {
// Fetch fresh data from API
val response = apiClient.fetchKeyPlays(forceRefresh = true)
// Emit success state
_keyPlaysState.value = MaestroLoadableResult.Success(response)
} catch (e: Exception) {
// Emit error state
_keyPlaysState.value = MaestroLoadableResult.Error(e)
}
}
Notes
- This method is called when the SDK needs fresh data
- Reload data from your source (API, cache, etc.)
- Emit new values through the
keyPlaysData()StateFlow - Handle errors gracefully by emitting an error state
- Consider implementing cache invalidation for force refresh
Related Methods
- keyPlaysData() - Provides the key plays data flow