Skip to content

Instantly share code, notes, and snippets.

View magdamiu's full-sized avatar

Magda Miu magdamiu

View GitHub Profile
@magdamiu
magdamiu / build.gradle
Created July 4, 2019 18:19
Add google() repository in order to use WorkManager
allprojects {
repositories {
google()
jcenter()
}
}
@magdamiu
magdamiu / WorkManagerExample.kt
Created July 4, 2019 18:57
Apply Constraints on the task
val constraints = Constraints.Builder()
.setRequiresCharging(true)
.setRequiresStorageNotLow(true)
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
val syncOnlyOnce = OneTimeWorkRequestBuilder<SyncDataWorker>()
.setConstraints(constraints)
.build()
@magdamiu
magdamiu / WorkManagerExample.kt
Created July 4, 2019 19:00
Input and output data for a task
val userIdData = Data.Builder()
.putInt(DATA_USER_ID, userId)
.build()
val syncOnlyOnce = OneTimeWorkRequestBuilder<SyncWorker>()
.setInputData(userIdData)
.build()
val userIdInput = inputData.getInt(Constants.DATA_USER_ID, 0)
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:06
Tagging work
val syncOnlyOnce = OneTimeWorkRequestBuilder<SyncWorker>()
.setInputData(userIdData)
.addTag(Constants.WORKER_SYNC)
.addTag(Constants.ONE_SYNC)
.build()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()
@magdamiu
magdamiu / WorkManagerExample.kt
Created September 15, 2019 16:10
Unique work chain
WorkManager.getInstance()
.beginUniqueWork(Constants.UNIQUE_NAME, ExistingWorkPolicy.REPLACE, task1)
.then(task2)
.then(task3)
.enqueue()