Created
December 21, 2018 12:12
-
-
Save enginebai/a6919998cc215548a8ae04d5fff8e619 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class NewMessageCreationWorker(var context: Context, params: WorkerParameters) : Worker(context, params) { | |
private newMessageDb: newMessageDb = ... // from dependency injection | |
override fun doWork(): Result { | |
var jobId = inputData.getString(NewMessage.KEY_JOB_ID)?.run { this } ?: "" | |
var newMessage = newMessageDb.find(jobId) | |
return newMessage?.run { | |
val postMesageResponse = postMessage(this) | |
if (response.isSuccessful) { | |
startUploadMediaFile(this, response) | |
Result.SUCCESS | |
} else { | |
Result.RETRY | |
} | |
} ?: kotlin.run { Result.FAILURE } | |
} | |
private fun postMessage(newMessage: NewMessage): Response<Void> { | |
... // send POST /message request and return response | |
} | |
private fun startUploadMediaFile(newMessage: NewMessage, response: Response<Void>) { | |
val uploadUrl: String = ... // parse media upload link from response | |
FileUploader.submitMediaUploadWork(newMessage, uploadUrl) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment