Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/schaal/ocreader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt')
-rw-r--r--app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt b/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt
index 0039482b..8380fb41 100644
--- a/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt
+++ b/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt
@@ -1,10 +1,9 @@
package email.schaal.ocreader.service
import android.content.Context
+import androidx.lifecycle.LiveData
import androidx.preference.PreferenceManager
-import androidx.work.CoroutineWorker
-import androidx.work.WorkerParameters
-import androidx.work.workDataOf
+import androidx.work.*
import email.schaal.ocreader.Preferences
import email.schaal.ocreader.api.API
import email.schaal.ocreader.util.LoginError
@@ -13,6 +12,15 @@ class SyncWorker(context: Context, workerParams: WorkerParameters) : CoroutineWo
companion object {
const val KEY_SYNC_TYPE = "KEY_SYNC_TYPE"
const val KEY_EXCEPTION = "KEY_EXCEPTION"
+
+ fun sync(context: Context, syncType: SyncType): LiveData<WorkInfo> {
+ val workManager = WorkManager.getInstance(context)
+ val syncWork = OneTimeWorkRequestBuilder<SyncWorker>()
+ .setInputData(workDataOf(KEY_SYNC_TYPE to syncType.action))
+ .build()
+ workManager.enqueue(syncWork)
+ return workManager.getWorkInfoByIdLiveData(syncWork.id)
+ }
}
override suspend fun doWork(): Result {