diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4fc2aec2..a4c756d4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -33,6 +33,16 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt b/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt new file mode 100644 index 00000000..9ae517fa --- /dev/null +++ b/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt @@ -0,0 +1,12 @@ +package com.bnyro.wallpaper.receivers + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import com.bnyro.wallpaper.util.WorkerHelper + +class BootReceiver: BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + WorkerHelper.enqueue(context, true) + } +} diff --git a/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt b/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt index 3f1a4666..a8ca0288 100644 --- a/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt +++ b/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt @@ -12,13 +12,15 @@ import java.util.concurrent.TimeUnit object WorkerHelper { private const val JOB_NAME = "WallpaperChanger" - fun enqueue(context: Context, verbose: Boolean = false) { + fun enqueue(context: Context, forceUpdate: Boolean = false) { if (!Preferences.getBoolean(Preferences.wallpaperChangerKey, false)) { cancel(context) return } - val networkType = if (Preferences.getChangerSource() == WallpaperSource.LOCAL) NetworkType.NOT_REQUIRED else NetworkType.CONNECTED + val networkType = if ( + Preferences.getChangerSource() == WallpaperSource.LOCAL + ) NetworkType.NOT_REQUIRED else NetworkType.CONNECTED val job = PeriodicWorkRequestBuilder( Preferences.getString( @@ -32,7 +34,7 @@ object WorkerHelper { .build() ).build() - val policy = if (verbose) ExistingPeriodicWorkPolicy.REPLACE else ExistingPeriodicWorkPolicy.KEEP + val policy = if (forceUpdate) ExistingPeriodicWorkPolicy.UPDATE else ExistingPeriodicWorkPolicy.KEEP WorkManager.getInstance(context) .enqueueUniquePeriodicWork(JOB_NAME, policy, job) }