Slide 92
Slide 92 text
WorkManager in Plaid
class UpvoteStoryWorker(appContext: Context,
workerParams: WorkerParameters,
private val service: DesignerNewsService)
: CoroutineWorker(appContext, workerParams) {
override suspend fun doWork(): Result {
return try {
val storyId = inputData.getLong(KEY_STORY_ID, 0)
val userId = inputData.getLong(KEY_USER_ID, 0)
val request = UpvoteStoryRequest(storyId, userId)
val response = service.upvoteStoryV2(request).await()
if (response.isSuccessful) {
Result.success()
} else {
Result.failure()
}
} catch (e: Exception) {
Result.failure()
}
}
}