in app/src/main/java/co/elastic/apm/opbeans/modules/customers/data/pager/CustomerPagingSource.kt [30:42]
override suspend fun load(params: LoadParams<Int>): LoadResult<Int, Customer> {
val offset = params.key ?: 0
val amount = params.loadSize
val prevKey = if (offset == 0) null else max(0, offset - amount)
return try {
val customers = customerRepository.getSetOfCustomers(offset, amount)
val nextKey = if (customers.size == amount) offset + amount else null
LoadResult.Page(customers, prevKey, nextKey)
} catch (e: Throwable) {
LoadResult.Error(e)
}
}