package de.wechselbild.wallpaper import android.content.Context import androidx.work.ExistingWorkPolicy import androidx.work.Constraints import androidx.work.OneTimeWorkRequestBuilder import androidx.work.WorkManager import androidx.work.Worker import androidx.work.WorkerParameters class WallpaperRotationWorker(context: Context, parameters: WorkerParameters) : Worker(context, parameters) { override fun doWork(): Result { if (!WallpaperStore.timedEnabled(applicationContext)) return Result.success() WallpaperStore.applyNext(applicationContext, automatic = true) return Result.success() } companion object { private const val WORK_NAME = "wallpaper-rotation" fun enqueue(context: Context) { WorkManager.getInstance(context).enqueueUniqueWork( WORK_NAME, ExistingWorkPolicy.KEEP, OneTimeWorkRequestBuilder() .setConstraints(Constraints.Builder().setRequiresBatteryNotLow(true).build()) .build(), ) } } }