-
Notifications
You must be signed in to change notification settings - Fork 409
/
WorkManagerViewModel.kt
26 lines (21 loc) 路 942 Bytes
/
WorkManagerViewModel.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase15
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.work.Constraints
import androidx.work.NetworkType
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkManager
import java.util.concurrent.TimeUnit
class WorkManagerViewModel(private val context: Context) : ViewModel() {
fun performAnalyticsRequest() {
val constraints =
Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
val request = OneTimeWorkRequestBuilder<AnalyticsWorker>()
.setConstraints(constraints)
// Set a delay to not slow down other UI related requests that should run fast
.setInitialDelay(10, TimeUnit.SECONDS)
.addTag("analyitcs-work-request")
.build()
WorkManager.getInstance(context).enqueue(request)
}
}